diff options
40 files changed, 537 insertions, 242 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index f0895c581a89..4692fd3d09d7 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -84,6 +84,8 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \  	kirkwood-ns2max.dtb \  	kirkwood-ns2mini.dtb \  	kirkwood-nsa310.dtb \ +	kirkwood-sheevaplug.dtb \ +	kirkwood-sheevaplug-esata.dtb \  	kirkwood-topkick.dtb \  	kirkwood-ts219-6281.dtb \  	kirkwood-ts219-6282.dtb \ diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts index 2353b1f13704..beee1699d49e 100644 --- a/arch/arm/boot/dts/armada-370-db.dts +++ b/arch/arm/boot/dts/armada-370-db.dts @@ -74,6 +74,7 @@  				 */  				status = "disabled";  				/* No CD or WP GPIOs */ +				broken-cd;  			};  			usb@50000 { diff --git a/arch/arm/boot/dts/armada-370-mirabox.dts b/arch/arm/boot/dts/armada-370-mirabox.dts index 14e36e19d515..45b107763e3b 100644 --- a/arch/arm/boot/dts/armada-370-mirabox.dts +++ b/arch/arm/boot/dts/armada-370-mirabox.dts @@ -99,6 +99,7 @@  				 * No CD or WP GPIOs: SDIO interface used for  				 * Wifi/Bluetooth chip  				 */ +				 broken-cd;  			};  			usb@50000 { diff --git a/arch/arm/boot/dts/armada-370-rd.dts b/arch/arm/boot/dts/armada-370-rd.dts index 130f8390a7e4..89c21106cfa9 100644 --- a/arch/arm/boot/dts/armada-370-rd.dts +++ b/arch/arm/boot/dts/armada-370-rd.dts @@ -64,6 +64,7 @@  				pinctrl-names = "default";  				status = "okay";  				/* No CD or WP GPIOs */ +				broken-cd;  			};  			usb@50000 { diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi index 550eb772c30e..0d73570a303d 100644 --- a/arch/arm/boot/dts/armada-370-xp.dtsi +++ b/arch/arm/boot/dts/armada-370-xp.dtsi @@ -143,6 +143,10 @@  				reg = <0xd4000 0x200>;  				interrupts = <54>;  				clocks = <&gateclk 17>; +				bus-width = <4>; +				cap-sdio-irq; +				cap-sd-highspeed; +				cap-mmc-highspeed;  				status = "disabled";  			}; diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts index d6cc8bf8272e..f5fc1a3868a2 100644 --- a/arch/arm/boot/dts/armada-xp-db.dts +++ b/arch/arm/boot/dts/armada-xp-db.dts @@ -30,6 +30,9 @@  	};  	soc { +		ranges = <0          0 0xd0000000 0x100000	/* Internal registers 1MiB */ +			  0xf0000000 0 0xf0000000 0x1000000>;	/* Device Bus, NOR 16MiB   */ +  		internal-regs {  			serial@12000 {  				clock-frequency = <250000000>; @@ -97,6 +100,7 @@  				pinctrl-names = "default";  				status = "okay";  				/* No CD or WP GPIOs */ +				broken-cd;  			};  			usb@50000 { @@ -155,6 +159,35 @@  					status = "okay";  				};  			}; + +			devbus-bootcs@10400 { +				status = "okay"; +				ranges = <0 0xf0000000 0x1000000>; + +				/* Device Bus parameters are required */ + +				/* Read parameters */ +				devbus,bus-width    = <8>; +				devbus,turn-off-ps  = <60000>; +				devbus,badr-skew-ps = <0>; +				devbus,acc-first-ps = <124000>; +				devbus,acc-next-ps  = <248000>; +				devbus,rd-setup-ps  = <0>; +				devbus,rd-hold-ps   = <0>; + +				/* Write parameters */ +				devbus,sync-enable = <0>; +				devbus,wr-high-ps  = <60000>; +				devbus,wr-low-ps   = <60000>; +				devbus,ale-wr-ps   = <60000>; + +				/* NOR 16 MiB */ +				nor@0 { +					compatible = "cfi-flash"; +					reg = <0 0x1000000>; +					bank-width = <2>; +				}; +			};  		};  	};  }; diff --git a/arch/arm/boot/dts/armada-xp-gp.dts b/arch/arm/boot/dts/armada-xp-gp.dts index 3ee63d128e27..0a040705a72d 100644 --- a/arch/arm/boot/dts/armada-xp-gp.dts +++ b/arch/arm/boot/dts/armada-xp-gp.dts @@ -104,6 +104,16 @@  				phy-mode = "rgmii-id";  			}; +			/* Front-side USB slot */ +			usb@50000 { +				status = "okay"; +			}; + +			/* Back-side USB slot */ +			usb@51000 { +				status = "okay"; +			}; +  			spi0: spi@10600 {  				status = "okay"; diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts index 46b785064dd8..685ee7a282e3 100644 --- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts @@ -137,13 +137,22 @@  				nr-ports = <2>;  				status = "okay";  			}; + +			/* Front side USB 0 */  			usb@50000 {  				status = "okay";  			}; + +			/* Front side USB 1 */  			usb@51000 {  				status = "okay";  			}; +			/* USB interface in the mini-PCIe connector */ +			usb@52000 { +				status = "okay"; +			}; +  			devbus-bootcs@10400 {  				status = "okay";  				ranges = <0 0xf0000000 0x8000000>; /* @addr 0xf000000, size 0x8000000 */ diff --git a/arch/arm/boot/dts/dove-cubox.dts b/arch/arm/boot/dts/dove-cubox.dts index 7e3065abd751..5cae2ab69762 100644 --- a/arch/arm/boot/dts/dove-cubox.dts +++ b/arch/arm/boot/dts/dove-cubox.dts @@ -44,11 +44,60 @@  			gpio = <&gpio0 1 0>;  		};  	}; + +	clocks { +		/* 25MHz reference crystal */ +		ref25: oscillator { +			compatible = "fixed-clock"; +			#clock-cells = <0>; +			clock-frequency = <25000000>; +		}; +	};  };  &uart0 { status = "okay"; };  &sata0 { status = "okay"; }; -&i2c0 { status = "okay"; }; + +&i2c0 { +	status = "okay"; +	clock-frequency = <100000>; + +	si5351: clock-generator { +		compatible = "silabs,si5351a-msop"; +		reg = <0x60>; +		#address-cells = <1>; +		#size-cells = <0>; +		#clock-cells = <1>; + +		/* connect xtal input to 25MHz reference */ +		clocks = <&ref25>; + +		/* connect xtal input as source of pll0 and pll1 */ +		silabs,pll-source = <0 0>, <1 0>; + +		clkout0 { +			reg = <0>; +			silabs,drive-strength = <8>; +			silabs,multisynth-source = <0>; +			silabs,clock-source = <0>; +			silabs,pll-master; +		}; + +		clkout1 { +			reg = <1>; +			silabs,drive-strength = <8>; +			silabs,multisynth-source = <1>; +			silabs,clock-source = <0>; +			silabs,pll-master; +		}; + +		clkout2 { +			reg = <2>; +			silabs,multisynth-source = <1>; +			silabs,clock-source = <0>; +		}; +	}; +};  &sdio0 {  	status = "okay"; diff --git a/arch/arm/boot/dts/kirkwood-cloudbox.dts b/arch/arm/boot/dts/kirkwood-cloudbox.dts index 5f21d4e427b0..00c48d26de68 100644 --- a/arch/arm/boot/dts/kirkwood-cloudbox.dts +++ b/arch/arm/boot/dts/kirkwood-cloudbox.dts @@ -18,10 +18,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { -			pinctrl-0 = < &pmx_spi &pmx_uart0 -					&pmx_cloudbox_sata0 >; -			pinctrl-names = "default"; -  			pmx_cloudbox_sata0: pmx-cloudbox-sata0 {  				marvell,pins = "mpp15";  				marvell,function = "sata0"; @@ -29,16 +25,22 @@  		};  		serial@12000 { +			pinctrl-0 = <&pmx_uart0>; +			pinctrl-names = "default";  			clock-frequency = <166666667>;  			status = "okay";  		};  		sata@80000 { +			pinctrl-0 = <&pmx_cloudbox_sata0>; +			pinctrl-names = "default";  			status = "okay";  			nr-ports = <1>;  		};  		spi@10600 { +			pinctrl-0 = <&pmx_spi>; +			pinctrl-names = "default";  			status = "okay";  			flash@0 { diff --git a/arch/arm/boot/dts/kirkwood-dns320.dts b/arch/arm/boot/dts/kirkwood-dns320.dts index c9c44b2f62d7..14d4ceea3057 100644 --- a/arch/arm/boot/dts/kirkwood-dns320.dts +++ b/arch/arm/boot/dts/kirkwood-dns320.dts @@ -17,6 +17,11 @@  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = <&pmx_led_power &pmx_led_red_usb_320 +			     &pmx_led_red_left_hdd &pmx_led_red_right_hdd +			     &pmx_led_white_usb>; +		pinctrl-names = "default"; +  		blue-power {  			label = "dns320:blue:power";  			gpios = <&gpio0 26 1>; /* GPIO 26 Active Low */ @@ -46,6 +51,8 @@  		};  		serial@12100 { +			pinctrl-0 = <&pmx_uart1>; +			pinctrl-names = "default";  			status = "okay";  		};  	}; diff --git a/arch/arm/boot/dts/kirkwood-dns325.dts b/arch/arm/boot/dts/kirkwood-dns325.dts index e4e4930dc5cf..63872570e6ce 100644 --- a/arch/arm/boot/dts/kirkwood-dns325.dts +++ b/arch/arm/boot/dts/kirkwood-dns325.dts @@ -17,6 +17,11 @@  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = <&pmx_led_power &pmx_led_red_usb_325 +			     &pmx_led_red_left_hdd &pmx_led_red_right_hdd +			     &pmx_led_white_usb>; +		pinctrl-names = "default"; +  		white-power {  			label = "dns325:white:power";  			gpios = <&gpio0 26 1>; /* GPIO 26 Active Low */ diff --git a/arch/arm/boot/dts/kirkwood-dnskw.dtsi b/arch/arm/boot/dts/kirkwood-dnskw.dtsi index 6875ac00c174..0afe1d07c803 100644 --- a/arch/arm/boot/dts/kirkwood-dnskw.dtsi +++ b/arch/arm/boot/dts/kirkwood-dnskw.dtsi @@ -9,6 +9,10 @@  		compatible = "gpio-keys";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_button_power &pmx_button_unmount +			     &pmx_button_reset>; +		pinctrl-names = "default"; +  		button@1 {  			label = "Power button";  			linux,code = <116>; @@ -29,6 +33,8 @@  	gpio_fan {  		/* Fan: ADDA AD045HB-G73 40mm 6000rpm@5v */  		compatible = "gpio-fan"; +		pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>; +		pinctrl-names = "default";  		gpios = <&gpio1 14 1  			 &gpio1 13 1>;  		gpio-fan,speed-map = <0    0 @@ -38,27 +44,17 @@  	gpio_poweroff {  		compatible = "gpio-poweroff"; +		pinctrl-0 = <&pmx_power_off>; +		pinctrl-names = "default";  		gpios = <&gpio1 4 0>;  	};  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { -			pinctrl-0 = < &pmx_nand &pmx_uart1 -				      &pmx_sata0 &pmx_sata1 -				      &pmx_led_power -				      &pmx_led_red_right_hdd -				      &pmx_led_red_left_hdd -				      &pmx_led_red_usb_325 -				      &pmx_button_power -				      &pmx_led_red_usb_320 -				      &pmx_power_off &pmx_power_back_on -				      &pmx_power_sata0 &pmx_power_sata1 -				      &pmx_present_sata0 &pmx_present_sata1 -				      &pmx_led_white_usb &pmx_fan_tacho -				      &pmx_fan_high_speed &pmx_fan_low_speed -				      &pmx_button_unmount &pmx_button_reset -				      &pmx_temp_alarm >; +			pinctrl-0 = <&pmx_power_back_on &pmx_present_sata0 +				     &pmx_present_sata1 &pmx_fan_tacho +				     &pmx_temp_alarm>;  			pinctrl-names = "default";  			pmx_sata0: pmx-sata0 { @@ -147,11 +143,15 @@  			};  		};  		sata@80000 { +			pinctrl-0 = <&pmx_sata0 &pmx_sata1>; +			pinctrl-names = "default";  			status = "okay";  			nr-ports = <2>;  		};  		nand@3000000 { +			pinctrl-0 = <&pmx_nand>; +			pinctrl-names = "default";  			status = "okay";  			chip-delay = <35>; @@ -192,6 +192,8 @@  		compatible = "simple-bus";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_power_sata0 &pmx_power_sata1>; +		pinctrl-names = "default";  		sata0_power: regulator@1 {  			compatible = "regulator-fixed"; diff --git a/arch/arm/boot/dts/kirkwood-dockstar.dts b/arch/arm/boot/dts/kirkwood-dockstar.dts index 0196cf6b0ef2..7714742bb8d8 100644 --- a/arch/arm/boot/dts/kirkwood-dockstar.dts +++ b/arch/arm/boot/dts/kirkwood-dockstar.dts @@ -18,11 +18,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_usb_power_enable -				      &pmx_led_green &pmx_led_orange >; -			pinctrl-names = "default"; -  			pmx_usb_power_enable: pmx-usb-power-enable {  				marvell,pins = "mpp29";  				marvell,function = "gpio"; @@ -62,6 +57,8 @@  	};  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = <&pmx_led_green &pmx_led_orange>; +		pinctrl-names = "default";  		health {  			label = "status:green:health"; @@ -77,6 +74,8 @@  		compatible = "simple-bus";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_usb_power_enable>; +		pinctrl-names = "default";  		usb_power: regulator@1 {  			compatible = "regulator-fixed"; diff --git a/arch/arm/boot/dts/kirkwood-dreamplug.dts b/arch/arm/boot/dts/kirkwood-dreamplug.dts index 289e51d86372..36c7ba38d500 100644 --- a/arch/arm/boot/dts/kirkwood-dreamplug.dts +++ b/arch/arm/boot/dts/kirkwood-dreamplug.dts @@ -18,12 +18,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_spi -				      &pmx_led_bluetooth &pmx_led_wifi -				      &pmx_led_wifi_ap >; -			pinctrl-names = "default"; -  			pmx_led_bluetooth: pmx-led-bluetooth {  				marvell,pins = "mpp47";  				marvell,function = "gpio"; @@ -43,6 +37,8 @@  		spi@10600 {  			status = "okay"; +			pinctrl-0 = <&pmx_spi>; +			pinctrl-names = "default";  			m25p40@0 {  				#address-cells = <1>; @@ -79,11 +75,15 @@  			pinctrl-names = "default";  			status = "okay";  			/* No CD or WP GPIOs */ +			broken-cd;  		};  	};  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = <&pmx_led_bluetooth &pmx_led_wifi +			     &pmx_led_wifi_ap >; +		pinctrl-names = "default";  		bluetooth {  			label = "dreamplug:blue:bluetooth"; diff --git a/arch/arm/boot/dts/kirkwood-goflexnet.dts b/arch/arm/boot/dts/kirkwood-goflexnet.dts index c3573be7b92c..31caa6405065 100644 --- a/arch/arm/boot/dts/kirkwood-goflexnet.dts +++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts @@ -18,15 +18,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_usb_power_enable &pmx_led_orange -				      &pmx_led_left_cap_0 &pmx_led_left_cap_1 -				      &pmx_led_left_cap_2 &pmx_led_left_cap_3 -				      &pmx_led_right_cap_0 &pmx_led_right_cap_1 -				      &pmx_led_right_cap_2 &pmx_led_right_cap_3 -				    >; -			pinctrl-names = "default"; -  			pmx_usb_power_enable: pmx-usb-power-enable {  				marvell,pins = "mpp29";  				marvell,function = "gpio"; @@ -109,6 +100,13 @@  	};  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = < &pmx_led_orange +			      &pmx_led_left_cap_0 &pmx_led_left_cap_1 +			      &pmx_led_left_cap_2 &pmx_led_left_cap_3 +			      &pmx_led_right_cap_0 &pmx_led_right_cap_1 +			      &pmx_led_right_cap_2 &pmx_led_right_cap_3 +			    >; +		pinctrl-names = "default";  		health {  			label = "status:green:health"; @@ -156,6 +154,8 @@  		compatible = "simple-bus";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_usb_power_enable>; +		pinctrl-names = "default";  		usb_power: regulator@1 {  			compatible = "regulator-fixed"; diff --git a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts index 44fd97dfc1f3..1e642f39b154 100644 --- a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts +++ b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts @@ -18,11 +18,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_led_health_r &pmx_led_health_g -				      &pmx_led_wmode_r &pmx_led_wmode_g >; -			pinctrl-names = "default"; -  			pmx_led_health_r: pmx-led-health-r {  				marvell,pins = "mpp46";  				marvell,function = "gpio"; @@ -72,11 +67,16 @@  		mvsdio@90000 {  			status = "okay"; +			/* No CD or WP GPIOs */ +			broken-cd;  		};  	};  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = < &pmx_led_health_r &pmx_led_health_g +			      &pmx_led_wmode_r &pmx_led_wmode_g >; +		pinctrl-names = "default";  		health-r {  			label = "guruplug:red:health"; diff --git a/arch/arm/boot/dts/kirkwood-ib62x0.dts b/arch/arm/boot/dts/kirkwood-ib62x0.dts index 5335b1aa8601..20c4b081f420 100644 --- a/arch/arm/boot/dts/kirkwood-ib62x0.dts +++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts @@ -18,13 +18,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_nand -				      &pmx_led_os_red &pmx_power_off -				      &pmx_led_os_green &pmx_led_usb_transfer -				      &pmx_button_reset &pmx_button_usb_copy >; -			pinctrl-names = "default"; -  			pmx_led_os_red: pmx-led-os-red {  				marvell,pins = "mpp22";  				marvell,function = "gpio"; @@ -61,6 +54,8 @@  		nand@3000000 {  			status = "okay"; +			pinctrl-0 = <&pmx_nand>; +			pinctrl-names = "default";  			partition@0 {  				label = "u-boot"; @@ -84,6 +79,9 @@  		compatible = "gpio-keys";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_button_reset &pmx_button_usb_copy>; +		pinctrl-names = "default"; +  		button@1 {  			label = "USB Copy";  			linux,code = <133>; @@ -97,6 +95,9 @@  	};  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = <&pmx_led_os_red &pmx_led_os_green +			     &pmx_led_usb_transfer>; +		pinctrl-names = "default";  		green-os {  			label = "ib62x0:green:os"; @@ -114,6 +115,8 @@  	};  	gpio_poweroff {  		compatible = "gpio-poweroff"; +		pinctrl-0 = <&pmx_power_off>; +		pinctrl-names = "default";  		gpios = <&gpio0 24 0>;  	}; diff --git a/arch/arm/boot/dts/kirkwood-iconnect.dts b/arch/arm/boot/dts/kirkwood-iconnect.dts index 12ccf74ac3c4..027501857cb6 100644 --- a/arch/arm/boot/dts/kirkwood-iconnect.dts +++ b/arch/arm/boot/dts/kirkwood-iconnect.dts @@ -20,51 +20,43 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_gpio_12 &pmx_gpio_35 -				      &pmx_gpio_41 &pmx_gpio_42 -				      &pmx_gpio_43 &pmx_gpio_44 -				      &pmx_gpio_45 &pmx_gpio_46 -				      &pmx_gpio_47 &pmx_gpio_48 >; -			pinctrl-names = "default"; - -			pmx_gpio_12: pmx-gpio-12 { +			pmx_button_reset: pmx-button-reset {  				marvell,pins = "mpp12";  				marvell,function = "gpio";  			}; -			pmx_gpio_35: pmx-gpio-35 { +			pmx_button_otb: pmx-button-otb {  				marvell,pins = "mpp35";  				marvell,function = "gpio";  			}; -			pmx_gpio_41: pmx-gpio-41 { +			pmx_led_level: pmx-led-level {  				marvell,pins = "mpp41";  				marvell,function = "gpio";  			}; -			pmx_gpio_42: pmx-gpio-42 { +			pmx_led_power_blue: pmx-led-power-blue {  				marvell,pins = "mpp42";  				marvell,function = "gpio";  			}; -			pmx_gpio_43: pmx-gpio-43 { +			pmx_led_power_red: pmx-power-red {  				marvell,pins = "mpp43";  				marvell,function = "gpio";  			}; -			pmx_gpio_44: pmx-gpio-44 { +			pmx_led_usb1: pmx-led-usb1 {  				marvell,pins = "mpp44";  				marvell,function = "gpio";  			}; -			pmx_gpio_45: pmx-gpio-45 { +			pmx_led_usb2: pmx-led-usb2 {  				marvell,pins = "mpp45";  				marvell,function = "gpio";  			}; -			pmx_gpio_46: pmx-gpio-46 { +			pmx_led_usb3: pmx-led-usb3 {  				marvell,pins = "mpp46";  				marvell,function = "gpio";  			}; -			pmx_gpio_47: pmx-gpio-47 { +			pmx_led_usb4: pmx-led-usb4 {  				marvell,pins = "mpp47";  				marvell,function = "gpio";  			}; -			pmx_gpio_48: pmx-gpio-48 { +			pmx_led_otb: pmx-led-otb {  				marvell,pins = "mpp48";  				marvell,function = "gpio";  			}; @@ -113,6 +105,11 @@  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = < &pmx_led_level &pmx_led_power_blue +			      &pmx_led_power_red &pmx_led_usb1 +			      &pmx_led_usb2 &pmx_led_usb3 +			      &pmx_led_usb4 &pmx_led_otb >; +		pinctrl-names = "default";  		led-level {  			label = "led_level"; @@ -154,6 +151,9 @@  		compatible = "gpio-keys";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = < &pmx_button_reset &pmx_button_otb >; +		pinctrl-names = "default"; +  		button@1 {  			label = "OTB Button";  			linux,code = <133>; diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts index 3694e94f6e99..00a7bfe5e83b 100644 --- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts @@ -18,12 +18,7 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_button_reset &pmx_button_power -				      &pmx_led_backup &pmx_led_power -				      &pmx_button_otb &pmx_led_rebuild -				      &pmx_led_health -				      &pmx_led_sata_brt_ctrl_1 +			pinctrl-0 = < &pmx_led_sata_brt_ctrl_1  				      &pmx_led_sata_brt_ctrl_2  				      &pmx_led_backup_brt_ctrl_1  				      &pmx_led_backup_brt_ctrl_2 @@ -151,6 +146,9 @@  	};  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = < &pmx_led_backup &pmx_led_power +			      &pmx_led_rebuild &pmx_led_health >; +		pinctrl-names = "default";  		power_led {  			label = "status:white:power_led"; @@ -174,6 +172,11 @@  		compatible = "gpio-keys";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_button_reset &pmx_button_power +			     &pmx_button_otb>; +		pinctrl-names = "default"; + +  		Power {  			label = "Power Button";  			linux,code = <116>; diff --git a/arch/arm/boot/dts/kirkwood-is2.dts b/arch/arm/boot/dts/kirkwood-is2.dts index 0bdce0ad7277..c3f036b86cca 100644 --- a/arch/arm/boot/dts/kirkwood-is2.dts +++ b/arch/arm/boot/dts/kirkwood-is2.dts @@ -13,6 +13,8 @@  	ocp@f1000000 {  		sata@80000 { +			pinctrl-0 = <&pmx_ns2_sata0>; +			pinctrl-names = "default";  			status = "okay";  			nr-ports = <1>;  		}; diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts index 5bbd0542cdd3..66b971bbe68f 100644 --- a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts +++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts @@ -18,9 +18,7 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_nand &pmx_i2c_gpio_sda -				&pmx_i2c_gpio_scl >; +			pinctrl-0 = < &pmx_i2c_gpio_sda &pmx_i2c_gpio_scl >;  			pinctrl-names = "default";  			pmx_i2c_gpio_sda: pmx-gpio-sda { @@ -38,6 +36,8 @@  		};  		nand@3000000 { +			pinctrl-0 = <&pmx_nand>; +			pinctrl-names = "default";  			status = "ok";  			chip-delay = <25>;  		}; diff --git a/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/arch/arm/boot/dts/kirkwood-lsxl.dtsi index 37d45c4f88fb..4945eba03ae6 100644 --- a/arch/arm/boot/dts/kirkwood-lsxl.dtsi +++ b/arch/arm/boot/dts/kirkwood-lsxl.dtsi @@ -8,16 +8,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_power_hdd &pmx_usb_vbus -				      &pmx_fan_low &pmx_fan_high -				      &pmx_led_function_red &pmx_led_alarm -				      &pmx_led_info &pmx_led_power -				      &pmx_fan_lock &pmx_button_function -				      &pmx_power_switch &pmx_power_auto_switch -				      &pmx_led_function_blue >; -			pinctrl-names = "default"; -  			pmx_power_hdd: pmx-power-hdd {  				marvell,pins = "mpp10";  				marvell,function = "gpo"; @@ -112,6 +102,10 @@  		compatible = "gpio-keys";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_button_function &pmx_power_switch +			     &pmx_power_auto_switch>; +		pinctrl-names = "default"; +  		button@1 {  			label = "Function Button";  			linux,code = <357>; @@ -133,6 +127,10 @@  	gpio_leds {  		compatible = "gpio-leds"; +		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm +			     &pmx_led_info &pmx_led_power +			     &pmx_led_function_blue>; +		pinctrl-names = "default";  		led@1 {  			label = "lsxl:blue:func"; @@ -163,6 +161,8 @@  	gpio_fan {  		compatible = "gpio-fan"; +		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>; +		pinctrl-names = "default";  		gpios = <&gpio0 19 1  		         &gpio0 18 1>;  		gpio-fan,speed-map = <0    3 @@ -176,6 +176,8 @@  		compatible = "simple-bus";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_power_hdd &pmx_usb_vbus>; +		pinctrl-names = "default";  		usb_power: regulator@1 {  			compatible = "regulator-fixed"; diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts index 758824118a9a..211916a5a0fe 100644 --- a/arch/arm/boot/dts/kirkwood-mplcec4.dts +++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts @@ -18,16 +18,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_nand &pmx_uart0 -				      &pmx_led_health -				      &pmx_sata0 &pmx_sata1 -				      &pmx_led_user1o -				      &pmx_led_user1g &pmx_led_user0o -				      &pmx_led_user0g &pmx_led_misc -				    >; -			pinctrl-names = "default"; -  			pmx_led_health: pmx-led-health {  				marvell,pins = "mpp7";  				marvell,function = "gpo"; @@ -91,9 +81,13 @@                  serial@12000 {                          status = "ok"; +                        pinctrl-0 = <&pmx_uart0>; +                        pinctrl-names = "default";                  };                  nand@3000000 { +                        pinctrl-0 = <&pmx_nand>; +                        pinctrl-names = "default";                          status = "okay";                          partition@0 { @@ -127,22 +121,29 @@  		};  		sata@80000 { +			pinctrl-0 = <&pmx_sata0 &pmx_sata1>; +			pinctrl-names = "default";  			nr-ports = <2>;  			status = "okay"; -  		};  		mvsdio@90000 {  			pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>;  			pinctrl-names = "default";  			status = "okay"; -			cd-gpios = <&gpio1 15 0>; +			cd-gpios = <&gpio1 15 1>;  			/* No WP GPIO */  		};  	};  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = < &pmx_led_health +			      &pmx_led_user1o +			      &pmx_led_user1g &pmx_led_user0o +			      &pmx_led_user0g &pmx_led_misc +			    >; +		pinctrl-names = "default";  		health {  			label = "status:green:health"; diff --git a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts index 1ca66ab83ad6..b79ea8cebf4c 100644 --- a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts +++ b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts @@ -18,18 +18,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { - -			pinctrl-0 = < &pmx_uart0 -				      &pmx_button_power -				      &pmx_button_backup -				      &pmx_button_reset -				      &pmx_led_blue_power -				      &pmx_led_blue_activity -				      &pmx_led_blue_disk1 -				      &pmx_led_blue_disk2 -				      &pmx_led_blue_backup >; -			pinctrl-names = "default"; -  			pmx_button_power: pmx-button-power {  				marvell,pins = "mpp47";  				marvell,function = "gpio"; @@ -74,6 +62,8 @@  		};  		serial@12000 { +			pinctrl-0 = <&pmx_uart0>; +			pinctrl-names = "default";  			status = "okay";  		}; @@ -115,6 +105,10 @@  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = < &pmx_led_blue_power &pmx_led_blue_activity +			      &pmx_led_blue_disk1 &pmx_led_blue_disk2 +			      &pmx_led_blue_backup >; +		pinctrl-names = "default";  		power_led {  			label = "status:blue:power_led"; @@ -143,6 +137,10 @@  		compatible = "gpio-keys";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_button_power &pmx_button_backup +			     &pmx_button_reset>; +		pinctrl-names = "default"; +  		button@1 {  			label = "Power Button";  			linux,code = <116>;     /* KEY_POWER */ diff --git a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi index 6affd924fe11..2afac0405816 100644 --- a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi +++ b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi @@ -8,10 +8,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { -			pinctrl-0 = < &pmx_spi &pmx_twsi0 &pmx_uart0 -					&pmx_ns2_sata0 &pmx_ns2_sata1>; -			pinctrl-names = "default"; -  			pmx_ns2_sata0: pmx-ns2-sata0 {  				marvell,pins = "mpp21";  				marvell,function = "sata0"; @@ -23,10 +19,14 @@  		};  		serial@12000 { +			pinctrl-0 = <&pmx_uart0>; +			pinctrl-names = "default";  			status = "okay";  		};  		spi@10600 { +			pinctrl-0 = <&pmx_spi>; +			pinctrl-names = "default";  			status = "okay";  			flash@0 { @@ -45,6 +45,8 @@  		};  		i2c@11000 { +			pinctrl-0 = <&pmx_twsi0>; +			pinctrl-names = "default";  			status = "okay";  			eeprom@50 { diff --git a/arch/arm/boot/dts/kirkwood-ns2.dts b/arch/arm/boot/dts/kirkwood-ns2.dts index f2d36ecf36d8..b50e93d7796c 100644 --- a/arch/arm/boot/dts/kirkwood-ns2.dts +++ b/arch/arm/boot/dts/kirkwood-ns2.dts @@ -13,6 +13,8 @@  	ocp@f1000000 {  		sata@80000 { +			pinctrl-0 = <&pmx_ns2_sata0>; +			pinctrl-names = "default";  			status = "okay";  			nr-ports = <1>;  		}; diff --git a/arch/arm/boot/dts/kirkwood-ns2lite.dts b/arch/arm/boot/dts/kirkwood-ns2lite.dts index b02eb4ea1bb4..af8259fe8955 100644 --- a/arch/arm/boot/dts/kirkwood-ns2lite.dts +++ b/arch/arm/boot/dts/kirkwood-ns2lite.dts @@ -13,6 +13,8 @@  	ocp@f1000000 {  		sata@80000 { +			pinctrl-0 = <&pmx_ns2_sata0>; +			pinctrl-names = "default";  			status = "okay";  			nr-ports = <1>;  		}; diff --git a/arch/arm/boot/dts/kirkwood-ns2max.dts b/arch/arm/boot/dts/kirkwood-ns2max.dts index bcec4d6cada7..85f24d227e17 100644 --- a/arch/arm/boot/dts/kirkwood-ns2max.dts +++ b/arch/arm/boot/dts/kirkwood-ns2max.dts @@ -13,6 +13,8 @@  	ocp@f1000000 {  		sata@80000 { +			pinctrl-0 = <&pmx_ns2_sata0 &pmx_ns2_sata1>; +			pinctrl-names = "default";  			status = "okay";  			nr-ports = <2>;  		}; diff --git a/arch/arm/boot/dts/kirkwood-ns2mini.dts b/arch/arm/boot/dts/kirkwood-ns2mini.dts index adab1ab25733..329e530bffe7 100644 --- a/arch/arm/boot/dts/kirkwood-ns2mini.dts +++ b/arch/arm/boot/dts/kirkwood-ns2mini.dts @@ -14,6 +14,8 @@  	ocp@f1000000 {  		sata@80000 { +			pinctrl-0 = <&pmx_ns2_sata0>; +			pinctrl-names = "default";  			status = "okay";  			nr-ports = <1>;  		}; diff --git a/arch/arm/boot/dts/kirkwood-nsa310.dts b/arch/arm/boot/dts/kirkwood-nsa310.dts index a7412b937a8a..79391ca5d1c3 100644 --- a/arch/arm/boot/dts/kirkwood-nsa310.dts +++ b/arch/arm/boot/dts/kirkwood-nsa310.dts @@ -17,22 +17,7 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { -			pinctrl-0 = < &pmx_led_esata_green -				      &pmx_led_esata_red -				      &pmx_led_usb_green -				      &pmx_led_usb_red -				      &pmx_usb_power_off -				      &pmx_led_sys_green -				      &pmx_led_sys_red -				      &pmx_btn_reset -				      &pmx_btn_copy -				      &pmx_led_copy_green -				      &pmx_led_copy_red -				      &pmx_led_hdd_green -				      &pmx_led_hdd_red -				      &pmx_unknown -				      &pmx_btn_power -				      &pmx_pwr_off >; +			pinctrl-0 = <&pmx_unknown>;  			pinctrl-names = "default";  			pmx_led_esata_green: pmx-led-esata-green { @@ -182,6 +167,8 @@  		compatible = "gpio-keys";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_btn_reset &pmx_btn_copy &pmx_btn_power>; +		pinctrl-names = "default";  		button@1 {  			label = "Power Button"; @@ -202,6 +189,12 @@  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = <&pmx_led_esata_green &pmx_led_esata_red +			     &pmx_led_usb_green &pmx_led_usb_red +			     &pmx_led_sys_green &pmx_led_sys_red +			     &pmx_led_copy_green &pmx_led_copy_red +			     &pmx_led_hdd_green &pmx_led_hdd_red>; +		pinctrl-names = "default";  		green-sys {  			label = "nsa310:green:sys"; @@ -247,6 +240,8 @@  	gpio_poweroff {  		compatible = "gpio-poweroff"; +		pinctrl-0 = <&pmx_pwr_off>; +		pinctrl-names = "default";  		gpios = <&gpio1 16 0>;  	}; @@ -254,6 +249,8 @@  		compatible = "simple-bus";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_usb_power_off>; +		pinctrl-names = "default";  		usb0_power_off: regulator@1 {  			compatible = "regulator-fixed"; diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts index d27f7245f8e7..38dc8517d777 100644 --- a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts +++ b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts @@ -19,15 +19,21 @@  	ocp@f1000000 {  		serial@12000 {  			status = "ok"; +			pinctrl-0 = <&pmx_uart0>; +			pinctrl-names = "default";  		};  		serial@12100 {  			status = "ok"; +			pinctrl-0 = <&pmx_uart1>; +			pinctrl-names = "default";  		};  		nand@3000000 {  			chip-delay = <25>;  			status = "okay"; +			pinctrl-0 = <&pmx_nand>; +			pinctrl-names = "default";  			partition@0 {  				label = "uboot"; @@ -67,6 +73,8 @@  		i2c@11100 {  			status = "okay"; +			pinctrl-0 = <&pmx_twsi1>; +			pinctrl-names = "default";  			s35390a: s35390a@30 {  				compatible = "s35390a"; @@ -75,16 +83,7 @@  		};  		pinctrl: pinctrl@10000 { -			pinctrl-0 = < &pmx_nand &pmx_uart0 -				&pmx_uart1 &pmx_twsi1 -				&pmx_dip_sw0 &pmx_dip_sw1 -				&pmx_dip_sw2 &pmx_dip_sw3 -				&pmx_gpio_0 &pmx_gpio_1 -				&pmx_gpio_2 &pmx_gpio_3 -				&pmx_gpio_4 &pmx_gpio_5 -				&pmx_gpio_6 &pmx_gpio_7 -				&pmx_led_red &pmx_led_green -				&pmx_led_yellow >; +			pinctrl-0 = <&pmx_dip_switches &pmx_gpio_header>;  			pinctrl-names = "default";  			pmx_uart0: pmx-uart0 { @@ -104,63 +103,14 @@  				marvell,function = "sysrst";  			}; -			pmx_dip_sw0: pmx-dip-sw0 { -				marvell,pins = "mpp20"; -				marvell,function = "gpio"; -			}; - -			pmx_dip_sw1: pmx-dip-sw1 { -				marvell,pins = "mpp21"; -				marvell,function = "gpio"; -			}; - -			pmx_dip_sw2: pmx-dip-sw2 { -				marvell,pins = "mpp22"; -				marvell,function = "gpio"; -			}; - -			pmx_dip_sw3: pmx-dip-sw3 { -				marvell,pins = "mpp23"; -				marvell,function = "gpio"; -			}; - -			pmx_gpio_0: pmx-gpio-0 { -				marvell,pins = "mpp24"; -				marvell,function = "gpio"; -			}; - -			pmx_gpio_1: pmx-gpio-1 { -				marvell,pins = "mpp25"; -				marvell,function = "gpio"; -			}; - -			pmx_gpio_2: pmx-gpio-2 { -				marvell,pins = "mpp26"; +			pmx_dip_switches: pmx-dip-switches { +				marvell,pins = "mpp20", "mpp21", "mpp22", "mpp23";  				marvell,function = "gpio";  			}; -			pmx_gpio_3: pmx-gpio-3 { -				marvell,pins = "mpp27"; -				marvell,function = "gpio"; -			}; - -			pmx_gpio_4: pmx-gpio-4 { -				marvell,pins = "mpp28"; -				marvell,function = "gpio"; -			}; - -			pmx_gpio_5: pmx-gpio-5 { -				marvell,pins = "mpp29"; -				marvell,function = "gpio"; -			}; - -			pmx_gpio_6: pmx-gpio-6 { -				marvell,pins = "mpp30"; -				marvell,function = "gpio"; -			}; - -			pmx_gpio_7: pmx-gpio-7 { -				marvell,pins = "mpp31"; +			pmx_gpio_header: pmx-gpio-header { +				marvell,pins = "mpp24", "mpp25", "mpp26", "mpp27", +					       "mpp28", "mpp29", "mpp30", "mpp31";  				marvell,function = "gpio";  			}; @@ -174,18 +124,8 @@  				marvell,function = "gpio";  			}; -			pmx_led_red: pmx-led-red { -				marvell,pins = "mpp41"; -				marvell,function = "gpio"; -			}; - -			pmx_led_green: pmx-led-green { -				marvell,pins = "mpp42"; -				marvell,function = "gpio"; -			}; - -			pmx_led_yellow: pmx-led-yellow { -				marvell,pins = "mpp43"; +			pmx_leds: pmx-leds { +				marvell,pins = "mpp41", "mpp42", "mpp43";  				marvell,function = "gpio";  			};  		}; @@ -193,6 +133,8 @@  	gpio-leds {  		compatible = "gpio-leds"; +		pinctrl-0 = <&pmx_leds>; +		pinctrl-names = "default";  		led-red {  			label = "obsa6:red:stat"; @@ -209,4 +151,18 @@  			gpios = <&gpio1 11 1>;  		};          }; + +	gpio_keys { +		compatible = "gpio-keys"; +		pinctrl-0 = <&pmx_gpio_init>; +		pinctrl-names = "default"; +		#address-cells = <1>; +		#size-cells = <0>; + +		button@1 { +			label = "Init Button"; +			linux,code = <116>; +			gpios = <&gpio1 6 0>; +		}; +	};  }; diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi new file mode 100644 index 000000000000..9d5947599694 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi @@ -0,0 +1,97 @@ +/* + * kirkwood-sheevaplug-common.dts - Common parts for Sheevaplugs + * + * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com> + * + * Licensed under GPLv2 + */ + +/include/ "kirkwood.dtsi" +/include/ "kirkwood-6281.dtsi" + +/ { +	memory { +		device_type = "memory"; +		reg = <0x00000000 0x20000000>; +	}; + +	chosen { +		bootargs = "console=ttyS0,115200n8 earlyprintk"; +	}; + +	ocp@f1000000 { +		pinctrl: pinctrl@10000 { + +			pmx_usb_power_enable: pmx-usb-power-enable { +				marvell,pins = "mpp29"; +				marvell,function = "gpio"; +			}; +			pmx_led_red: pmx-led-red { +				marvell,pins = "mpp46"; +				marvell,function = "gpio"; +			}; +			pmx_led_blue: pmx-led-blue { +				marvell,pins = "mpp49"; +				marvell,function = "gpio"; +			}; +			pmx_sdio_cd: pmx-sdio-cd { +				marvell,pins = "mpp44"; +				marvell,function = "gpio"; +			}; +			pmx_sdio_wp: pmx-sdio-wp { +				marvell,pins = "mpp47"; +				marvell,function = "gpio"; +			}; +		}; +		serial@12000 { +			status = "okay"; +		}; + +		nand@3000000 { +			status = "okay"; + +			partition@0 { +				label = "u-boot"; +				reg = <0x0000000 0x100000>; +			}; + +			partition@100000 { +				label = "uImage"; +				reg = <0x0100000 0x400000>; +			}; + +			partition@500000 { +				label = "root"; +				reg = <0x0500000 0x1fb00000>; +			}; +		}; +	}; + +	regulators { +		compatible = "simple-bus"; +		#address-cells = <1>; +		#size-cells = <0>; + +		usb_power: regulator@1 { +			compatible = "regulator-fixed"; +			reg = <1>; +			regulator-name = "USB Power"; +			regulator-min-microvolt = <5000000>; +			regulator-max-microvolt = <5000000>; +			enable-active-high; +			regulator-always-on; +			regulator-boot-on; +			gpio = <&gpio0 29 0>; +		}; +	}; + +	gpio-leds { +		compatible = "gpio-leds"; + +		health { +			label = "sheevaplug:blue:health"; +			gpios = <&gpio1 17 1>; +			linux,default-trigger = "default-on"; +		}; +	}; +}; diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts b/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts new file mode 100644 index 000000000000..1c6946a62aa9 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts @@ -0,0 +1,40 @@ +/* + * kirkwood-sheevaplug-esata.dts - Device tree file for eSATA Sheevaplug + * + * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com> + * + * Licensed under GPLv2 + */ + +/dts-v1/; + +/include/ "kirkwood-sheevaplug-common.dtsi" + +/ { +	model = "Globalscale Technologies eSATA SheevaPlug"; +	compatible = "globalscale,sheevaplug-esata-rev13", "globalscale,sheevaplug-esata", "globalscale,sheevaplug", "marvell,kirkwood-88f6281", "marvell,kirkwood"; + +	ocp@f1000000 { +		pinctrl: pinctrl@10000 { + +			pinctrl-0 = < &pmx_nand &pmx_uart0 +				      &pmx_usb_power_enable +				      &pmx_led_blue>; +			pinctrl-names = "default"; + +		}; + +		sata@80000 { +			status = "okay"; +			nr-ports = <2>; +		}; + +		mvsdio@90000 { +			pinctrl-0 = <&pmx_sdio &pmx_sdio_cd &pmx_sdio_wp>; +			pinctrl-names = "default"; +			status = "okay"; +			cd-gpios = <&gpio1 12 1>; +			wp-gpios = <&gpio1 15 0>; +		}; +	}; +}; diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug.dts b/arch/arm/boot/dts/kirkwood-sheevaplug.dts new file mode 100644 index 000000000000..f7684066f0ce --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-sheevaplug.dts @@ -0,0 +1,45 @@ +/* + * kirkwood-sheevaplug-esata.dts - Device tree file for Sheevaplug + * + * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com> + * + * Licensed under GPLv2 + */ + +/dts-v1/; + +/include/ "kirkwood-sheevaplug-common.dtsi" + +/ { +	model = "Globalscale Technologies SheevaPlug"; +	compatible = "globalscale,sheevaplug", "marvell,kirkwood-88f6281", "marvell,kirkwood"; + +	ocp@f1000000 { +		pinctrl: pinctrl@10000 { + +			pinctrl-0 = < &pmx_nand &pmx_uart0 +				      &pmx_usb_power_enable +				      &pmx_led_red +				      &pmx_led_blue>; +			pinctrl-names = "default"; + +		}; + +		mvsdio@90000 { +			pinctrl-0 = <&pmx_sdio>; +			pinctrl-names = "default"; +			status = "okay"; +			/* No CD or WP GPIOs */ +			broken-cd; +		}; +	}; + +	gpio-leds { +		compatible = "gpio-leds"; + +		misc { +			label = "sheevaplug:red:misc"; +			gpios = <&gpio1 14 1>; +		}; +	}; +}; diff --git a/arch/arm/boot/dts/kirkwood-topkick.dts b/arch/arm/boot/dts/kirkwood-topkick.dts index 66eb45b00b25..f2052d7bc10f 100644 --- a/arch/arm/boot/dts/kirkwood-topkick.dts +++ b/arch/arm/boot/dts/kirkwood-topkick.dts @@ -19,18 +19,6 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 {  			/* -			 * GPIO LED layout -			 * -			 *       /-SYS_LED(2) -			 *       | -			 *       |   /-DISK_LED -			 *       |   | -			 *       |   |   /-WLAN_LED(2) -			 *       |   |   | -			 * [SW] [*] [*] [*] -			 */ - -			/*  			 * Switch positions  			 *  			 *     /-SW_LEFT(2) @@ -41,19 +29,8 @@  			 *     |   |   |  			 * PS [L] [I] [R] LEDS  			 */ -			pinctrl-0 = < &pmx_led_disk_yellow -				      &pmx_sata0_pwr_enable -				      &pmx_led_sys_red -				      &pmx_led_sys_blue -				      &pmx_led_wifi_green -				      &pmx_sw_left -				      &pmx_sw_right -				      &pmx_sw_idle -				      &pmx_sw_left2 -				      &pmx_led_wifi_yellow -				      &pmx_uart0 -				      &pmx_nand -				      &pmx_twsi0 >; +			pinctrl-0 = <&pmx_sw_left &pmx_sw_right +				     &pmx_sw_idle &pmx_sw_left2>;  			pinctrl-names = "default";  			pmx_led_disk_yellow: pmx-led-disk-yellow { @@ -109,10 +86,14 @@  		serial@12000 {  			status = "ok"; +			pinctrl-0 = <&pmx_uart0>; +			pinctrl-names = "default";  		};  		nand@3000000 {  			status = "okay"; +			pinctrl-0 = <&pmx_nand>; +			pinctrl-names = "default";  			partition@0 {  				label = "u-boot"; @@ -147,6 +128,8 @@  		i2c@11000 {  			status = "ok"; +			pinctrl-0 = <&pmx_twsi0>; +			pinctrl-names = "default";  		};  		mvsdio@90000 { @@ -154,11 +137,28 @@  			pinctrl-names = "default";  			status = "okay";  			/* No CD or WP GPIOs */ +			broken-cd;  		};  	};  	gpio-leds { +		/* +		 * GPIO LED layout +		 * +		 *       /-SYS_LED(2) +		 *       | +		 *       |   /-DISK_LED +		 *       |   | +		 *       |   |   /-WLAN_LED(2) +		 *       |   |   | +		 * [SW] [*] [*] [*] +		 */ +  		compatible = "gpio-leds"; +		pinctrl-0 = <&pmx_led_disk_yellow &pmx_led_sys_red +			     &pmx_led_sys_blue &pmx_led_wifi_green +			     &pmx_led_wifi_yellow>; +		pinctrl-names = "default";  		disk {  			label = "topkick:yellow:disk"; @@ -187,6 +187,8 @@  		compatible = "simple-bus";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_sata0_pwr_enable>; +		pinctrl-names = "default";  		sata0_power: regulator@1 {  			compatible = "regulator-fixed"; diff --git a/arch/arm/boot/dts/kirkwood-ts219-6281.dts b/arch/arm/boot/dts/kirkwood-ts219-6281.dts index 8295c833887f..a2a90c40befa 100644 --- a/arch/arm/boot/dts/kirkwood-ts219-6281.dts +++ b/arch/arm/boot/dts/kirkwood-ts219-6281.dts @@ -7,10 +7,7 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { -			pinctrl-0 = < &pmx_uart0 &pmx_uart1 &pmx_spi -				      &pmx_twsi0 &pmx_sata0 &pmx_sata1 -				      &pmx_ram_size &pmx_reset_button -				      &pmx_USB_copy_button &pmx_board_id>; +			pinctrl-0 = <&pmx_ram_size &pmx_board_id>;  			pinctrl-names = "default";  			pmx_ram_size: pmx-ram-size { @@ -38,6 +35,9 @@  		compatible = "gpio-keys";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_reset_button &pmx_USB_copy_button>; +		pinctrl-names = "default"; +  		button@1 {  			label = "USB Copy";  			linux,code = <133>; diff --git a/arch/arm/boot/dts/kirkwood-ts219-6282.dts b/arch/arm/boot/dts/kirkwood-ts219-6282.dts index df3f95dfba33..a4554cb8b954 100644 --- a/arch/arm/boot/dts/kirkwood-ts219-6282.dts +++ b/arch/arm/boot/dts/kirkwood-ts219-6282.dts @@ -7,10 +7,7 @@  	ocp@f1000000 {  		pinctrl: pinctrl@10000 { -			pinctrl-0 = < &pmx_uart0 &pmx_uart1 &pmx_spi -				      &pmx_twsi0 &pmx_sata0 &pmx_sata1 -				      &pmx_ram_size &pmx_reset_button -				      &pmx_USB_copy_button &pmx_board_id>; +			pinctrl-0 = <&pmx_ram_size &pmx_board_id>;  			pinctrl-names = "default";  			pmx_ram_size: pmx-ram-size { @@ -38,6 +35,9 @@  		compatible = "gpio-keys";  		#address-cells = <1>;  		#size-cells = <0>; +		pinctrl-0 = <&pmx_reset_button &pmx_USB_copy_button>; +		pinctrl-names = "default"; +  		button@1 {  			label = "USB Copy";  			linux,code = <133>; diff --git a/arch/arm/boot/dts/kirkwood-ts219.dtsi b/arch/arm/boot/dts/kirkwood-ts219.dtsi index 64ea27cb3298..b9325d45be78 100644 --- a/arch/arm/boot/dts/kirkwood-ts219.dtsi +++ b/arch/arm/boot/dts/kirkwood-ts219.dtsi @@ -17,6 +17,8 @@  		i2c@11000 {  			status = "okay";  			clock-frequency = <400000>; +			pinctrl-0 = <&pmx_twsi0>; +			pinctrl-names = "default";  			s35390a: s35390a@30 {  				compatible = "s35390a"; @@ -26,13 +28,19 @@  		serial@12000 {  			clock-frequency = <200000000>;  			status = "okay"; +			pinctrl-0 = <&pmx_uart0>; +			pinctrl-names = "default";  		};  		serial@12100 {  			clock-frequency = <200000000>;  			status = "okay"; +			pinctrl-0 = <&pmx_uart1>; +			pinctrl-names = "default";  		};  		spi@10600 {  			status = "okay"; +			pinctrl-0 = <&pmx_spi>; +			pinctrl-names = "default";  			m25p128@0 {  				#address-cells = <1>; @@ -71,6 +79,8 @@  			};  		};  		sata@80000 { +			pinctrl-0 = <&pmx_sata0 &pmx_sata1>; +			pinctrl-names = "default";  			status = "okay";  			nr-ports = <2>;  		}; diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi index fada7e6d24d8..e2a28db7a0a7 100644 --- a/arch/arm/boot/dts/kirkwood.dtsi +++ b/arch/arm/boot/dts/kirkwood.dtsi @@ -200,6 +200,10 @@  			reg = <0x90000 0x200>;  			interrupts = <28>;  			clocks = <&gate_clk 4>; +			bus-width = <4>; +			cap-sdio-irq; +			cap-sd-highspeed; +			cap-mmc-highspeed;  			status = "disabled";  		};  	};  | 
