sunxi: Split out common board design for ALL-H3-CC device tree
The Libre Computer Project ALL-H3-CC has three models, all using the same board design, but with different pin compatible SoCs and amount of DRAM. Currently only the H3 1GB DRAM variant is supported. To support the two other variants, first split the original device tree into a common board design part and an SoC specific part. The SoC part only defines which SoC is used and model name, and includes the SoC specific dtsi file and the common design dtsi file. Also fix up the SPDX identifier line to use the correct comment style, and place it on the first line. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
This commit is contained in:
		
							parent
							
								
									dccff21312
								
							
						
					
					
						commit
						d7b17f1c24
					
				|  | @ -1,175 +1,13 @@ | ||||||
|  | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||||
| /* | /* | ||||||
|  * Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org> |  * Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org> | ||||||
|  * |  | ||||||
|  * SPDX-License-Identifier: (GPL-2.0+ OR MIT) |  | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| /dts-v1/; | /dts-v1/; | ||||||
| #include "sun8i-h3.dtsi" | #include "sun8i-h3.dtsi" | ||||||
| 
 | #include "sunxi-libretech-all-h3-cc.dtsi" | ||||||
| #include <dt-bindings/gpio/gpio.h> |  | ||||||
| #include <dt-bindings/input/input.h> |  | ||||||
| 
 | 
 | ||||||
| / { | / { | ||||||
| 	model = "Libre Computer Board ALL-H3-CC H3"; | 	model = "Libre Computer Board ALL-H3-CC H3"; | ||||||
| 	compatible = "libretech,all-h3-cc-h3", "allwinner,sun8i-h3"; | 	compatible = "libretech,all-h3-cc-h3", "allwinner,sun8i-h3"; | ||||||
| 
 |  | ||||||
| 	aliases { |  | ||||||
| 		ethernet0 = &emac; |  | ||||||
| 		serial0 = &uart0; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	chosen { |  | ||||||
| 		stdout-path = "serial0:115200n8"; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	leds { |  | ||||||
| 		compatible = "gpio-leds"; |  | ||||||
| 
 |  | ||||||
| 		pwr_led { |  | ||||||
| 			label = "librecomputer:green:pwr"; |  | ||||||
| 			gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ |  | ||||||
| 			default-state = "on"; |  | ||||||
| 		}; |  | ||||||
| 
 |  | ||||||
| 		status_led { |  | ||||||
| 			label = "librecomputer:blue:status"; |  | ||||||
| 			gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */ |  | ||||||
| 		}; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	gpio_keys { |  | ||||||
| 		compatible = "gpio-keys"; |  | ||||||
| 
 |  | ||||||
| 		power { |  | ||||||
| 			label = "power"; |  | ||||||
| 			linux,code = <KEY_POWER>; |  | ||||||
| 			gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ |  | ||||||
| 		}; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	reg_vcc1v2: vcc1v2 { |  | ||||||
| 		compatible = "regulator-fixed"; |  | ||||||
| 		regulator-name = "vcc1v2"; |  | ||||||
| 		regulator-min-microvolt = <3300000>; |  | ||||||
| 		regulator-max-microvolt = <3300000>; |  | ||||||
| 		regulator-always-on; |  | ||||||
| 		regulator-boot-on; |  | ||||||
| 		vin-supply = <®_vcc5v0>; |  | ||||||
| 		gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ |  | ||||||
| 		enable-active-high; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	reg_vcc3v3: vcc3v3 { |  | ||||||
| 		compatible = "regulator-fixed"; |  | ||||||
| 		regulator-name = "vcc3v3"; |  | ||||||
| 		regulator-min-microvolt = <3300000>; |  | ||||||
| 		regulator-max-microvolt = <3300000>; |  | ||||||
| 		vin-supply = <®_vcc5v0>; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	/* This represents the board's 5V input */ |  | ||||||
| 	reg_vcc5v0: vcc5v0 { |  | ||||||
| 		compatible = "regulator-fixed"; |  | ||||||
| 		regulator-name = "vcc5v0"; |  | ||||||
| 		regulator-min-microvolt = <5000000>; |  | ||||||
| 		regulator-max-microvolt = <5000000>; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	reg_vcc_dram: vcc-dram { |  | ||||||
| 		compatible = "regulator-fixed"; |  | ||||||
| 		regulator-name = "vcc-dram"; |  | ||||||
| 		regulator-min-microvolt = <1500000>; |  | ||||||
| 		regulator-max-microvolt = <1500000>; |  | ||||||
| 		regulator-always-on; |  | ||||||
| 		regulator-boot-on; |  | ||||||
| 		vin-supply = <®_vcc5v0>; |  | ||||||
| 		gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */ |  | ||||||
| 		enable-active-high; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	reg_vcc_io: vcc-io { |  | ||||||
| 		compatible = "regulator-fixed"; |  | ||||||
| 		regulator-name = "vcc-io"; |  | ||||||
| 		regulator-min-microvolt = <3300000>; |  | ||||||
| 		regulator-max-microvolt = <3300000>; |  | ||||||
| 		regulator-always-on; |  | ||||||
| 		regulator-boot-on; |  | ||||||
| 		vin-supply = <®_vcc3v3>; |  | ||||||
| 		gpio = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */ |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	reg_vdd_cpux: vdd-cpux { |  | ||||||
| 		compatible = "regulator-fixed"; |  | ||||||
| 		regulator-name = "vdd-cpux"; |  | ||||||
| 		regulator-min-microvolt = <3300000>; |  | ||||||
| 		regulator-max-microvolt = <3300000>; |  | ||||||
| 		regulator-always-on; |  | ||||||
| 		regulator-boot-on; |  | ||||||
| 		vin-supply = <®_vcc5v0>; |  | ||||||
| 		gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ |  | ||||||
| 		enable-active-high; |  | ||||||
| 	}; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &ehci1 { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &ehci2 { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &ehci3 { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &emac { |  | ||||||
| 	phy-handle = <&int_mii_phy>; |  | ||||||
| 	phy-mode = "mii"; |  | ||||||
| 	allwinner,leds-active-low; |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &ir { |  | ||||||
| 	pinctrl-names = "default"; |  | ||||||
| 	pinctrl-0 = <&ir_pins_a>; |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &mmc0 { |  | ||||||
| 	pinctrl-names = "default"; |  | ||||||
| 	pinctrl-0 = <&mmc0_pins_a>; |  | ||||||
| 	vmmc-supply = <®_vcc_io>; |  | ||||||
| 	bus-width = <4>; |  | ||||||
| 	cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ |  | ||||||
| 	cd-inverted; |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &ohci1 { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &ohci2 { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &ohci3 { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &uart0 { |  | ||||||
| 	pinctrl-names = "default"; |  | ||||||
| 	pinctrl-0 = <&uart0_pins_a>; |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &usbphy { |  | ||||||
| 	/* VBUS on USB ports are always on */ |  | ||||||
| 	usb0_vbus-supply = <®_vcc5v0>; |  | ||||||
| 	usb1_vbus-supply = <®_vcc5v0>; |  | ||||||
| 	usb2_vbus-supply = <®_vcc5v0>; |  | ||||||
| 	usb3_vbus-supply = <®_vcc5v0>; |  | ||||||
| 	status = "okay"; |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -0,0 +1,168 @@ | ||||||
|  | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||||
|  | /* | ||||||
|  |  * Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org> | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  | 
 | ||||||
|  | / { | ||||||
|  | 	aliases { | ||||||
|  | 		ethernet0 = &emac; | ||||||
|  | 		serial0 = &uart0; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	chosen { | ||||||
|  | 		stdout-path = "serial0:115200n8"; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  | 
 | ||||||
|  | 		pwr_led { | ||||||
|  | 			label = "librecomputer:green:pwr"; | ||||||
|  | 			gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ | ||||||
|  | 			default-state = "on"; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		status_led { | ||||||
|  | 			label = "librecomputer:blue:status"; | ||||||
|  | 			gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */ | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	gpio_keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  | 
 | ||||||
|  | 		power { | ||||||
|  | 			label = "power"; | ||||||
|  | 			linux,code = <KEY_POWER>; | ||||||
|  | 			gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	reg_vcc1v2: vcc1v2 { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "vcc1v2"; | ||||||
|  | 		regulator-min-microvolt = <3300000>; | ||||||
|  | 		regulator-max-microvolt = <3300000>; | ||||||
|  | 		regulator-always-on; | ||||||
|  | 		regulator-boot-on; | ||||||
|  | 		vin-supply = <®_vcc5v0>; | ||||||
|  | 		gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ | ||||||
|  | 		enable-active-high; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	reg_vcc3v3: vcc3v3 { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "vcc3v3"; | ||||||
|  | 		regulator-min-microvolt = <3300000>; | ||||||
|  | 		regulator-max-microvolt = <3300000>; | ||||||
|  | 		vin-supply = <®_vcc5v0>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	/* This represents the board's 5V input */ | ||||||
|  | 	reg_vcc5v0: vcc5v0 { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "vcc5v0"; | ||||||
|  | 		regulator-min-microvolt = <5000000>; | ||||||
|  | 		regulator-max-microvolt = <5000000>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	reg_vcc_dram: vcc-dram { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "vcc-dram"; | ||||||
|  | 		regulator-min-microvolt = <1500000>; | ||||||
|  | 		regulator-max-microvolt = <1500000>; | ||||||
|  | 		regulator-always-on; | ||||||
|  | 		regulator-boot-on; | ||||||
|  | 		vin-supply = <®_vcc5v0>; | ||||||
|  | 		gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */ | ||||||
|  | 		enable-active-high; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	reg_vcc_io: vcc-io { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "vcc-io"; | ||||||
|  | 		regulator-min-microvolt = <3300000>; | ||||||
|  | 		regulator-max-microvolt = <3300000>; | ||||||
|  | 		regulator-always-on; | ||||||
|  | 		regulator-boot-on; | ||||||
|  | 		vin-supply = <®_vcc3v3>; | ||||||
|  | 		gpio = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */ | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	reg_vdd_cpux: vdd-cpux { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "vdd-cpux"; | ||||||
|  | 		regulator-min-microvolt = <3300000>; | ||||||
|  | 		regulator-max-microvolt = <3300000>; | ||||||
|  | 		regulator-always-on; | ||||||
|  | 		regulator-boot-on; | ||||||
|  | 		vin-supply = <®_vcc5v0>; | ||||||
|  | 		gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ | ||||||
|  | 		enable-active-high; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &ehci1 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &ehci2 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &ehci3 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &emac { | ||||||
|  | 	phy-handle = <&int_mii_phy>; | ||||||
|  | 	phy-mode = "mii"; | ||||||
|  | 	allwinner,leds-active-low; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &ir { | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	pinctrl-0 = <&ir_pins_a>; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &mmc0 { | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	pinctrl-0 = <&mmc0_pins_a>; | ||||||
|  | 	vmmc-supply = <®_vcc_io>; | ||||||
|  | 	bus-width = <4>; | ||||||
|  | 	cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ | ||||||
|  | 	cd-inverted; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &ohci1 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &ohci2 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &ohci3 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart0 { | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	pinctrl-0 = <&uart0_pins_a>; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &usbphy { | ||||||
|  | 	/* VBUS on USB ports are always on */ | ||||||
|  | 	usb0_vbus-supply = <®_vcc5v0>; | ||||||
|  | 	usb1_vbus-supply = <®_vcc5v0>; | ||||||
|  | 	usb2_vbus-supply = <®_vcc5v0>; | ||||||
|  | 	usb3_vbus-supply = <®_vcc5v0>; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
		Loading…
	
		Reference in New Issue