led-running = &led_sys;
led-upgrade = &led_sys;
label-mac-device = ðernet0;
+ i2c0 = &i2c_scl23_sda22;
+ i2c1 = &i2c_sfp0;
+ i2c2 = &i2c_sfp1;
};
chosen {
(RTL93XX_LED_SET_NONE)>;
};
- /*
- * TODO: I2C bus to the on-board HS104 PSE controller (PoE).
- * Defined here for documentation/future use; currently unused
- * because PSE/PoE support for this board is not yet wired up.
- */
+ /* I2C bus to the on-board HS104 PSE controller (PoE) and STC8 LED MCU. */
i2c_scl23_sda22: i2c-scl23-sda22 {
compatible = "i2c-gpio";
#address-cells = <1>;
scl-gpios = <&gpio0 23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
sda-gpios = <&gpio0 22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ clock-frequency = <100000>;
+
+ pse0: ethernet-pse@d {
+ compatible = "hasivo,hs104";
+ reg = <0x0d>;
+ poll-interval-ms = <500>;
+ status = "okay";
+
+ pse-pis {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pse0_pi0: pse-pi@0 {
+ reg = <0>;
+ #pse-cells = <0>;
+ };
+ pse0_pi1: pse-pi@1 {
+ reg = <1>;
+ #pse-cells = <0>;
+ };
+ pse0_pi2: pse-pi@2 {
+ reg = <2>;
+ #pse-cells = <0>;
+ };
+ pse0_pi3: pse-pi@3 {
+ reg = <3>;
+ #pse-cells = <0>;
+ };
+ };
+ };
+
+ stc8: stc8@4d {
+ compatible = "hasivo,stc8-mfd", "syscon";
+ reg = <0x4d>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ hasivo,execute-bit = <0x40>;
+ hasivo,execute-bit-registers = <0x01 0x02>;
+ status = "okay";
+
+ led_lan1_poe: led@1,0 {
+ compatible = "register-bit-led";
+ reg = <0x01 0x00>;
+ mask = <0x08>;
+ color = <LED_COLOR_ID_ORANGE>;
+ function = "poe";
+ function-enumerator = <1>;
+ linux,default-trigger = "pse-0-000d:port0:delivering";
+ default-state = "off";
+ };
+
+ led_lan2_poe: led@1,1 {
+ compatible = "register-bit-led";
+ reg = <0x01 0x01>;
+ mask = <0x04>;
+ color = <LED_COLOR_ID_ORANGE>;
+ function = "poe";
+ function-enumerator = <2>;
+ linux,default-trigger = "pse-0-000d:port1:delivering";
+ default-state = "off";
+ };
+
+ led_lan3_poe: led@1,2 {
+ compatible = "register-bit-led";
+ reg = <0x01 0x02>;
+ mask = <0x02>;
+ color = <LED_COLOR_ID_ORANGE>;
+ function = "poe";
+ function-enumerator = <3>;
+ linux,default-trigger = "pse-0-000d:port2:delivering";
+ default-state = "off";
+ };
+
+ led_lan4_poe: led@1,3 {
+ compatible = "register-bit-led";
+ reg = <0x01 0x03>;
+ mask = <0x01>;
+ color = <LED_COLOR_ID_ORANGE>;
+ function = "poe";
+ function-enumerator = <4>;
+ linux,default-trigger = "pse-0-000d:port3:delivering";
+ default-state = "off";
+ };
+ };
};
i2c_sfp0: i2c-sfp0 {
&mdio_bus0 {
/* External RTL8221B PHYs */
- PHY_C45(0, 1)
- PHY_C45(8, 2)
- PHY_C45(16, 3)
- PHY_C45(20, 4)
+ PHY_C45_PSE(0, 1, pse0_pi0)
+ PHY_C45_PSE(8, 2, pse0_pi1)
+ PHY_C45_PSE(16, 3, pse0_pi2)
+ PHY_C45_PSE(20, 4, pse0_pi3)
};
&mdio_bus1 {