19 Feb, 2019

1 commit


18 Feb, 2019

1 commit

  • Add a new private flag I2C_M_SRTM_STOP(0x0200) to indicate if STOP
    is needed for current message.
    When reading/writing registers for slave devices, generally we have two messages,
    the first message writes the register address, second message reads/writes the value.
    Only the last message needs STOP. But previously M4 sends STOP for each message,
    this causes some slave devices treat it as end of transfer. Then, second message won't
    have any effect. To solve the problem, we introduce this private STOP flag, so M4 can
    STOP according to the flag.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit e8f70409620da897917dfa29dbe65be82c9129fd)

    Ye Li
     

12 Feb, 2019

1 commit

  • Add virtual i2c driver which replies on the VService to send SRTM i2c
    messages with M4.
    For each output on i2c mux, M4 side abstracts a i2c bus with special bus
    id. The virtual i2c mux follows basic mux design, but uses dedicated flag
    to pass the abstract bus id for the mux output to virtual i2c driver.

    Virtual i2c and virtual i2c mux will bind nodes with compatible string
    "fsl,imx-virt-i2c" and "fsl,imx-virt-i2c-mux".

    To support binding local i2c driver or virtual i2c driver at runtime. We
    provides a override function for the driver bind. ARCH level is responsible
    to implement it.

    Signed-off-by: Ye Li
    (cherry picked from commit 25095e9f0d9816c22da97945b66439dfa277aa2b)

    Ye Li