-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: dts: sun7i: Add Merrii A20 Hummingbird board
This adds support for the A20 Hummingbird: http://www.merrii.com/en/pla_d.asp?id=171 This patch enable most on-board peripherals supported on current kernel, such as uart, i2c, spi, pwm, ohci/ehci, gmac and mmc. Reviewed-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Wills Wang <wills.wang.open@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
- Loading branch information
Wills Wang
authored and
Maxime Ripard
committed
Aug 19, 2014
1 parent
7b5bace
commit d95d6d4
Showing
2 changed files
with
237 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,236 @@ | ||
/* | ||
* Copyright 2013 Wills Wang | ||
* | ||
* Wills Wang <wills.wang.open@gmail.com> | ||
* | ||
* The code contained herein is licensed under the GNU General Public | ||
* License. You may obtain a copy of the GNU General Public License | ||
* Version 2 or later at the following locations: | ||
* | ||
* http://www.opensource.org/licenses/gpl-license.html | ||
* http://www.gnu.org/copyleft/gpl.html | ||
*/ | ||
|
||
/dts-v1/; | ||
/include/ "sun7i-a20.dtsi" | ||
/include/ "sunxi-common-regulators.dtsi" | ||
|
||
/ { | ||
model = "Merrii A20 Hummingbird"; | ||
compatible = "merrii,a20-hummingbird", "allwinner,sun7i-a20"; | ||
|
||
soc@01c00000 { | ||
mmc0: mmc@01c0f000 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; | ||
vmmc-supply = <®_vcc3v0>; | ||
bus-width = <4>; | ||
cd-gpios = <&pio 7 1 0>; /* PH1 */ | ||
cd-inverted; | ||
status = "okay"; | ||
}; | ||
|
||
mmc3: mmc@01c12000 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&mmc3_pins_a>; | ||
vmmc-supply = <®_mmc3_vdd>; | ||
bus-width = <4>; | ||
non-removable; | ||
status = "okay"; | ||
}; | ||
|
||
usbphy: phy@01c13400 { | ||
usb1_vbus-supply = <®_usb1_vbus>; | ||
usb2_vbus-supply = <®_usb2_vbus>; | ||
status = "okay"; | ||
}; | ||
|
||
ehci0: usb@01c14000 { | ||
status = "okay"; | ||
}; | ||
|
||
ohci0: usb@01c14400 { | ||
status = "okay"; | ||
}; | ||
|
||
ahci: sata@01c18000 { | ||
target-supply = <®_ahci_5v>; | ||
status = "okay"; | ||
}; | ||
|
||
ehci1: usb@01c1c000 { | ||
status = "okay"; | ||
}; | ||
|
||
ohci1: usb@01c1c400 { | ||
status = "okay"; | ||
}; | ||
|
||
pio: pinctrl@01c20800 { | ||
ahci_pwr_pin_a20_hummingbird: ahci_pwr_pin@0 { | ||
allwinner,pins = "PH15"; | ||
allwinner,function = "gpio_out"; | ||
allwinner,drive = <0>; | ||
allwinner,pull = <0>; | ||
}; | ||
|
||
usb1_vbus_pin_a20_hummingbird: usb1_vbus_pin@0 { | ||
allwinner,pins = "PH2"; | ||
allwinner,function = "gpio_out"; | ||
allwinner,drive = <0>; | ||
allwinner,pull = <0>; | ||
}; | ||
|
||
mmc3_vdd_pin_a20_hummingbird: mmc3_vdd_pin@0 { | ||
allwinner,pins = "PH9"; | ||
allwinner,function = "gpio_out"; | ||
allwinner,drive = <0>; | ||
allwinner,pull = <0>; | ||
}; | ||
|
||
gmac_vdd_pin_a20_hummingbird: gmac_vdd_pin@0 { | ||
allwinner,pins = "PH16"; | ||
allwinner,function = "gpio_out"; | ||
allwinner,drive = <0>; | ||
allwinner,pull = <0>; | ||
}; | ||
}; | ||
|
||
pwm: pwm@01c20e00 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&pwm0_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
ir0: ir@01c21800 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&ir0_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
uart0: serial@01c28000 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&uart0_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
uart2: serial@01c28800 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&uart2_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
uart3: serial@01c28c00 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&uart3_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
uart4: serial@01c29000 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&uart4_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
uart5: serial@01c29400 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&uart5_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
i2c0: i2c@01c2ac00 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&i2c0_pins_a>; | ||
status = "okay"; | ||
|
||
axp209: pmic@34 { | ||
compatible = "x-powers,axp209"; | ||
reg = <0x34>; | ||
interrupt-parent = <&nmi_intc>; | ||
interrupts = <0 8>; | ||
interrupt-controller; | ||
#interrupt-cells = <1>; | ||
}; | ||
}; | ||
|
||
i2c1: i2c@01c2b000 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&i2c1_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
i2c2: i2c@01c2b400 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&i2c2_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
i2c3: i2c@01c2b800 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&i2c3_pins_a>; | ||
status = "okay"; | ||
}; | ||
|
||
spi2: spi@01c17000 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&spi2_pins_b>; | ||
status = "okay"; | ||
}; | ||
|
||
gmac: ethernet@01c50000 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&gmac_pins_rgmii_a>; | ||
phy = <&phy1>; | ||
phy-mode = "rgmii"; | ||
phy-supply = <®_gmac_vdd>; | ||
/* phy reset config */ | ||
snps,reset-gpio = <&pio 0 17 0>; /* PA17 */ | ||
snps,reset-active-low; | ||
/* wait 1s after reset, otherwise fail to read phy id */ | ||
snps,reset-delays-us = <0 10000 1000000>; | ||
status = "okay"; | ||
|
||
phy1: ethernet-phy@1 { | ||
reg = <1>; | ||
}; | ||
}; | ||
}; | ||
|
||
reg_ahci_5v: ahci-5v { | ||
pinctrl-0 = <&ahci_pwr_pin_a20_hummingbird>; | ||
gpio = <&pio 7 15 0>; /* PH15 */ | ||
status = "okay"; | ||
}; | ||
|
||
reg_usb1_vbus: usb1-vbus { | ||
pinctrl-0 = <&usb1_vbus_pin_a20_hummingbird>; | ||
gpio = <&pio 7 2 0>; /* PH2 */ | ||
status = "okay"; | ||
}; | ||
|
||
reg_usb2_vbus: usb2-vbus { | ||
status = "okay"; | ||
}; | ||
|
||
reg_mmc3_vdd: mmc3_vdd { | ||
compatible = "regulator-fixed"; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&mmc3_vdd_pin_a20_hummingbird>; | ||
regulator-name = "mmc3_vdd"; | ||
regulator-min-microvolt = <3000000>; | ||
regulator-max-microvolt = <3000000>; | ||
enable-active-high; | ||
gpio = <&pio 7 9 0>; /* PH9 */ | ||
}; | ||
|
||
reg_gmac_vdd: gmac_vdd { | ||
compatible = "regulator-fixed"; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&gmac_vdd_pin_a20_hummingbird>; | ||
regulator-name = "gmac_vdd"; | ||
regulator-min-microvolt = <3000000>; | ||
regulator-max-microvolt = <3000000>; | ||
enable-active-high; | ||
gpio = <&pio 7 16 0>; /* PH16 */ | ||
}; | ||
}; |