mips: luton: DT: Enable use of serial gpio
authorLars Povlsen <lars.povlsen@microsemi.com>
Wed, 2 Jan 2019 08:52:23 +0000 (09:52 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Wed, 16 Jan 2019 12:56:43 +0000 (13:56 +0100)
This enables the use of the MSCC serial GPIO driver, and add gpio-leds
nodes to the 'luton' pcb090 and pcb091 DT.

Signed-off-by: Lars Povlsen <lars.povlsen@microsemi.com>
arch/mips/dts/luton_pcb090.dts
arch/mips/dts/luton_pcb091.dts
arch/mips/dts/mscc,luton.dtsi

index a3f8926..951d8da 100644 (file)
        chosen {
                stdout-path = "serial0:115200n8";
        };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               status_green {
+                       label = "pcb090:green:status";
+                       gpios = <&sgpio 64 GPIO_ACTIVE_HIGH>; /* p0.2 */
+                       default-state = "on";
+               };
+
+               status_red {
+                       label = "pcb090:red:status";
+                       gpios = <&sgpio 65 GPIO_ACTIVE_HIGH>; /* p1.2 */
+                       default-state = "off";
+               };
+       };
+};
+
+&sgpio {
+       status = "okay";
+       gpio-ranges = <&sgpio 0 0 96>;
 };
 
 &uart0 {
index 74f9274..bf638b2 100644 (file)
        chosen {
                stdout-path = "serial0:115200n8";
        };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               top_dimmer {
+                       label = "pcb091:top:dimmer";
+                       gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+                       default-state = "on";
+               };
+
+               status_green {
+                       label = "pcb091:green:status";
+                       gpios = <&sgpio 26 GPIO_ACTIVE_HIGH>; /* p26.0 */
+                       default-state = "on";
+               };
+
+               status_red {
+                       label = "pcb091:red:status";
+                       gpios = <&sgpio 58 GPIO_ACTIVE_HIGH>; /* p26.1 */
+                       default-state = "off";
+               };
+       };
+};
+
+&sgpio {
+       status = "okay";
+       mscc,sgpio-ports = <0xFFF000FF>;
 };
 
 &uart0 {
index 6a4ad2a..87e27c6 100644 (file)
                serial0 = &uart0;
        };
 
+       sys_clk: sys-clk {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <250000000>;
+       };
        ahb_clk: ahb-clk {
                compatible = "fixed-clock";
                #clock-cells = <0>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&gpio 0 0 32>;
 
+                       sgpio_pins: sgpio-pins {
+                               pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3";
+                               function = "sio";
+                       };
                        uart_pins: uart-pins {
                                pins = "GPIO_30", "GPIO_31";
                                function = "uart";
                        };
+               };
 
+               sgpio: gpio@70130 {
+                       compatible = "mscc,luton-sgpio";
+                       status = "disabled";
+                       clocks = <&sys_clk>;
+                       pinctrl-0 = <&sgpio_pins>;
+                       pinctrl-names = "default";
+                       reg = <0x0070130 0x100>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&sgpio 0 0 64>;
                };
 
                gpio_spi_bitbang: gpio@10000064 {