How to set i2c6 SCL 400kHz?

Hi all,

I use I2C6(In Ubuntu, its bus-num is 5 (i2c-5), but it is named I2C6 on Tegra’s document) and set the SCL 400kHz, but it output 287.4kHz. In TRM when set SCL 400kHz it output 392kHz.
I dump the clock tree as blow;

     pll_p                                 on     20  x10.6..  408000000 
        tsec                             $ off    0   1.0      408000000 
           vdd_core                                           0 mV
          *tsec_skip                     $ on     0   1.0      408000000 
        soc_therm                          on     1   8.0      51000000  
        cl_dvfs_soc                        on     3   8.0      51000000  
        cl_dvfs_ref                        on     2   8.0      51000000  
        extern3                            off    0   10.0     40800000  
          *clk_out_3                       off    0   1.0      40800000  
           mclk3                           off    0            40800000  
        extern2                            off    0   10.0     40800000  
          *clk_out_2                       off    0   1.0      40800000  
        uart_mipi_cal                      off    0   6.0      68000000  
           cam-mipi-cal                    off    0            68000000  
        cile                               off    0   4.0      102000000 
        cilcd                              on     1   4.0      102000000 
        cilab                              off    0   4.0      102000000 
        dpaux1                             off    0   17.0     24000000  
        dpaux                              off    0   17.0     24000000  
       *vi_sensor2                         off    0   3.0      136000000 
           mclk2                           off    0            136000000 
       *vi_sensor                          off    0   3.0      136000000 
           mclk                            off    0            136000000 
        uartd                              off    0   1.0      408000000 
        uartc                              off    0   1.0      408000000 
        uartb                              off    0   1.0      408000000 
        uarta                              on     2   1.0      408000000 
        vii2c                              off    0   5.0      81600000  
        i2c6                               on     1   5.0      81600000  

in dts file the i2c6 set as :

i2c@7000d100 {
	#address-cells = <0x1>;
	#size-cells = <0x0>;
	compatible = "nvidia,tegra210-i2c";
	reg = <0x0 0x7000d100 0x0 0x100>;
	interrupts = <0x0 0x3f 0x4>;
	iommus = <0x46 0xe>;
	status = "okay";
	clock-frequency = <0x61a80>;
};

I dump the I2C_I2C_INTERFACE_TIMING_0_0 register the value is 0x00000204, and I2C_I2C_CLK_DIVISOR_REGISTER_0 register value is 0x00190002.
How can I set the i2c6 SCL out put 400kHz? Thanks

@Keeny
From the TRM the i2c5 clock source is 408

SCL = CLK_SOURCE.I2C / ((TLOW+THIGH+2)* (I2C_CLK_DIVISOR_STD_FAST_MODE+1)I2C FREQUENCY DIVISOR)
392kHz = 408MHz / 8
26*5

Did you probe the clock to check?

Hi kenny_cz,

Have you managed to get it working?
Any further information can be shared?

Thanks