Имеется устройства на основе Beaglebone Black (BBB), на линию i2c0 установлены часы DS1338. В конфигурации ядра опция "Dallas/Maxim DS1307/37/38/39/40, ST M41T00" активирована.
В файле am335x-boneblack.dts добавил устройство DS1338 :
CODE
am33xx_pinmux: pinmux@44e10800 {
pinctrl-names = "default";
pinctrl-0 = <&userled_pins>;
.....
i2c0_pins: pinmux_i2c0_pins {
pinctrl-single,pins = <
0x188 0x70 /* i2c0_sda, SLEWCTRL_SLOW | INPUT_PULLUP | MODE0 */
0x18c 0x70 /* i2c0_scl, SLEWCTRL_SLOW | INPUT_PULLUP | MODE0 */
>;
};
....
};
&i2c0 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
tps: tps@24 {
reg = <0x24>;
};
baseboard_eeprom: baseboard_eeprom@50 {
compatible = "at,24c256";
reg = <0x50>;
};
/* добавил я: */
ds1338: rtc@68 {
compatible = "mxim,ds1338,ds1339";
reg = <0x68>;
};
};
В сопутствующем файле am33xx.dtsi в разделе ocp {} имеется:
CODE
i2c0: i2c@44e0b000 {
compatible = "ti,omap4-i2c";
#address-cells = <1>;
#size-cells = <0>;
ti,hwmods = "i2c1"; /* TODO: Fix hwmod */
reg = <0x44e0b000 0x1000>;
interrupts = <70>;
status = "disabled";
};
В результате часы не работают, в системе не добавляется новое устройство /dev/rtc1 (rtc0 -- есть, это чиповые часы).
Что еще нужно сделать, для того, что бы использовать часы реального времени DS1338 в Linux?
На шине i2c еще висит TPS65217. Он вроде как работает. Осциллограф на линии сигналы видит.