|
@@ -42,8 +42,9 @@
|
|
|
* OTHER DEALINGS IN THE SOFTWARE.
|
|
|
*/
|
|
|
|
|
|
+#include <dt-bindings/clock/sun50i-a64-ccu.h>
|
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
-#include <dt-bindings/pinctrl/sun4i-a10.h>
|
|
|
+#include <dt-bindings/reset/sun50i-a64-ccu.h>
|
|
|
|
|
|
/ {
|
|
|
interrupt-parent = <&gic>;
|
|
@@ -120,6 +121,105 @@
|
|
|
#size-cells = <1>;
|
|
|
ranges;
|
|
|
|
|
|
+ mmc0: mmc@1c0f000 {
|
|
|
+ compatible = "allwinner,sun50i-a64-mmc";
|
|
|
+ reg = <0x01c0f000 0x1000>;
|
|
|
+ clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
|
|
|
+ clock-names = "ahb", "mmc";
|
|
|
+ resets = <&ccu RST_BUS_MMC0>;
|
|
|
+ reset-names = "ahb";
|
|
|
+ interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
+ max-frequency = <150000000>;
|
|
|
+ status = "disabled";
|
|
|
+ #address-cells = <1>;
|
|
|
+ #size-cells = <0>;
|
|
|
+ };
|
|
|
+
|
|
|
+ mmc1: mmc@1c10000 {
|
|
|
+ compatible = "allwinner,sun50i-a64-mmc";
|
|
|
+ reg = <0x01c10000 0x1000>;
|
|
|
+ clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
|
|
|
+ clock-names = "ahb", "mmc";
|
|
|
+ resets = <&ccu RST_BUS_MMC1>;
|
|
|
+ reset-names = "ahb";
|
|
|
+ interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
+ max-frequency = <150000000>;
|
|
|
+ status = "disabled";
|
|
|
+ #address-cells = <1>;
|
|
|
+ #size-cells = <0>;
|
|
|
+ };
|
|
|
+
|
|
|
+ mmc2: mmc@1c11000 {
|
|
|
+ compatible = "allwinner,sun50i-a64-emmc";
|
|
|
+ reg = <0x01c11000 0x1000>;
|
|
|
+ clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
|
|
|
+ clock-names = "ahb", "mmc";
|
|
|
+ resets = <&ccu RST_BUS_MMC2>;
|
|
|
+ reset-names = "ahb";
|
|
|
+ interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
+ max-frequency = <200000000>;
|
|
|
+ status = "disabled";
|
|
|
+ #address-cells = <1>;
|
|
|
+ #size-cells = <0>;
|
|
|
+ };
|
|
|
+
|
|
|
+ usb_otg: usb@01c19000 {
|
|
|
+ compatible = "allwinner,sun8i-a33-musb";
|
|
|
+ reg = <0x01c19000 0x0400>;
|
|
|
+ clocks = <&ccu CLK_BUS_OTG>;
|
|
|
+ resets = <&ccu RST_BUS_OTG>;
|
|
|
+ interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
+ interrupt-names = "mc";
|
|
|
+ phys = <&usbphy 0>;
|
|
|
+ phy-names = "usb";
|
|
|
+ extcon = <&usbphy 0>;
|
|
|
+ status = "disabled";
|
|
|
+ };
|
|
|
+
|
|
|
+ usbphy: phy@01c19400 {
|
|
|
+ compatible = "allwinner,sun50i-a64-usb-phy";
|
|
|
+ reg = <0x01c19400 0x14>,
|
|
|
+ <0x01c1b800 0x4>;
|
|
|
+ reg-names = "phy_ctrl",
|
|
|
+ "pmu1";
|
|
|
+ clocks = <&ccu CLK_USB_PHY0>,
|
|
|
+ <&ccu CLK_USB_PHY1>;
|
|
|
+ clock-names = "usb0_phy",
|
|
|
+ "usb1_phy";
|
|
|
+ resets = <&ccu RST_USB_PHY0>,
|
|
|
+ <&ccu RST_USB_PHY1>;
|
|
|
+ reset-names = "usb0_reset",
|
|
|
+ "usb1_reset";
|
|
|
+ status = "disabled";
|
|
|
+ #phy-cells = <1>;
|
|
|
+ };
|
|
|
+
|
|
|
+ ehci1: usb@01c1b000 {
|
|
|
+ compatible = "allwinner,sun50i-a64-ehci", "generic-ehci";
|
|
|
+ reg = <0x01c1b000 0x100>;
|
|
|
+ interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
+ clocks = <&ccu CLK_BUS_OHCI1>,
|
|
|
+ <&ccu CLK_BUS_EHCI1>,
|
|
|
+ <&ccu CLK_USB_OHCI1>;
|
|
|
+ resets = <&ccu RST_BUS_OHCI1>,
|
|
|
+ <&ccu RST_BUS_EHCI1>;
|
|
|
+ phys = <&usbphy 1>;
|
|
|
+ phy-names = "usb";
|
|
|
+ status = "disabled";
|
|
|
+ };
|
|
|
+
|
|
|
+ ohci1: usb@01c1b400 {
|
|
|
+ compatible = "allwinner,sun50i-a64-ohci", "generic-ohci";
|
|
|
+ reg = <0x01c1b400 0x100>;
|
|
|
+ interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
+ clocks = <&ccu CLK_BUS_OHCI1>,
|
|
|
+ <&ccu CLK_USB_OHCI1>;
|
|
|
+ resets = <&ccu RST_BUS_OHCI1>;
|
|
|
+ phys = <&usbphy 1>;
|
|
|
+ phy-names = "usb";
|
|
|
+ status = "disabled";
|
|
|
+ };
|
|
|
+
|
|
|
ccu: clock@01c20000 {
|
|
|
compatible = "allwinner,sun50i-a64-ccu";
|
|
|
reg = <0x01c20000 0x400>;
|
|
@@ -146,10 +246,45 @@
|
|
|
function = "i2c1";
|
|
|
};
|
|
|
|
|
|
+ mmc0_pins: mmc0-pins {
|
|
|
+ pins = "PF0", "PF1", "PF2", "PF3",
|
|
|
+ "PF4", "PF5";
|
|
|
+ function = "mmc0";
|
|
|
+ drive-strength = <30>;
|
|
|
+ bias-pull-up;
|
|
|
+ };
|
|
|
+
|
|
|
+ mmc1_pins: mmc1-pins {
|
|
|
+ pins = "PG0", "PG1", "PG2", "PG3",
|
|
|
+ "PG4", "PG5";
|
|
|
+ function = "mmc1";
|
|
|
+ drive-strength = <30>;
|
|
|
+ bias-pull-up;
|
|
|
+ };
|
|
|
+
|
|
|
+ mmc2_pins: mmc2-pins {
|
|
|
+ pins = "PC1", "PC5", "PC6", "PC8", "PC9",
|
|
|
+ "PC10","PC11", "PC12", "PC13",
|
|
|
+ "PC14", "PC15", "PC16";
|
|
|
+ function = "mmc2";
|
|
|
+ drive-strength = <30>;
|
|
|
+ bias-pull-up;
|
|
|
+ };
|
|
|
+
|
|
|
uart0_pins_a: uart0@0 {
|
|
|
pins = "PB8", "PB9";
|
|
|
function = "uart0";
|
|
|
};
|
|
|
+
|
|
|
+ uart1_pins: uart1_pins {
|
|
|
+ pins = "PG6", "PG7";
|
|
|
+ function = "uart1";
|
|
|
+ };
|
|
|
+
|
|
|
+ uart1_rts_cts_pins: uart1_rts_cts_pins {
|
|
|
+ pins = "PG8", "PG9";
|
|
|
+ function = "uart1";
|
|
|
+ };
|
|
|
};
|
|
|
|
|
|
uart0: serial@1c28000 {
|