brcm63xx: switch to hardware led controllers
[librecmc/librecmc.git] / target / linux / brcm63xx / dts / bcm6318.dtsi
index 0710fd84672ef5995a136eba9740c321114a99b9..7c4505157e4e88e551c94adfb1192b37d7ec01c1 100644 (file)
        #size-cells = <1>;
        compatible = "brcm,bcm6318";
 
+       aliases {
+               pinctrl = &pinctrl;
+               spi1 = &hsspi;
+       };
+
        cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
                cpu@0 {
                        compatible = "brcm,bmips3300", "mips,mips4Kc";
+                       device_type = "cpu";
+                       reg = <0>;
                };
        };
 
+       cpu_intc: interrupt-controller {
+               #address-cells = <0>;
+               compatible = "mti,cpu-interrupt-controller";
+
+               interrupt-controller;
+               #interrupt-cells = <1>;
+       };
+
        memory { device_type = "memory"; reg = <0 0>; };
 
        ubus@10000000 {
                #address-cells = <1>;
                #size-cells = <1>;
+               ranges;
                compatible = "simple-bus";
+               interrupt-parent = <&periph_intc>;
+
+               ext_intc: interrupt-controller@10000018 {
+                       compatible = "brcm,bcm6318-ext-intc";
+                       reg = <0x10000018 0x4>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+
+                       interrupts = <24>, <25>, <26>, <27>;
+               };
+
+               periph_intc: interrupt-controller@10000020 {
+                       compatible = "brcm,bcm6345-l1-intc";
+                       reg = <0x10000020 0x20>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+
+                       interrupt-parent = <&cpu_intc>;
+                       interrupts = <2>;
+               };
+
+               pinctrl: pin-controller@10000080 {
+                       compatible = "brcm,bcm6318-pinctrl";
+                       reg = <0x10000080 0x08>,
+                             <0x10000088 0x08>,
+                             <0x10000098 0x04>,
+                             <0x1000009c 0x0c>,
+                             <0x100000d4 0x18>;
+                       reg-names = "dirout", "dat", "mode", "mux", "pad";
+
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       interrupt-parent = <&ext_intc>;
+                       interrupts = <0 0>, <1 0>;
+                       interrupt-names = "gpio33", "gpio34";
+
+                       pinctrl_ephy0_spd_led: ephy0_spd_led {
+                               function = "ephy0_spd_led";
+                               pins = "gpio0";
+                       };
+
+                       pinctrl_ephy1_spd_led: ephy1_spd_led {
+                               function = "ephy1_spd_led";
+                               pins = "gpio1";
+                       };
+
+                       pinctrl_ephy2_spd_led: ephy2_spd_led {
+                               function = "ephy2_spd_led";
+                               pins = "gpio2";
+                       };
+
+                       pinctrl_ephy3_spd_led: ephy3_spd_led {
+                               function = "ephy3_spd_led";
+                               pins = "gpio3";
+                       };
+
+                       pinctrl_ephy0_act_led: ephy0_act_led {
+                               function = "ephy0_act_led";
+                               pins = "gpio4";
+                       };
+
+                       pinctrl_ephy1_act_led: ephy1_act_led {
+                               function = "ephy1_act_led";
+                               pins = "gpio5";
+                       };
+
+                       pinctrl_ephy2_act_led: ephy2_act_led {
+                               function = "ephy2_act_led";
+                               pins = "gpio6";
+                       };
+
+                       pinctrl_ephy3_act_led: ephy3_act_led {
+                               function = "ephy3_act_led";
+                               pins = "gpio7";
+                       };
+
+                       pinctrl_serial_led: serial_led {
+                               pinctrl_serial_led_data: serial_led_data {
+                                       function = "serial_led_data";
+                                       pins = "gpio6";
+                               };
+
+                               pinctrl_serial_led_clk: serial_led_clk {
+                                       function = "serial_led_clk";
+                                       pins = "gpio7";
+                               };
+                       };
+
+                       pinctrl_inet_act_led: inet_act_led {
+                               function = "inet_act_led";
+                               pins = "gpio8";
+                       };
+
+                       pinctrl_inet_fail_led: inet_fail_led {
+                               function = "inet_fail_led";
+                               pins = "gpio9";
+                       };
+
+                       pinctrl_dsl_led: dsl_led {
+                               function = "dsl_led";
+                               pins = "gpio10";
+                       };
+
+                       pinctrl_post_fail_led: post_fail_led {
+                               function = "post_fail_led";
+                               pins = "gpio11";
+                       };
+
+                       pinctrl_wlan_wps_led: wlan_wps_led {
+                               function = "wlan_wps_led";
+                               pins = "gpio12";
+                       };
+
+                       pinctrl_usb_pwron: usb_pwron {
+                               function = "usb_pwron";
+                               pins = "gpio13";
+                       };
+
+                       pinctrl_usb_device_led: usb_device_led {
+                               function = "usb_device_led";
+                               pins = "gpio13";
+                       };
+
+                       pinctrl_usb_active: usb_active {
+                               function = "usb_active";
+                               pins = "gpio40";
+                       };
+               };
+
+               leds: led-controller@10000200 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "brcm,bcm6328-leds";
+                       reg = <0x10000200 0x24>;
+                       status = "disabled";
+               };
+
+               hsspi: spi@10003000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "brcm,bcm6328-hsspi";
+                       reg = <0x10003000 0x600>;
+                       interrupts = <29>;
+                       /* clocks = <&clkctl 25>; */
+               };
        };
 };