mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 08:16:41 +07:00
Allwinner DT additions for 3.16
- Introduction of the MMC controlers - New board: A10s R7, Mele M9, APP4-EVB1 - Enabled the PMU on the Cortex A7-based SoCs -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJTdf7wAAoJEBx+YmzsjxAg0+gP/13p44oOdcr9NHt7hQgLWHwS pkCKvEA7z01WgFl2ZmAa8JADJT1blAC31jQMO/sEVxHjIpvPBpBHqzEYndBzy7/x 1GjW4wUTYXaHLvJyOWN8nI2sGfooWv9zqcRJxOSYZ+njs89vsT5uzUSPv/wQb/zf Fi/daMdhQzlnWrrahoIEy5xWwRLjMmnFNIJXHdh5sU/GmXC9nvCqdFn2p0li7bwv d9+G4CVcM+aCOBgKqEberTAGlpmPzFO/N7+CMl03U4mbGYpxoSt1Ngo9hA5L3UGX 9LF8ech9EIY5/W6dEayHPAUNbuRcVzqE4ANMMMTcYKxs5ttxi6ZPqCbyrW6Q5NIN ndHqN9+V1Ug8aJGbtyXC7lkFR0uk9aMmOw0dGhSvXhVwknnNAPJgk2kf9g52WJoW 2c6pQ6R1N98Uh+7ltv3ws+Zsj0qf1xHQEPuQ2r9TY44z5N6na5w17EEnJunovE6J wzdam0I25PCbHkSybeQHqWIQRstDz1ONKs0i4f5U1Qo9r0oPgMy2haQQuRjD3U0y UrbwBqP0178ogLbb0Yu0fMG6UWqduEivh/p7B2+315Eznml+xG/603eeFdvxkB7C caSRz5KoNG4BUv56Y5++MeSVm0dQKSiNWW6W1OH4JPFH8bIu1TwOJV4sSKsOA+vg 40UzstT5T05mf4jD2U9J =N37P -----END PGP SIGNATURE----- Merge tag 'sunxi-dt-for-3.16' of https://github.com/mripard/linux into next/dt Merge "Allwinner DT additions for 3.16" from Maxime Ripard: - Introduction of the MMC controlers - New board: A10s R7, Mele M9, APP4-EVB1 - Enabled the PMU on the Cortex A7-based SoCs * tag 'sunxi-dt-for-3.16' of https://github.com/mripard/linux: (38 commits) ARM: sunxi: dt: declare the r_pio pin controller for A31 SoC ARM: sunxi: dt: add PRCM clk and reset controller subdevices ARM: sunxi: dt: add APP4-EVB1 board support ARM: sun6i: dt: Add support for the USB controllers ARM: sun6i: Add the USB clocks to the DTSI ARM: dts: sun5i: Add new A10s r7 hdmi tv dongle board ARM: dts: sun7i: Add reg_vcc3v3 to sun7i board mmc nodes ARM: dts: sun6i: Add reg_vcc3v3 to sun6i board mmc nodes ARM: dts: sun5i: Add reg_vcc3v3 to sun5i board mmc nodes ARM: dts: sun4i: Add reg_vcc3v3 to sun4i board mmc nodes ARM: dts: sunxi: Add reg_vcc3v3 supply to sunxi-common-regulators.dtsi ARM: dts: sun7i: Add basic support for the Cubietruck WiFi module ARM: dts: sun7i: Enable mmc controller on various A20 boards ARM: dts: sun7i: Add pin-muxing info for the mmc controllers ARM: dts: sun7i: Add mmc controller nodes ARM: dts: sun6i: Add new sun6i-a31-m9 dts file for Mele M9 ARM: dts: sun6i: Add mmc controller nodes ARM: dts: sun6i: Add mmc clocks ARM: dts: sun5i: Enable mmc controller on various A10s and A13 boards ARM: dts: sun5i: Add mmc controller nodes ... Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
a59a591104
@ -343,9 +343,12 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
|
||||
sun4i-a10-olinuxino-lime.dtb \
|
||||
sun4i-a10-pcduino.dtb \
|
||||
sun5i-a10s-olinuxino-micro.dtb \
|
||||
sun5i-a10s-r7-tv-dongle.dtb \
|
||||
sun5i-a13-olinuxino.dtb \
|
||||
sun5i-a13-olinuxino-micro.dtb \
|
||||
sun6i-a31-app4-evb1.dtb \
|
||||
sun6i-a31-colombus.dtb \
|
||||
sun6i-a31-m9.dtb \
|
||||
sun7i-a20-cubieboard2.dtb \
|
||||
sun7i-a20-cubietruck.dtb \
|
||||
sun7i-a20-olinuxino-micro.dtb
|
||||
|
@ -36,6 +36,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
|
@ -34,6 +34,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
|
@ -36,6 +36,16 @@ phy0: ethernet-phy@0 {
|
||||
};
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
|
@ -24,6 +24,16 @@ aliases {
|
||||
};
|
||||
|
||||
soc@01c00000 {
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
uart0: serial@01c28000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
|
@ -20,6 +20,16 @@ / {
|
||||
compatible = "pineriver,mini-xplus", "allwinner,sun4i-a10";
|
||||
|
||||
soc@01c00000 {
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
|
@ -33,6 +33,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
|
@ -34,6 +34,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
|
@ -377,6 +377,42 @@ mdio@01c0b080 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
compatible = "allwinner,sun4i-a10-mmc";
|
||||
reg = <0x01c0f000 0x1000>;
|
||||
clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <32>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc1: mmc@01c10000 {
|
||||
compatible = "allwinner,sun4i-a10-mmc";
|
||||
reg = <0x01c10000 0x1000>;
|
||||
clocks = <&ahb_gates 9>, <&mmc1_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <33>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc2: mmc@01c11000 {
|
||||
compatible = "allwinner,sun4i-a10-mmc";
|
||||
reg = <0x01c11000 0x1000>;
|
||||
clocks = <&ahb_gates 10>, <&mmc2_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <34>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc3: mmc@01c12000 {
|
||||
compatible = "allwinner,sun4i-a10-mmc";
|
||||
reg = <0x01c12000 0x1000>;
|
||||
clocks = <&ahb_gates 11>, <&mmc3_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <35>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
#phy-cells = <1>;
|
||||
compatible = "allwinner,sun4i-a10-usb-phy";
|
||||
@ -477,6 +513,20 @@ pio: pinctrl@01c20800 {
|
||||
#size-cells = <0>;
|
||||
#gpio-cells = <3>;
|
||||
|
||||
pwm0_pins_a: pwm0@0 {
|
||||
allwinner,pins = "PB2";
|
||||
allwinner,function = "pwm";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
pwm1_pins_a: pwm1@0 {
|
||||
allwinner,pins = "PI3";
|
||||
allwinner,function = "pwm";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
uart0_pins_a: uart0@0 {
|
||||
allwinner,pins = "PB22", "PB23";
|
||||
allwinner,function = "uart0";
|
||||
@ -529,6 +579,20 @@ emac_pins_a: emac0@0 {
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
mmc0_pins_a: mmc0@0 {
|
||||
allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
allwinner,function = "mmc0";
|
||||
allwinner,drive = <2>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PH1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
timer@01c20c00 {
|
||||
@ -549,6 +613,14 @@ rtc: rtc@01c20d00 {
|
||||
interrupts = <24>;
|
||||
};
|
||||
|
||||
pwm: pwm@01c20e00 {
|
||||
compatible = "allwinner,sun4i-a10-pwm";
|
||||
reg = <0x01c20e00 0xc>;
|
||||
clocks = <&osc24M>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sid: eeprom@01c23800 {
|
||||
compatible = "allwinner,sun4i-a10-sid";
|
||||
reg = <0x01c23800 0x10>;
|
||||
@ -647,6 +719,8 @@ i2c0: i2c@01c2ac00 {
|
||||
clocks = <&apb1_gates 0>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c1: i2c@01c2b000 {
|
||||
@ -656,6 +730,8 @@ i2c1: i2c@01c2b000 {
|
||||
clocks = <&apb1_gates 1>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c2: i2c@01c2b400 {
|
||||
@ -665,6 +741,8 @@ i2c2: i2c@01c2b400 {
|
||||
clocks = <&apb1_gates 2>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -35,6 +35,26 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 1 0>; /* PG1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
mmc1: mmc@01c10000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 13 0>; /* PG13 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
@ -49,6 +69,20 @@ ohci0: usb@01c14400 {
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
|
||||
mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 {
|
||||
allwinner,pins = "PG13";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
|
||||
led_pins_olinuxino: led_pins@0 {
|
||||
allwinner,pins = "PE3";
|
||||
allwinner,function = "gpio_out";
|
||||
|
100
arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts
Normal file
100
arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts
Normal file
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright 2014 Hans de Goede <hdegoede@redhat.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/ "sun5i-a10s.dtsi"
|
||||
/include/ "sunxi-common-regulators.dtsi"
|
||||
|
||||
/ {
|
||||
model = "R7 A10s hdmi tv-stick";
|
||||
compatible = "allwinner,r7-tv-dongle", "allwinner,sun5i-a10s";
|
||||
|
||||
soc@01c00000 {
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_r7>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 1 0>; /* PG1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
mmc1: mmc@01c10000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ehci0: usb@01c14000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ohci0: usb@01c14400 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
mmc0_cd_pin_r7: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
|
||||
led_pins_r7: led_pins@0 {
|
||||
allwinner,pins = "PB2";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <1>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
usb1_vbus_pin_r7: usb1_vbus_pin@0 {
|
||||
allwinner,pins = "PG13";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0: serial@01c28000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_r7>;
|
||||
|
||||
green {
|
||||
label = "r7-tv-dongle:green:usr";
|
||||
gpios = <&pio 1 2 0>;
|
||||
default-state = "on";
|
||||
};
|
||||
};
|
||||
|
||||
reg_usb1_vbus: usb1-vbus {
|
||||
pinctrl-0 = <&usb1_vbus_pin_r7>;
|
||||
gpio = <&pio 6 13 0>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
@ -338,6 +338,33 @@ mdio@01c0b080 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c0f000 0x1000>;
|
||||
clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <32>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc1: mmc@01c10000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c10000 0x1000>;
|
||||
clocks = <&ahb_gates 9>, <&mmc1_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <33>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc2: mmc@01c11000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c11000 0x1000>;
|
||||
clocks = <&ahb_gates 10>, <&mmc2_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <34>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
#phy-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a13-usb-phy";
|
||||
@ -451,6 +478,20 @@ i2c2_pins_a: i2c2@0 {
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
mmc0_pins_a: mmc0@0 {
|
||||
allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
allwinner,function = "mmc0";
|
||||
allwinner,drive = <2>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
mmc1_pins_a: mmc1@0 {
|
||||
allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8";
|
||||
allwinner,function = "mmc1";
|
||||
allwinner,drive = <2>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
timer@01c20c00 {
|
||||
|
@ -21,6 +21,16 @@ / {
|
||||
compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13";
|
||||
|
||||
soc@01c00000 {
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 0>; /* PG0 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
@ -35,6 +45,13 @@ ohci0: usb@01c14400 {
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG0";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
|
||||
led_pins_olinuxinom: led_pins@0 {
|
||||
allwinner,pins = "PG9";
|
||||
allwinner,function = "gpio_out";
|
||||
|
@ -20,6 +20,16 @@ / {
|
||||
compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13";
|
||||
|
||||
soc@01c00000 {
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 0>; /* PG0 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
@ -34,6 +44,13 @@ ohci0: usb@01c14400 {
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG0";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
|
||||
led_pins_olinuxino: led_pins@0 {
|
||||
allwinner,pins = "PG9";
|
||||
allwinner,function = "gpio_out";
|
||||
|
@ -320,6 +320,24 @@ spi1: spi@01c06000 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c0f000 0x1000>;
|
||||
clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <32>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc2: mmc@01c11000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c11000 0x1000>;
|
||||
clocks = <&ahb_gates 10>, <&mmc2_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <34>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
#phy-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a13-usb-phy";
|
||||
@ -415,6 +433,13 @@ i2c2_pins_a: i2c2@0 {
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
mmc0_pins_a: mmc0@0 {
|
||||
allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
allwinner,function = "mmc0";
|
||||
allwinner,drive = <2>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
timer@01c20c00 {
|
||||
@ -467,6 +492,8 @@ i2c0: i2c@01c2ac00 {
|
||||
clocks = <&apb1_gates 0>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c1: i2c@01c2b000 {
|
||||
@ -476,6 +503,8 @@ i2c1: i2c@01c2b000 {
|
||||
clocks = <&apb1_gates 1>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c2: i2c@01c2b400 {
|
||||
@ -485,6 +514,8 @@ i2c2: i2c@01c2b400 {
|
||||
clocks = <&apb1_gates 2>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
timer@01c60000 {
|
||||
|
57
arch/arm/boot/dts/sun6i-a31-app4-evb1.dts
Normal file
57
arch/arm/boot/dts/sun6i-a31-app4-evb1.dts
Normal file
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Copyright 2014 Boris Brezillon
|
||||
*
|
||||
* Boris Brezillon <boris.brezillon@free-electrons.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/ "sun6i-a31.dtsi"
|
||||
/include/ "sunxi-common-regulators.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Allwinner A31 APP4 EVB1 Evaluation Board";
|
||||
compatible = "allwinner,app4-evb1", "allwinner,sun6i-a31";
|
||||
|
||||
chosen {
|
||||
bootargs = "earlyprintk console=ttyS0,115200";
|
||||
};
|
||||
|
||||
soc@01c00000 {
|
||||
pio: pinctrl@01c20800 {
|
||||
usb1_vbus_pin_a: usb1_vbus_pin@0 {
|
||||
allwinner,pins = "PH27";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
usbphy: phy@01c19400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ehci0: usb@01c1a000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
uart0: serial@01c28000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
reg_usb1_vbus: usb1-vbus {
|
||||
pinctrl-0 = <&usb1_vbus_pin_a>;
|
||||
gpio = <&pio 7 27 0>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
50
arch/arm/boot/dts/sun6i-a31-m9.dts
Normal file
50
arch/arm/boot/dts/sun6i-a31-m9.dts
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright 2014 Hans de Goede <hdegoede@redhat.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/ "sun6i-a31.dtsi"
|
||||
/include/ "sunxi-common-regulators.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Mele M9 / A1000G Quad top set box";
|
||||
compatible = "mele,m9", "allwinner,sun6i-a31";
|
||||
|
||||
chosen {
|
||||
bootargs = "earlyprintk console=ttyS0,115200";
|
||||
};
|
||||
|
||||
soc@01c00000 {
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 22 0>; /* PH22 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pio: pinctrl@01c20800 {
|
||||
mmc0_cd_pin_m9: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PH22";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0: serial@01c28000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
@ -59,6 +59,14 @@ memory {
|
||||
reg = <0x40000000 0x80000000>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu";
|
||||
interrupts = <0 120 4>,
|
||||
<0 121 4>,
|
||||
<0 122 4>,
|
||||
<0 123 4>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@ -198,6 +206,38 @@ apb2_gates: clk@01c2006c {
|
||||
"apb2_uart4", "apb2_uart5";
|
||||
};
|
||||
|
||||
mmc0_clk: clk@01c20088 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-mod0-clk";
|
||||
reg = <0x01c20088 0x4>;
|
||||
clocks = <&osc24M>, <&pll6>;
|
||||
clock-output-names = "mmc0";
|
||||
};
|
||||
|
||||
mmc1_clk: clk@01c2008c {
|
||||
#clock-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-mod0-clk";
|
||||
reg = <0x01c2008c 0x4>;
|
||||
clocks = <&osc24M>, <&pll6>;
|
||||
clock-output-names = "mmc1";
|
||||
};
|
||||
|
||||
mmc2_clk: clk@01c20090 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-mod0-clk";
|
||||
reg = <0x01c20090 0x4>;
|
||||
clocks = <&osc24M>, <&pll6>;
|
||||
clock-output-names = "mmc2";
|
||||
};
|
||||
|
||||
mmc3_clk: clk@01c20094 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-mod0-clk";
|
||||
reg = <0x01c20094 0x4>;
|
||||
clocks = <&osc24M>, <&pll6>;
|
||||
clock-output-names = "mmc3";
|
||||
};
|
||||
|
||||
spi0_clk: clk@01c200a0 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-mod0-clk";
|
||||
@ -229,6 +269,17 @@ spi3_clk: clk@01c200ac {
|
||||
clocks = <&osc24M>, <&pll6>;
|
||||
clock-output-names = "spi3";
|
||||
};
|
||||
|
||||
usb_clk: clk@01c200cc {
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
compatible = "allwinner,sun6i-a31-usb-clk";
|
||||
reg = <0x01c200cc 0x4>;
|
||||
clocks = <&osc24M>;
|
||||
clock-output-names = "usb_phy0", "usb_phy1", "usb_phy2",
|
||||
"usb_ohci0", "usb_ohci1",
|
||||
"usb_ohci2";
|
||||
};
|
||||
};
|
||||
|
||||
soc@01c00000 {
|
||||
@ -237,12 +288,134 @@ soc@01c00000 {
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
nmi_intc: interrupt-controller@01f00c0c {
|
||||
compatible = "allwinner,sun6i-a31-sc-nmi";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <0x01f00c0c 0x38>;
|
||||
interrupts = <0 32 4>;
|
||||
dma: dma-controller@01c02000 {
|
||||
compatible = "allwinner,sun6i-a31-dma";
|
||||
reg = <0x01c02000 0x1000>;
|
||||
interrupts = <0 50 4>;
|
||||
clocks = <&ahb1_gates 6>;
|
||||
resets = <&ahb1_rst 6>;
|
||||
#dma-cells = <1>;
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c0f000 0x1000>;
|
||||
clocks = <&ahb1_gates 8>, <&mmc0_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ahb1_rst 8>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <0 60 4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc1: mmc@01c10000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c10000 0x1000>;
|
||||
clocks = <&ahb1_gates 9>, <&mmc1_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ahb1_rst 9>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <0 61 4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc2: mmc@01c11000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c11000 0x1000>;
|
||||
clocks = <&ahb1_gates 10>, <&mmc2_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ahb1_rst 10>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <0 62 4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc3: mmc@01c12000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c12000 0x1000>;
|
||||
clocks = <&ahb1_gates 11>, <&mmc3_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ahb1_rst 11>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <0 63 4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbphy: phy@01c19400 {
|
||||
compatible = "allwinner,sun6i-a31-usb-phy";
|
||||
reg = <0x01c19400 0x10>,
|
||||
<0x01c1a800 0x4>,
|
||||
<0x01c1b800 0x4>;
|
||||
reg-names = "phy_ctrl",
|
||||
"pmu1",
|
||||
"pmu2";
|
||||
clocks = <&usb_clk 8>,
|
||||
<&usb_clk 9>,
|
||||
<&usb_clk 10>;
|
||||
clock-names = "usb0_phy",
|
||||
"usb1_phy",
|
||||
"usb2_phy";
|
||||
resets = <&usb_clk 0>,
|
||||
<&usb_clk 1>,
|
||||
<&usb_clk 2>;
|
||||
reset-names = "usb0_reset",
|
||||
"usb1_reset",
|
||||
"usb2_reset";
|
||||
status = "disabled";
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
ehci0: usb@01c1a000 {
|
||||
compatible = "allwinner,sun6i-a31-ehci", "generic-ehci";
|
||||
reg = <0x01c1a000 0x100>;
|
||||
interrupts = <0 72 4>;
|
||||
clocks = <&ahb1_gates 26>;
|
||||
resets = <&ahb1_rst 26>;
|
||||
phys = <&usbphy 1>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci0: usb@01c1a400 {
|
||||
compatible = "allwinner,sun6i-a31-ohci", "generic-ohci";
|
||||
reg = <0x01c1a400 0x100>;
|
||||
interrupts = <0 73 4>;
|
||||
clocks = <&ahb1_gates 29>, <&usb_clk 16>;
|
||||
resets = <&ahb1_rst 29>;
|
||||
phys = <&usbphy 1>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ehci1: usb@01c1b000 {
|
||||
compatible = "allwinner,sun6i-a31-ehci", "generic-ehci";
|
||||
reg = <0x01c1b000 0x100>;
|
||||
interrupts = <0 74 4>;
|
||||
clocks = <&ahb1_gates 27>;
|
||||
resets = <&ahb1_rst 27>;
|
||||
phys = <&usbphy 2>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci1: usb@01c1b400 {
|
||||
compatible = "allwinner,sun6i-a31-ohci", "generic-ohci";
|
||||
reg = <0x01c1b400 0x100>;
|
||||
interrupts = <0 75 4>;
|
||||
clocks = <&ahb1_gates 30>, <&usb_clk 17>;
|
||||
resets = <&ahb1_rst 30>;
|
||||
phys = <&usbphy 2>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci2: usb@01c1c000 {
|
||||
compatible = "allwinner,sun6i-a31-ohci", "generic-ohci";
|
||||
reg = <0x01c1c400 0x100>;
|
||||
interrupts = <0 77 4>;
|
||||
clocks = <&ahb1_gates 31>, <&usb_clk 18>;
|
||||
resets = <&ahb1_rst 31>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pio: pinctrl@01c20800 {
|
||||
@ -286,6 +459,13 @@ i2c2_pins_a: i2c2@0 {
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
mmc0_pins_a: mmc0@0 {
|
||||
allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
allwinner,function = "mmc0";
|
||||
allwinner,drive = <2>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
ahb1_rst: reset@01c202c0 {
|
||||
@ -330,6 +510,8 @@ uart0: serial@01c28000 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&apb2_gates 16>;
|
||||
resets = <&apb2_rst 16>;
|
||||
dmas = <&dma 6>, <&dma 6>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -341,6 +523,8 @@ uart1: serial@01c28400 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&apb2_gates 17>;
|
||||
resets = <&apb2_rst 17>;
|
||||
dmas = <&dma 7>, <&dma 7>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -352,6 +536,8 @@ uart2: serial@01c28800 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&apb2_gates 18>;
|
||||
resets = <&apb2_rst 18>;
|
||||
dmas = <&dma 8>, <&dma 8>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -363,6 +549,8 @@ uart3: serial@01c28c00 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&apb2_gates 19>;
|
||||
resets = <&apb2_rst 19>;
|
||||
dmas = <&dma 9>, <&dma 9>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -374,6 +562,8 @@ uart4: serial@01c29000 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&apb2_gates 20>;
|
||||
resets = <&apb2_rst 20>;
|
||||
dmas = <&dma 10>, <&dma 10>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -385,6 +575,8 @@ uart5: serial@01c29400 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&apb2_gates 21>;
|
||||
resets = <&apb2_rst 21>;
|
||||
dmas = <&dma 22>, <&dma 22>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -434,6 +626,8 @@ spi0: spi@01c68000 {
|
||||
interrupts = <0 65 4>;
|
||||
clocks = <&ahb1_gates 20>, <&spi0_clk>;
|
||||
clock-names = "ahb", "mod";
|
||||
dmas = <&dma 23>, <&dma 23>;
|
||||
dma-names = "rx", "tx";
|
||||
resets = <&ahb1_rst 20>;
|
||||
status = "disabled";
|
||||
};
|
||||
@ -444,6 +638,8 @@ spi1: spi@01c69000 {
|
||||
interrupts = <0 66 4>;
|
||||
clocks = <&ahb1_gates 21>, <&spi1_clk>;
|
||||
clock-names = "ahb", "mod";
|
||||
dmas = <&dma 24>, <&dma 24>;
|
||||
dma-names = "rx", "tx";
|
||||
resets = <&ahb1_rst 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
@ -454,6 +650,8 @@ spi2: spi@01c6a000 {
|
||||
interrupts = <0 67 4>;
|
||||
clocks = <&ahb1_gates 22>, <&spi2_clk>;
|
||||
clock-names = "ahb", "mod";
|
||||
dmas = <&dma 25>, <&dma 25>;
|
||||
dma-names = "rx", "tx";
|
||||
resets = <&ahb1_rst 22>;
|
||||
status = "disabled";
|
||||
};
|
||||
@ -464,6 +662,8 @@ spi3: spi@01c6b000 {
|
||||
interrupts = <0 68 4>;
|
||||
clocks = <&ahb1_gates 23>, <&spi3_clk>;
|
||||
clock-names = "ahb", "mod";
|
||||
dmas = <&dma 26>, <&dma 26>;
|
||||
dma-names = "rx", "tx";
|
||||
resets = <&ahb1_rst 23>;
|
||||
status = "disabled";
|
||||
};
|
||||
@ -479,14 +679,74 @@ gic: interrupt-controller@01c81000 {
|
||||
interrupts = <1 9 0xf04>;
|
||||
};
|
||||
|
||||
nmi_intc: interrupt-controller@01f00c0c {
|
||||
compatible = "allwinner,sun6i-a31-sc-nmi";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <0x01f00c0c 0x38>;
|
||||
interrupts = <0 32 4>;
|
||||
};
|
||||
|
||||
prcm@01f01400 {
|
||||
compatible = "allwinner,sun6i-a31-prcm";
|
||||
reg = <0x01f01400 0x200>;
|
||||
|
||||
ar100: ar100_clk {
|
||||
compatible = "allwinner,sun6i-a31-ar100-clk";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&osc32k>, <&osc24M>, <&pll6>, <&pll6>;
|
||||
clock-output-names = "ar100";
|
||||
};
|
||||
|
||||
ahb0: ahb0_clk {
|
||||
compatible = "fixed-factor-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-div = <1>;
|
||||
clock-mult = <1>;
|
||||
clocks = <&ar100>;
|
||||
clock-output-names = "ahb0";
|
||||
};
|
||||
|
||||
apb0: apb0_clk {
|
||||
compatible = "allwinner,sun6i-a31-apb0-clk";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&ahb0>;
|
||||
clock-output-names = "apb0";
|
||||
};
|
||||
|
||||
apb0_gates: apb0_gates_clk {
|
||||
compatible = "allwinner,sun6i-a31-apb0-gates-clk";
|
||||
#clock-cells = <1>;
|
||||
clocks = <&apb0>;
|
||||
clock-output-names = "apb0_pio", "apb0_ir",
|
||||
"apb0_timer", "apb0_p2wi",
|
||||
"apb0_uart", "apb0_1wire",
|
||||
"apb0_i2c";
|
||||
};
|
||||
|
||||
apb0_rst: apb0_rst {
|
||||
compatible = "allwinner,sun6i-a31-clock-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
cpucfg@01f01c00 {
|
||||
compatible = "allwinner,sun6i-a31-cpuconfig";
|
||||
reg = <0x01f01c00 0x300>;
|
||||
};
|
||||
|
||||
prcm@01f01c00 {
|
||||
compatible = "allwinner,sun6i-a31-prcm";
|
||||
reg = <0x01f01400 0x200>;
|
||||
r_pio: pinctrl@01f02c00 {
|
||||
compatible = "allwinner,sun6i-a31-r-pinctrl";
|
||||
reg = <0x01f02c00 0x400>;
|
||||
interrupts = <0 45 4>,
|
||||
<0 46 4>;
|
||||
clocks = <&apb0_gates 0>;
|
||||
resets = <&apb0_rst 0>;
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#gpio-cells = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -20,6 +20,16 @@ / {
|
||||
compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20";
|
||||
|
||||
soc@01c00000 {
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
|
@ -20,6 +20,24 @@ / {
|
||||
compatible = "cubietech,cubietruck", "allwinner,sun7i-a20";
|
||||
|
||||
soc@01c00000 {
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
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 = <®_vmmc3>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
@ -48,6 +66,18 @@ ohci1: usb@01c1c400 {
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
mmc3_pins_a: mmc3@0 {
|
||||
/* AP6210 requires pull-up */
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
|
||||
vmmc3_pin_cubietruck: vmmc3_pin@0 {
|
||||
allwinner,pins = "PH9";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
|
||||
allwinner,pins = "PH12";
|
||||
allwinner,function = "gpio_out";
|
||||
@ -63,6 +93,12 @@ led_pins_cubietruck: led_pins@0 {
|
||||
};
|
||||
};
|
||||
|
||||
pwm: pwm@01c20e00 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
uart0: serial@01c28000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
@ -139,4 +175,15 @@ reg_usb1_vbus: usb1-vbus {
|
||||
reg_usb2_vbus: usb2-vbus {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
reg_vmmc3: vmmc3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vmmc3_pin_cubietruck>;
|
||||
regulator-name = "vmmc3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
enable-active-high;
|
||||
gpio = <&pio 7 9 0>;
|
||||
};
|
||||
};
|
||||
|
@ -31,6 +31,26 @@ spi1: spi@01c06000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
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>, <&mmc3_cd_pin_olinuxinom>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 11 0>; /* PH11 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
@ -65,6 +85,13 @@ ohci1: usb@01c1c400 {
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
|
||||
allwinner,pins = "PH11";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
|
||||
led_pins_olinuxino: led_pins@0 {
|
||||
allwinner,pins = "PH2";
|
||||
allwinner,function = "gpio_out";
|
||||
|
@ -57,6 +57,12 @@ timer {
|
||||
<1 10 0xf08>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu";
|
||||
interrupts = <0 120 4>,
|
||||
<0 121 4>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@ -447,6 +453,42 @@ mdio@01c0b080 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mmc0: mmc@01c0f000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c0f000 0x1000>;
|
||||
clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <0 32 4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc1: mmc@01c10000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c10000 0x1000>;
|
||||
clocks = <&ahb_gates 9>, <&mmc1_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <0 33 4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc2: mmc@01c11000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c11000 0x1000>;
|
||||
clocks = <&ahb_gates 10>, <&mmc2_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <0 34 4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmc3: mmc@01c12000 {
|
||||
compatible = "allwinner,sun5i-a13-mmc";
|
||||
reg = <0x01c12000 0x1000>;
|
||||
clocks = <&ahb_gates 11>, <&mmc3_clk>;
|
||||
clock-names = "ahb", "mmc";
|
||||
interrupts = <0 35 4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbphy: phy@01c13400 {
|
||||
#phy-cells = <1>;
|
||||
compatible = "allwinner,sun7i-a20-usb-phy";
|
||||
@ -540,6 +582,20 @@ pio: pinctrl@01c20800 {
|
||||
#size-cells = <0>;
|
||||
#gpio-cells = <3>;
|
||||
|
||||
pwm0_pins_a: pwm0@0 {
|
||||
allwinner,pins = "PB2";
|
||||
allwinner,function = "pwm";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
pwm1_pins_a: pwm1@0 {
|
||||
allwinner,pins = "PI3";
|
||||
allwinner,function = "pwm";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
uart0_pins_a: uart0@0 {
|
||||
allwinner,pins = "PB22", "PB23";
|
||||
allwinner,function = "uart0";
|
||||
@ -653,6 +709,27 @@ spi2_pins_a: spi2@0 {
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
mmc0_pins_a: mmc0@0 {
|
||||
allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
allwinner,function = "mmc0";
|
||||
allwinner,drive = <2>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
|
||||
mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PH1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <1>;
|
||||
};
|
||||
|
||||
mmc3_pins_a: mmc3@0 {
|
||||
allwinner,pins = "PI4","PI5","PI6","PI7","PI8","PI9";
|
||||
allwinner,function = "mmc3";
|
||||
allwinner,drive = <2>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
timer@01c20c00 {
|
||||
@ -678,6 +755,14 @@ rtc: rtc@01c20d00 {
|
||||
interrupts = <0 24 4>;
|
||||
};
|
||||
|
||||
pwm: pwm@01c20e00 {
|
||||
compatible = "allwinner,sun7i-a20-pwm";
|
||||
reg = <0x01c20e00 0xc>;
|
||||
clocks = <&osc24M>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sid: eeprom@01c23800 {
|
||||
compatible = "allwinner,sun7i-a20-sid";
|
||||
reg = <0x01c23800 0x200>;
|
||||
@ -776,6 +861,8 @@ i2c0: i2c@01c2ac00 {
|
||||
clocks = <&apb1_gates 0>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c1: i2c@01c2b000 {
|
||||
@ -785,6 +872,8 @@ i2c1: i2c@01c2b000 {
|
||||
clocks = <&apb1_gates 1>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c2: i2c@01c2b400 {
|
||||
@ -794,6 +883,8 @@ i2c2: i2c@01c2b400 {
|
||||
clocks = <&apb1_gates 2>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c3: i2c@01c2b800 {
|
||||
@ -803,6 +894,8 @@ i2c3: i2c@01c2b800 {
|
||||
clocks = <&apb1_gates 3>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c4: i2c@01c2bc00 {
|
||||
@ -812,6 +905,8 @@ i2c4: i2c@01c2bc00 {
|
||||
clocks = <&apb1_gates 15>;
|
||||
clock-frequency = <100000>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
gmac: ethernet@01c50000 {
|
||||
|
@ -72,4 +72,11 @@ reg_usb2_vbus: usb2-vbus {
|
||||
gpio = <&pio 7 3 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
reg_vcc3v3: vcc3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user