mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	Instead of bit banging SPI to talk to the GPIO chip, use the hardware led controllers intended for controlling the LEDs. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
		
			
				
	
	
		
			187 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			187 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/ {
 | 
						|
	#address-cells = <1>;
 | 
						|
	#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>; */
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 |