AnsweredAssumed Answered

Implement SC18IM700 i2c controller function on platform MSM8996 (kernel 3.18.20) ?

Question asked by kenio zhang on Oct 18, 2016
Latest reply on Oct 26, 2016 by kenio zhang

Hi everyone:

I'm using the sc18im700 (uart to i2c master) function on the platform msm8996. Now i have some questions during the  implement process.

Q1:  I found an i2c algorith  support for nxp sc18im700(https://lkml.org/lkml/2014/6/9/571).  So i need an  i2c controller code, Did someone have some experience about using the sc18im700 chip on Linux kernel?

Q2:  when i modify the device tree files on kernel , the sc18im700 should be described as an i2c controller or an uart device? then  how to deal with the parameter( i2c address irq clock and so on )?

 eg: 

  i2c_uart12: uart-nxp-i2c@75b4000 {
  compatible = "nxp,uart-nxp-i2c";
  #address-cells = <1>;
  #size-cells = <0>;
  reg-names = "qup_phys_addr";
  reg = <0x75b4000 0x1000>;
  interrupt-names = "qup_irq";
  interrupts = <0 118 0>;
 
  clock-names = "iface_clk", "core_clk";
  clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
    <&clock_gcc clk_gcc_blsp2_qup6_i2c_apps_clk>;
  pinctrl-names = "i2c_uart12_active", "i2c_uart12_sleep";
  pinctrl-0 = <&i2c_uart12_active>;
  pinctrl-1 = <&i2c_uart12_sleep>;
 };

Outcomes