lantiq: DGN3500: make switch LEDs blink on activity
authorKevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Thu, 20 Apr 2017 18:14:57 +0000 (19:14 +0100)
committerMathias Kresin <dev@kresin.me>
Tue, 25 Apr 2017 17:29:59 +0000 (19:29 +0200)
Make switch port LEDs blink on activity as they do with stock firmware.

The u-boot loader sets suitable values in the LED control register that
unfortunately get blown away by the linux switch driver init.  Restore
that value by using driver 'initvals'.  0x0431 is the led control
register, the value 0x0960. Each nybble represents each LED's mode
(LED3,2,1,0) in this case OFF, 1000LINK+Activity, 100/10LINK+Activity,
OFF.  Only LED1&2 are physically present.

Enabling the blinkenlights exposed the fact that an RRCP packet was
being emitted by the switch on all ports every second.  Further initvals
copied from stock firmware's u-boot driver disabled this 'feature'.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
target/linux/lantiq/dts/DGN3500.dtsi

index 890b49f..d58d717 100644 (file)
                compatible = "realtek,rtl8366rb";
                gpio-sda = <&gpio 35 GPIO_ACTIVE_HIGH>;
                gpio-sck = <&gpio 37 GPIO_ACTIVE_HIGH>;
+
+               realtek,initvals = <
+                       0x0000 0x0830
+                       0x0400 0x8130
+                       0x000A 0x83ED
+                       0x0F51 0x0017
+                       0x02F5 0x0048
+                       0x02FA 0xFFDF
+                       0x02FB 0xFFE0
+                       0x0450 0x0000
+                       0x0401 0x0000
+                       0x0431 0x0960
+               >;
        };
 
+
+
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;