2017-08-08 89 views
0

我使用buildroot編譯了一個映像。我想使用位於P9.19和P9.20(SCL和SDA)中的I2C2。我已將BBB I2C2連接到kw40z - 恩智浦控制器。我添加了拉到SDA和SCL,共享接地並將SCL和SDA彼此連接。我確實看到/ dev/i2c-2如何使用buidroot在Beaglebone黑色I2C2中工作

I2C2不起作用。我試過i2cdetect -r 2,也是一個C程序,但是我正在超時。

我的問題是:

  1. 不I2C2啓用還是應該從here添加I2C2設備樹覆蓋:

  2. 如果是這樣,我編譯上面DTS片段插入dtbo(使用dtc編譯器) 如何告訴beagle骨中的buildroot加載該dtbo?

我讀了buildroot,甚至Debian都不支持斗篷管理器。 所以它應該是靜態的。

有沒有人設法與I2C2一起工作而沒有重疊?或者是必須的? 謝謝!

回答

0

問題求解I2C1和I2C2 我增加了兩個片段插入骨common.dtsi 兩者I2C1和I2C2(這是例如I2C1)銷複用器

&am33xx_pinmux { 
i2c1_pins: pinmux_i2c1_pins { 
     pinctrl-single,pins = <  
     0x158 (SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE2) /* i2c1_sda */ 
     0x15c (SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE2) /*i2c1_scl */>; 
    }; 

而下 節點本身在am335x-boneblack.dts

&i2c1 { 
    status = "okay"; 
    pinctrl-names = "default"; 
    pinctrl-0 = <&i2c1_pins>; 
    /* this is the configuration part */ 
    clock-frequency = <100000>; 
    #address-cells = <1>; 
    #size-cells = <0>; 
}; 

此外,當它是在內部當然不需要外部上拉。 這些引腳是17-scl和18 sda