Merge branch 'master' of git://git.denx.de/u-boot-sunxi
- Convert DM_MMC and DM_SCSI - A20, R40, H6 Linux dts(i) sync - CLK, RESET support for sunxi, sun8_emac net drivers
This commit is contained in:
commit
4b37f36d68
@ -857,6 +857,8 @@ config ARCH_SUNXI
|
||||
select DM_ETH
|
||||
select DM_GPIO
|
||||
select DM_KEYBOARD
|
||||
select DM_MMC if MMC
|
||||
select DM_SCSI if SCSI
|
||||
select DM_SERIAL
|
||||
select DM_USB if DISTRO_DEFAULTS
|
||||
select OF_BOARD_SETUP
|
||||
|
@ -21,17 +21,55 @@
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
power {
|
||||
label = "orangepi:red:power";
|
||||
gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
status {
|
||||
label = "orangepi:green:status";
|
||||
gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
|
||||
};
|
||||
};
|
||||
|
||||
reg_vcc5v: vcc5v {
|
||||
/* board wide 5V supply directly from the DC jack */
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc-5v";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_cldo1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&r_i2c {
|
||||
status = "okay";
|
||||
|
||||
@ -43,6 +81,14 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
x-powers,self-working-mode;
|
||||
vina-supply = <®_vcc5v>;
|
||||
vinb-supply = <®_vcc5v>;
|
||||
vinc-supply = <®_vcc5v>;
|
||||
vind-supply = <®_vcc5v>;
|
||||
vine-supply = <®_vcc5v>;
|
||||
aldoin-supply = <®_vcc5v>;
|
||||
bldoin-supply = <®_vcc5v>;
|
||||
cldoin-supply = <®_vcc5v>;
|
||||
|
||||
regulators {
|
||||
reg_aldo1: aldo1 {
|
||||
@ -148,3 +194,15 @@
|
||||
pinctrl-0 = <&uart0_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2otg {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2phy {
|
||||
usb0_id_det-gpios = <&pio 2 6 GPIO_ACTIVE_HIGH>; /* PC6 */
|
||||
usb0_vbus-supply = <®_vcc5v>;
|
||||
usb3_vbus-supply = <®_vcc5v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -14,6 +14,7 @@
|
||||
compatible = "pine64,pine-h64", "allwinner,sun50i-h6";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &emac;
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
@ -21,6 +22,17 @@
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@ -39,23 +51,79 @@
|
||||
gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
|
||||
};
|
||||
};
|
||||
|
||||
reg_usb_vbus: vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
startup-delay-us = <100000>;
|
||||
gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ext_rgmii_pins>;
|
||||
phy-mode = "rgmii";
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
phy-supply = <®_aldo2>;
|
||||
allwinner,rx-delay-ps = <200>;
|
||||
allwinner,tx-delay-ps = <200>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
ext_rgmii_phy: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_cldo1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins>;
|
||||
vmmc-supply = <®_cldo1>;
|
||||
vqmmc-supply = <®_bldo2>;
|
||||
non-removable;
|
||||
cap-mmc-hw-reset;
|
||||
bus-width = <8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -83,6 +151,7 @@
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-ac200";
|
||||
regulator-enable-ramp-delay = <100000>;
|
||||
};
|
||||
|
||||
reg_aldo3: aldo3 {
|
||||
@ -183,3 +252,14 @@
|
||||
pinctrl-0 = <&uart0_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2otg {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2phy {
|
||||
usb0_vbus-supply = <®_usb_vbus>;
|
||||
usb3_vbus-supply = <®_usb_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -6,8 +6,11 @@
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/sun50i-h6-ccu.h>
|
||||
#include <dt-bindings/clock/sun50i-h6-r-ccu.h>
|
||||
#include <dt-bindings/clock/sun8i-de2.h>
|
||||
#include <dt-bindings/clock/sun8i-tcon-top.h>
|
||||
#include <dt-bindings/reset/sun50i-h6-ccu.h>
|
||||
#include <dt-bindings/reset/sun50i-h6-r-ccu.h>
|
||||
#include <dt-bindings/reset/sun8i-de2.h>
|
||||
|
||||
/ {
|
||||
interrupt-parent = <&gic>;
|
||||
@ -19,34 +22,40 @@
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu0: cpu@0 {
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
compatible = "arm,cortex-a53";
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
compatible = "arm,cortex-a53";
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu2: cpu@2 {
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
compatible = "arm,cortex-a53";
|
||||
device_type = "cpu";
|
||||
reg = <2>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu3: cpu@3 {
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
compatible = "arm,cortex-a53";
|
||||
device_type = "cpu";
|
||||
reg = <3>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
};
|
||||
|
||||
de: display-engine {
|
||||
compatible = "allwinner,sun50i-h6-display-engine";
|
||||
allwinner,pipelines = <&mixer0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
iosc: internal-osc-clk {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
@ -92,6 +101,99 @@
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
display-engine@1000000 {
|
||||
compatible = "allwinner,sun50i-h6-de3",
|
||||
"allwinner,sun50i-a64-de2";
|
||||
reg = <0x1000000 0x400000>;
|
||||
allwinner,sram = <&de2_sram 1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x1000000 0x400000>;
|
||||
|
||||
display_clocks: clock@0 {
|
||||
compatible = "allwinner,sun50i-h6-de3-clk";
|
||||
reg = <0x0 0x10000>;
|
||||
clocks = <&ccu CLK_DE>,
|
||||
<&ccu CLK_BUS_DE>;
|
||||
clock-names = "mod",
|
||||
"bus";
|
||||
resets = <&ccu RST_BUS_DE>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
mixer0: mixer@100000 {
|
||||
compatible = "allwinner,sun50i-h6-de3-mixer-0";
|
||||
reg = <0x100000 0x100000>;
|
||||
clocks = <&display_clocks CLK_BUS_MIXER0>,
|
||||
<&display_clocks CLK_MIXER0>;
|
||||
clock-names = "bus",
|
||||
"mod";
|
||||
resets = <&display_clocks RST_MIXER0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mixer0_out: port@1 {
|
||||
reg = <1>;
|
||||
|
||||
mixer0_out_tcon_top_mixer0: endpoint {
|
||||
remote-endpoint = <&tcon_top_mixer0_in_mixer0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
video-codec@1c0e000 {
|
||||
compatible = "allwinner,sun50i-h6-video-engine";
|
||||
reg = <0x01c0e000 0x2000>;
|
||||
clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>,
|
||||
<&ccu CLK_MBUS_VE>;
|
||||
clock-names = "ahb", "mod", "ram";
|
||||
resets = <&ccu RST_BUS_VE>;
|
||||
interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
|
||||
allwinner,sram = <&ve_sram 1>;
|
||||
};
|
||||
|
||||
syscon: syscon@3000000 {
|
||||
compatible = "allwinner,sun50i-h6-system-control",
|
||||
"allwinner,sun50i-a64-system-control";
|
||||
reg = <0x03000000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
sram_c: sram@28000 {
|
||||
compatible = "mmio-sram";
|
||||
reg = <0x00028000 0x1e000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x00028000 0x1e000>;
|
||||
|
||||
de2_sram: sram-section@0 {
|
||||
compatible = "allwinner,sun50i-h6-sram-c",
|
||||
"allwinner,sun50i-a64-sram-c";
|
||||
reg = <0x0000 0x1e000>;
|
||||
};
|
||||
};
|
||||
|
||||
sram_c1: sram@1a00000 {
|
||||
compatible = "mmio-sram";
|
||||
reg = <0x01a00000 0x200000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x01a00000 0x200000>;
|
||||
|
||||
ve_sram: sram-section@0 {
|
||||
compatible = "allwinner,sun50i-h6-sram-c1",
|
||||
"allwinner,sun4i-a10-sram-c1";
|
||||
reg = <0x000000 0x200000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ccu: clock@3001000 {
|
||||
compatible = "allwinner,sun50i-h6-ccu";
|
||||
reg = <0x03001000 0x1000>;
|
||||
@ -101,15 +203,9 @@
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@3021000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x03021000 0x1000>,
|
||||
<0x03022000 0x2000>,
|
||||
<0x03024000 0x2000>,
|
||||
<0x03026000 0x2000>;
|
||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
sid: sid@3006000 {
|
||||
compatible = "allwinner,sun50i-h6-sid";
|
||||
reg = <0x03006000 0x400>;
|
||||
};
|
||||
|
||||
pio: pinctrl@300b000 {
|
||||
@ -126,6 +222,19 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
ext_rgmii_pins: rgmii-pins {
|
||||
pins = "PD0", "PD1", "PD2", "PD3", "PD4",
|
||||
"PD5", "PD7", "PD8", "PD9", "PD10",
|
||||
"PD11", "PD12", "PD13", "PD19", "PD20";
|
||||
function = "emac";
|
||||
drive-strength = <40>;
|
||||
};
|
||||
|
||||
hdmi_pins: hdmi-pins {
|
||||
pins = "PH8", "PH9", "PH10";
|
||||
function = "hdmi";
|
||||
};
|
||||
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1", "PF2", "PF3",
|
||||
"PF4", "PF5";
|
||||
@ -143,12 +252,23 @@
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
uart0_ph_pins: uart0-ph {
|
||||
uart0_ph_pins: uart0-ph-pins {
|
||||
pins = "PH0", "PH1";
|
||||
function = "uart0";
|
||||
};
|
||||
};
|
||||
|
||||
gic: interrupt-controller@3021000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x03021000 0x1000>,
|
||||
<0x03022000 0x2000>,
|
||||
<0x03024000 0x2000>,
|
||||
<0x03026000 0x2000>;
|
||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
};
|
||||
|
||||
mmc0: mmc@4020000 {
|
||||
compatible = "allwinner,sun50i-h6-mmc",
|
||||
"allwinner,sun50i-a64-mmc";
|
||||
@ -158,6 +278,8 @@
|
||||
resets = <&ccu RST_BUS_MMC0>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -186,6 +308,8 @@
|
||||
resets = <&ccu RST_BUS_MMC2>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -235,6 +359,250 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
emac: ethernet@5020000 {
|
||||
compatible = "allwinner,sun50i-h6-emac",
|
||||
"allwinner,sun50i-a64-emac";
|
||||
syscon = <&syscon>;
|
||||
reg = <0x05020000 0x10000>;
|
||||
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
resets = <&ccu RST_BUS_EMAC>;
|
||||
reset-names = "stmmaceth";
|
||||
clocks = <&ccu CLK_BUS_EMAC>;
|
||||
clock-names = "stmmaceth";
|
||||
status = "disabled";
|
||||
|
||||
mdio: mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
usb2otg: usb@5100000 {
|
||||
compatible = "allwinner,sun50i-h6-musb",
|
||||
"allwinner,sun8i-a33-musb";
|
||||
reg = <0x05100000 0x0400>;
|
||||
clocks = <&ccu CLK_BUS_OTG>;
|
||||
resets = <&ccu RST_BUS_OTG>;
|
||||
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mc";
|
||||
phys = <&usb2phy 0>;
|
||||
phy-names = "usb";
|
||||
extcon = <&usb2phy 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb2phy: phy@5100400 {
|
||||
compatible = "allwinner,sun50i-h6-usb-phy";
|
||||
reg = <0x05100400 0x24>,
|
||||
<0x05101800 0x4>,
|
||||
<0x05311800 0x4>;
|
||||
reg-names = "phy_ctrl",
|
||||
"pmu0",
|
||||
"pmu3";
|
||||
clocks = <&ccu CLK_USB_PHY0>,
|
||||
<&ccu CLK_USB_PHY3>;
|
||||
clock-names = "usb0_phy",
|
||||
"usb3_phy";
|
||||
resets = <&ccu RST_USB_PHY0>,
|
||||
<&ccu RST_USB_PHY3>;
|
||||
reset-names = "usb0_reset",
|
||||
"usb3_reset";
|
||||
status = "disabled";
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
ehci0: usb@5101000 {
|
||||
compatible = "allwinner,sun50i-h6-ehci", "generic-ehci";
|
||||
reg = <0x05101000 0x100>;
|
||||
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
<&ccu CLK_BUS_EHCI0>,
|
||||
<&ccu CLK_USB_OHCI0>;
|
||||
resets = <&ccu RST_BUS_OHCI0>,
|
||||
<&ccu RST_BUS_EHCI0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci0: usb@5101400 {
|
||||
compatible = "allwinner,sun50i-h6-ohci", "generic-ohci";
|
||||
reg = <0x05101400 0x100>;
|
||||
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
<&ccu CLK_USB_OHCI0>;
|
||||
resets = <&ccu RST_BUS_OHCI0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ehci3: usb@5311000 {
|
||||
compatible = "allwinner,sun50i-h6-ehci", "generic-ehci";
|
||||
reg = <0x05311000 0x100>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI3>,
|
||||
<&ccu CLK_BUS_EHCI3>,
|
||||
<&ccu CLK_USB_OHCI3>;
|
||||
resets = <&ccu RST_BUS_OHCI3>,
|
||||
<&ccu RST_BUS_EHCI3>;
|
||||
phys = <&usb2phy 3>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci3: usb@5311400 {
|
||||
compatible = "allwinner,sun50i-h6-ohci", "generic-ohci";
|
||||
reg = <0x05311400 0x100>;
|
||||
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI3>,
|
||||
<&ccu CLK_USB_OHCI3>;
|
||||
resets = <&ccu RST_BUS_OHCI3>;
|
||||
phys = <&usb2phy 3>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
hdmi: hdmi@6000000 {
|
||||
compatible = "allwinner,sun50i-h6-dw-hdmi";
|
||||
reg = <0x06000000 0x10000>;
|
||||
reg-io-width = <1>;
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>,
|
||||
<&ccu CLK_HDMI>, <&ccu CLK_HDMI_CEC>,
|
||||
<&ccu CLK_HDCP>, <&ccu CLK_BUS_HDCP>;
|
||||
clock-names = "iahb", "isfr", "tmds", "cec", "hdcp",
|
||||
"hdcp-bus";
|
||||
resets = <&ccu RST_BUS_HDMI_SUB>, <&ccu RST_BUS_HDCP>;
|
||||
reset-names = "ctrl", "hdcp";
|
||||
phys = <&hdmi_phy>;
|
||||
phy-names = "hdmi-phy";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmi_pins>;
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
hdmi_in: port@0 {
|
||||
reg = <0>;
|
||||
|
||||
hdmi_in_tcon_top: endpoint {
|
||||
remote-endpoint = <&tcon_top_hdmi_out_hdmi>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_out: port@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_phy: hdmi-phy@6010000 {
|
||||
compatible = "allwinner,sun50i-h6-hdmi-phy";
|
||||
reg = <0x06010000 0x10000>;
|
||||
clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>;
|
||||
clock-names = "bus", "mod";
|
||||
resets = <&ccu RST_BUS_HDMI>;
|
||||
reset-names = "phy";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
tcon_top: tcon-top@6510000 {
|
||||
compatible = "allwinner,sun50i-h6-tcon-top";
|
||||
reg = <0x06510000 0x1000>;
|
||||
clocks = <&ccu CLK_BUS_TCON_TOP>,
|
||||
<&ccu CLK_TCON_TV0>;
|
||||
clock-names = "bus",
|
||||
"tcon-tv0";
|
||||
clock-output-names = "tcon-top-tv0";
|
||||
resets = <&ccu RST_BUS_TCON_TOP>;
|
||||
reset-names = "rst";
|
||||
#clock-cells = <1>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tcon_top_mixer0_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
tcon_top_mixer0_in_mixer0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&mixer0_out_tcon_top_mixer0>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_top_mixer0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
tcon_top_mixer0_out_tcon_tv: endpoint@2 {
|
||||
reg = <2>;
|
||||
remote-endpoint = <&tcon_tv_in_tcon_top_mixer0>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_top_hdmi_in: port@4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <4>;
|
||||
|
||||
tcon_top_hdmi_in_tcon_tv: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon_tv_out_tcon_top>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_top_hdmi_out: port@5 {
|
||||
reg = <5>;
|
||||
|
||||
tcon_top_hdmi_out_hdmi: endpoint {
|
||||
remote-endpoint = <&hdmi_in_tcon_top>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
tcon_tv: lcd-controller@6515000 {
|
||||
compatible = "allwinner,sun50i-h6-tcon-tv",
|
||||
"allwinner,sun8i-r40-tcon-tv";
|
||||
reg = <0x06515000 0x1000>;
|
||||
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_TCON_TV0>,
|
||||
<&tcon_top CLK_TCON_TOP_TV0>;
|
||||
clock-names = "ahb",
|
||||
"tcon-ch1";
|
||||
resets = <&ccu RST_BUS_TCON_TV0>;
|
||||
reset-names = "lcd";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tcon_tv_in: port@0 {
|
||||
reg = <0>;
|
||||
|
||||
tcon_tv_in_tcon_top_mixer0: endpoint {
|
||||
remote-endpoint = <&tcon_top_mixer0_out_tcon_tv>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_tv_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
tcon_tv_out_tcon_top: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tcon_top_hdmi_in_tcon_tv>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
r_ccu: clock@7010000 {
|
||||
compatible = "allwinner,sun50i-h6-r-ccu";
|
||||
reg = <0x07010000 0x400>;
|
||||
@ -266,7 +634,7 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
r_i2c_pins: r-i2c {
|
||||
r_i2c_pins: r-i2c-pins {
|
||||
pins = "PL0", "PL1";
|
||||
function = "s_i2c";
|
||||
};
|
||||
|
@ -23,6 +23,6 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -73,8 +73,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_bpi_m1p>;
|
||||
|
||||
green {
|
||||
label = "bananapi-m1-plus:green:usr";
|
||||
@ -90,15 +88,11 @@
|
||||
|
||||
mmc3_pwrseq: mmc3_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pwrseq_pin_bpi_m1p>;
|
||||
reset-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 WL-PMU-EN */
|
||||
};
|
||||
|
||||
reg_gmac_3v3: gmac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_power_pin_bpi_m1p>;
|
||||
regulator-name = "gmac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -134,7 +128,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
@ -156,8 +150,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -175,13 +167,11 @@
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m1p>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
|
||||
@ -191,8 +181,6 @@
|
||||
&mmc3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&mmc3_pwrseq>;
|
||||
bus-width = <4>;
|
||||
@ -209,11 +197,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
&mmc3_pins_a {
|
||||
/* AP6210 requires pull-up */
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -226,29 +209,6 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
gmac_power_pin_bpi_m1p: gmac_power_pin@0 {
|
||||
pins = "PH23";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_bpi_m1p: led_pins@0 {
|
||||
pins = "PH24", "PH25";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc0_cd_pin_bpi_m1p: mmc0_cd_pin@0 {
|
||||
pins = "PH10";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc3_pwrseq_pin_bpi_m1p: mmc3_pwrseq_pin@0 {
|
||||
pins = "PH22";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
@ -280,7 +240,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -76,8 +76,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_bananapi>;
|
||||
|
||||
green {
|
||||
label = "bananapi:green:usr";
|
||||
@ -87,8 +85,6 @@
|
||||
|
||||
reg_gmac_3v3: gmac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_power_pin_bananapi>;
|
||||
regulator-name = "gmac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -134,7 +130,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
@ -156,8 +152,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -168,20 +162,16 @@
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
|
||||
@ -201,6 +191,11 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
vcc-pa-supply = <®_vcc3v3>;
|
||||
vcc-pc-supply = <®_vcc3v3>;
|
||||
vcc-pe-supply = <®_vcc3v3>;
|
||||
vcc-pf-supply = <®_vcc3v3>;
|
||||
vcc-pg-supply = <®_vcc3v3>;
|
||||
gpio-line-names =
|
||||
/* PA */
|
||||
"ERXD3", "ERXD2", "ERXD1", "ERXD0", "ETXD3",
|
||||
@ -252,27 +247,11 @@
|
||||
"IO-6", "IO-3", "IO-2", "IO-0", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "";
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc0_cd_pin_bananapi: mmc0_cd_pin@0 {
|
||||
pins = "PH10";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
gmac_power_pin_bananapi: gmac_power_pin@0 {
|
||||
pins = "PH23";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_bananapi: led_pins@0 {
|
||||
pins = "PH24";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp209.dtsi"
|
||||
@ -316,27 +295,27 @@
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins_a>,
|
||||
<&spi0_cs0_pins_a>,
|
||||
<&spi0_cs1_pins_a>;
|
||||
pinctrl-0 = <&spi0_pi_pins>,
|
||||
<&spi0_cs0_pi_pin>,
|
||||
<&spi0_cs1_pi_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_pins_b>;
|
||||
pinctrl-0 = <&uart3_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart7 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart7_pins_a>;
|
||||
pinctrl-0 = <&uart7_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -62,8 +62,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_bananapro>;
|
||||
|
||||
blue {
|
||||
label = "bananapro:blue:usr";
|
||||
@ -78,15 +76,11 @@
|
||||
|
||||
wifi_pwrseq: wifi-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vmmc3_pin_bananapro>;
|
||||
reset-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
reg_gmac_3v3: gmac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_power_pin_bananapro>;
|
||||
regulator-name = "gmac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -114,7 +108,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
@ -126,8 +120,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -142,20 +134,16 @@
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapro>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
|
||||
@ -163,8 +151,6 @@
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
@ -188,74 +174,39 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
gmac_power_pin_bananapro: gmac_power_pin@0 {
|
||||
pins = "PH23";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_bananapro: led_pins@0 {
|
||||
pins = "PH24", "PG2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc0_cd_pin_bananapro: mmc0_cd_pin@0 {
|
||||
pins = "PH10";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb1_vbus_pin_bananapro: usb1_vbus_pin@0 {
|
||||
pins = "PH0";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb2_vbus_pin_bananapro: usb2_vbus_pin@0 {
|
||||
pins = "PH1";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
vmmc3_pin_bananapro: vmmc3_pin@0 {
|
||||
pins = "PH22";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
pinctrl-0 = <&usb1_vbus_pin_bananapro>;
|
||||
gpio = <&pio 7 0 GPIO_ACTIVE_HIGH>; /* PH0 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_usb2_vbus {
|
||||
pinctrl-0 = <&usb2_vbus_pin_bananapro>;
|
||||
gpio = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins_a>,
|
||||
<&spi0_cs0_pins_a>,
|
||||
<&spi0_cs1_pins_a>;
|
||||
pinctrl-0 = <&spi0_pi_pins>,
|
||||
<&spi0_cs0_pi_pin>,
|
||||
<&spi0_cs1_pi_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart4_pins_b>;
|
||||
pinctrl-0 = <&uart4_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart7 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart7_pins_a>;
|
||||
pinctrl-0 = <&uart7_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -74,8 +74,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_cubieboard2>;
|
||||
|
||||
blue {
|
||||
label = "cubieboard2:blue:usr";
|
||||
@ -116,7 +114,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
pinctrl-0 = <&gmac_mii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@ -137,8 +135,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -149,20 +145,16 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -182,12 +174,7 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pins_cubieboard2: led_pins@0 {
|
||||
pins = "PH20", "PH21";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
@ -239,7 +226,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -74,8 +74,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_cubietruck>;
|
||||
|
||||
blue {
|
||||
label = "cubietruck:blue:usr";
|
||||
@ -100,9 +98,9 @@
|
||||
|
||||
mmc3_pwrseq: mmc3_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pwrseq_pin_cubietruck>;
|
||||
reset-gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 WIFI_EN */
|
||||
clocks = <&ccu CLK_OUT_A>;
|
||||
clock-names = "ext_clock";
|
||||
};
|
||||
|
||||
sound {
|
||||
@ -151,7 +149,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
status = "okay";
|
||||
@ -172,8 +170,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -185,25 +181,20 @@
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -211,8 +202,6 @@
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&mmc3_pwrseq>;
|
||||
bus-width = <4>;
|
||||
@ -228,11 +217,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
&mmc3_pins_a {
|
||||
/* AP6210 requires pull-up */
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -246,45 +230,18 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
|
||||
pins = "PH12";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_cubietruck: led_pins@0 {
|
||||
pins = "PH7", "PH11", "PH20", "PH21";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc3_pwrseq_pin_cubietruck: mmc3_pwrseq_pin@0 {
|
||||
pins = "PH9";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_vbus_pin_a: usb0_vbus_pin@0 {
|
||||
pins = "PH17";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
pins = "PH19";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
pins = "PH22";
|
||||
function = "gpio_in";
|
||||
};
|
||||
/* Pin outputs low power clock for WiFi and BT */
|
||||
pinctrl-0 = <&clk_out_a_pin>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins_a>;
|
||||
pinctrl-0 = <&pwm0_pin>, <&pwm1_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
pinctrl-0 = <&ahci_pwr_pin_cubietruck>;
|
||||
gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -325,7 +282,6 @@
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
pinctrl-0 = <&usb0_vbus_pin_a>;
|
||||
gpio = <&pio 7 17 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -340,16 +296,33 @@
|
||||
|
||||
&spdif {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spdif_tx_pins_a>;
|
||||
pinctrl-0 = <&spdif_tx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm20702a1";
|
||||
clocks = <&ccu CLK_OUT_A>;
|
||||
clock-names = "lpo";
|
||||
device-wakeup-gpios = <&pio 7 24 GPIO_ACTIVE_LOW>; /* PH24 */
|
||||
host-wakeup-gpios = <&pio 7 25 GPIO_ACTIVE_LOW>; /* PH25 */
|
||||
shutdown-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */
|
||||
max-speed = <1500000>;
|
||||
};
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
@ -360,8 +333,6 @@
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
|
||||
usb0_id_det-gpios = <&pio 7 19 GPIO_ACTIVE_HIGH>; /* PH19 */
|
||||
usb0_vbus_det-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
|
||||
usb0_vbus_power-supply = <&usb_power_supply>;
|
||||
|
@ -67,8 +67,6 @@
|
||||
|
||||
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>;
|
||||
@ -78,8 +76,6 @@
|
||||
|
||||
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>;
|
||||
@ -103,7 +99,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <®_gmac_vdd>;
|
||||
@ -120,8 +116,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -135,32 +129,24 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c3_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v0>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -168,8 +154,6 @@
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_mmc3_vdd>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
@ -184,42 +168,18 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
ahci_pwr_pin_a20_hummingbird: ahci_pwr_pin@0 {
|
||||
pins = "PH15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb1_vbus_pin_a20_hummingbird: usb1_vbus_pin@0 {
|
||||
pins = "PH2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc3_vdd_pin_a20_hummingbird: mmc3_vdd_pin@0 {
|
||||
pins = "PH9";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
gmac_vdd_pin_a20_hummingbird: gmac_vdd_pin@0 {
|
||||
pins = "PH16";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm0_pins_a>;
|
||||
pinctrl-0 = <&pwm0_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
pinctrl-0 = <&ahci_pwr_pin_a20_hummingbird>;
|
||||
gpio = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
pinctrl-0 = <&usb1_vbus_pin_a20_hummingbird>;
|
||||
gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
|
||||
status = "okay";
|
||||
};
|
||||
@ -230,38 +190,38 @@
|
||||
|
||||
&spi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2_pins_b>,
|
||||
<&spi2_cs0_pins_b>;
|
||||
pinctrl-0 = <&spi2_pb_pins>,
|
||||
<&spi2_cs0_pb_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2_pins_a>;
|
||||
pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_pins_a>;
|
||||
pinctrl-0 = <&uart3_pg_pins>, <&uart3_cts_rts_pg_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart4_pins_a>;
|
||||
pinctrl-0 = <&uart4_pg_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart5 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart5_pins_a>;
|
||||
pinctrl-0 = <&uart5_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -61,8 +61,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_i12_tvbox>;
|
||||
|
||||
red {
|
||||
label = "i12_tvbox:red:usr";
|
||||
@ -77,8 +75,6 @@
|
||||
|
||||
reg_vmmc3: vmmc3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vmmc3_pin_i12_tvbox>;
|
||||
regulator-name = "vmmc3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -88,8 +84,6 @@
|
||||
|
||||
reg_vmmc3_io: vmmc3-io {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vmmc3_io_pin_i12_tvbox>;
|
||||
regulator-name = "vmmc3-io";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -101,8 +95,6 @@
|
||||
|
||||
reg_gmac_3v3: gmac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_power_pin_i12_tvbox>;
|
||||
regulator-name = "gmac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -122,7 +114,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
pinctrl-0 = <&gmac_mii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
@ -134,8 +126,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -151,13 +141,11 @@
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -165,8 +153,6 @@
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_vmmc3>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
@ -181,11 +167,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
&mmc3_pins_a {
|
||||
/* AP6210 / AP6330 requires pull-up */
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -194,28 +175,6 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
vmmc3_pin_i12_tvbox: vmmc3_pin@0 {
|
||||
pins = "PH2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
vmmc3_io_pin_i12_tvbox: vmmc3_io_pin@0 {
|
||||
pins = "PH12";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
gmac_power_pin_i12_tvbox: gmac_power_pin@0 {
|
||||
pins = "PH21";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_i12_tvbox: led_pins@0 {
|
||||
pins = "PH9", "PH20";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
@ -226,7 +185,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -74,7 +74,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
pinctrl-0 = <&gmac_mii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@ -85,8 +85,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -97,14 +95,10 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 8 5 GPIO_ACTIVE_LOW>; /* PI5 */
|
||||
@ -156,7 +150,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -96,7 +96,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
pinctrl-0 = <&gmac_mii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@ -115,13 +115,11 @@
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -129,7 +127,7 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pins_itead_core: led_pins@0 {
|
||||
led_pins_itead_core: led-pins {
|
||||
pins = "PH20","PH21";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
@ -142,6 +140,6 @@
|
||||
|
||||
&spdif {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spdif_tx_pins_a>;
|
||||
pinctrl-0 = <&spdif_tx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -74,8 +74,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_lamobo_r1>;
|
||||
|
||||
green {
|
||||
label = "lamobo_r1:green:usr";
|
||||
@ -85,8 +83,6 @@
|
||||
|
||||
reg_gmac_3v3: gmac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_power_pin_lamobo_r1>;
|
||||
regulator-name = "gmac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -123,10 +119,12 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
status = "okay";
|
||||
/delete-property/#address-cells;
|
||||
/delete-property/#size-cells;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
@ -141,8 +139,6 @@
|
||||
switch: ethernet-switch@1e {
|
||||
compatible = "brcm,bcm53125";
|
||||
reg = <30>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
@ -199,8 +195,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -211,20 +205,16 @@
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_lamobo_r1>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
|
||||
@ -240,27 +230,11 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc0_cd_pin_lamobo_r1: mmc0_cd_pin@0 {
|
||||
pins = "PH10";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
gmac_power_pin_lamobo_r1: gmac_power_pin@0 {
|
||||
pins = "PH23";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_lamobo_r1: led_pins@0 {
|
||||
pins = "PH24";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp209.dtsi"
|
||||
@ -314,27 +288,27 @@
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins_a>,
|
||||
<&spi0_cs0_pins_a>,
|
||||
<&spi0_cs1_pins_a>;
|
||||
pinctrl-0 = <&spi0_pi_pins>,
|
||||
<&spi0_cs0_pi_pin>,
|
||||
<&spi0_cs1_pi_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_pins_b>;
|
||||
pinctrl-0 = <&uart3_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart7 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart7_pins_a>;
|
||||
pinctrl-0 = <&uart7_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -63,8 +63,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_m3>;
|
||||
|
||||
blue {
|
||||
label = "m3:blue:usr";
|
||||
@ -83,7 +81,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
pinctrl-0 = <&gmac_mii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@ -94,8 +92,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -111,13 +107,11 @@
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -125,8 +119,6 @@
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
@ -141,13 +133,6 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pins_m3: led_pins@0 {
|
||||
pins = "PH20";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
@ -158,7 +143,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -21,6 +21,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
&ahci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -31,7 +35,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@ -51,6 +55,6 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -106,8 +106,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -121,20 +119,14 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v0>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -153,18 +145,6 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
@ -179,13 +159,13 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2_pins_a>;
|
||||
pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -195,8 +175,6 @@
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
|
||||
usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
|
||||
usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
|
||||
usb0_vbus-supply = <®_usb0_vbus>;
|
||||
|
35
arch/arm/dts/sun7i-a20-olimex-som-evb-emmc.dts
Normal file
35
arch/arm/dts/sun7i-a20-olimex-som-evb-emmc.dts
Normal file
@ -0,0 +1,35 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Device Tree Source for A20-Olimex-SOM-EVB-eMMC Board
|
||||
*
|
||||
* Copyright (C) 2018 Olimex Ltd.
|
||||
* Author: Stefan Mavrodiev <stefan@olimex.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun7i-a20-olimex-som-evb.dts"
|
||||
|
||||
/ {
|
||||
|
||||
model = "Olimex A20-Olimex-SOM-EVB-eMMC";
|
||||
compatible = "olimex,a20-olimex-som-evb-emmc", "allwinner,sun7i-a20";
|
||||
|
||||
mmc2_pwrseq: mmc2_pwrseq {
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
reset-gpios = <&pio 2 18 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&mmc2_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
emmc: emmc@0 {
|
||||
reg = <0>;
|
||||
compatible = "mmc-card";
|
||||
broken-hpi;
|
||||
};
|
||||
};
|
@ -74,8 +74,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_olimex_som_evb>;
|
||||
|
||||
green {
|
||||
label = "a20-olimex-som-evb:green:usr";
|
||||
@ -112,7 +110,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
status = "okay";
|
||||
@ -133,8 +131,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -145,14 +141,10 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -160,49 +152,49 @@
|
||||
vref-supply = <®_vcc3v0>;
|
||||
status = "okay";
|
||||
|
||||
button@190 {
|
||||
button-190 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <190000>;
|
||||
};
|
||||
|
||||
button@390 {
|
||||
button-390 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <390000>;
|
||||
};
|
||||
|
||||
button@600 {
|
||||
button-600 {
|
||||
label = "Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
channel = <0>;
|
||||
voltage = <600000>;
|
||||
};
|
||||
|
||||
button@800 {
|
||||
button-800 {
|
||||
label = "Search";
|
||||
linux,code = <KEY_SEARCH>;
|
||||
channel = <0>;
|
||||
voltage = <800000>;
|
||||
};
|
||||
|
||||
button@980 {
|
||||
button-980 {
|
||||
label = "Home";
|
||||
linux,code = <KEY_HOMEPAGE>;
|
||||
channel = <0>;
|
||||
voltage = <980000>;
|
||||
};
|
||||
|
||||
button@1180 {
|
||||
button-1180 {
|
||||
label = "Esc";
|
||||
linux,code = <KEY_ESC>;
|
||||
channel = <0>;
|
||||
voltage = <1180000>;
|
||||
};
|
||||
|
||||
button@1400 {
|
||||
button-1400 {
|
||||
label = "Enter";
|
||||
linux,code = <KEY_ENTER>;
|
||||
channel = <0>;
|
||||
@ -211,8 +203,6 @@
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -220,8 +210,6 @@
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olimex_som_evb>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 0 GPIO_ACTIVE_LOW>; /* PH0 */
|
||||
@ -241,36 +229,14 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
ahci_pwr_pin_olimex_som_evb: ahci_pwr_pin@1 {
|
||||
pins = "PC3";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_olimex_som_evb: led_pins@0 {
|
||||
led_pins_olimex_som_evb: led-pins {
|
||||
pins = "PH2";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
mmc3_cd_pin_olimex_som_evb: mmc3_cd_pin@0 {
|
||||
pins = "PH0";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
};
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
pinctrl-0 = <&ahci_pwr_pin_olimex_som_evb>;
|
||||
gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -316,33 +282,33 @@
|
||||
|
||||
&spi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi1_pins_a>,
|
||||
<&spi1_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi1_pi_pins>,
|
||||
<&spi1_cs0_pi_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2_pins_a>,
|
||||
<&spi2_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi2_pc_pins>,
|
||||
<&spi2_cs0_pc_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart6 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart6_pins_a>;
|
||||
pinctrl-0 = <&uart6_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart7 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart7_pins_a>;
|
||||
pinctrl-0 = <&uart7_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -352,8 +318,6 @@
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
|
||||
usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH04 */
|
||||
usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH05 */
|
||||
usb0_vbus-supply = <®_usb0_vbus>;
|
||||
|
@ -20,8 +20,6 @@
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&mmc2_pwrseq>;
|
||||
bus-width = <4>;
|
||||
|
@ -78,7 +78,7 @@
|
||||
|
||||
&can0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&can0_pins_a>;
|
||||
pinctrl-0 = <&can_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -104,7 +104,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy3>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <®_vcc3v3>;
|
||||
@ -130,8 +130,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -143,8 +141,6 @@
|
||||
|
||||
/* Exposed to UEXT1 */
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
eeprom: eeprom@50 {
|
||||
@ -156,20 +152,16 @@
|
||||
|
||||
/* Exposed to UEXT2 */
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>;
|
||||
@ -177,8 +169,6 @@
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&rtl_pwrseq>;
|
||||
bus-width = <4>;
|
||||
@ -203,8 +193,8 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
bt_uart_pins: bt_uart_pins@0 {
|
||||
pins = "PG6", "PG7", "PG8";
|
||||
uart3_rts_pin: uart3-rts-pin {
|
||||
pins = "PG8";
|
||||
function = "uart3";
|
||||
};
|
||||
};
|
||||
@ -274,43 +264,43 @@
|
||||
/* Exposed to UEXT1 */
|
||||
&spi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi1_pins_a>,
|
||||
<&spi1_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi1_pi_pins>,
|
||||
<&spi1_cs0_pi_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Exposed to UEXT2 */
|
||||
&spi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2_pins_a>,
|
||||
<&spi2_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi2_pc_pins>,
|
||||
<&spi2_cs0_pc_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Used for RTL8723BS bluetooth */
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bt_uart_pins>;
|
||||
pinctrl-0 = <&uart3_pg_pins>, <&uart3_rts_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Exposed to UEXT1 */
|
||||
&uart4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart4_pins_a>;
|
||||
pinctrl-0 = <&uart4_pg_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Exposed to UEXT2 */
|
||||
&uart7 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart7_pins_a>;
|
||||
pinctrl-0 = <&uart7_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -105,7 +105,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
pinctrl-0 = <&gmac_mii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@ -126,8 +126,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -142,8 +140,6 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
eeprom: eeprom@50 {
|
||||
@ -154,8 +150,6 @@
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -175,24 +169,19 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 {
|
||||
pins = "PC3";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_olinuxinolime: led_pins@0 {
|
||||
led_pins_olinuxinolime: led-pins {
|
||||
pins = "PH2";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -200,7 +189,6 @@
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>;
|
||||
gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -219,7 +207,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -48,23 +48,12 @@
|
||||
compatible = "olimex,a20-olinuxino-lime2-emmc", "allwinner,sun7i-a20";
|
||||
|
||||
mmc2_pwrseq: pwrseq {
|
||||
pinctrl-0 = <&mmc2_pins_nrst>;
|
||||
pinctrl-names = "default";
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&pio {
|
||||
mmc2_pins_nrst: mmc2-rst-pin {
|
||||
pins = "PC16";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vqmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
|
@ -110,7 +110,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
status = "okay";
|
||||
@ -131,8 +131,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -143,8 +141,6 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
eeprom: eeprom@50 {
|
||||
@ -154,9 +150,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
&lradc {
|
||||
vref-supply = <®_vcc3v0>;
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -176,37 +174,26 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 {
|
||||
pins = "PC3";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_olinuxinolime: led_pins@0 {
|
||||
led_pins_olinuxinolime: led-pins {
|
||||
pins = "PH2";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
usb0_vbus_pin_lime2: usb0_vbus_pin@0 {
|
||||
pins = "PC17";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>;
|
||||
gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -245,6 +232,8 @@
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-name = "vddio-csi0";
|
||||
regulator-soft-start;
|
||||
regulator-ramp-delay = <1600>;
|
||||
};
|
||||
|
||||
®_ldo4 {
|
||||
@ -254,7 +243,6 @@
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
pinctrl-0 = <&usb0_vbus_pin_lime2>;
|
||||
gpio = <&pio 2 17 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -269,7 +257,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -54,8 +54,6 @@
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
|
@ -117,7 +117,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>, <&gmac_txerr>;
|
||||
pinctrl-0 = <&gmac_mii_pins>, <&gmac_txerr>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@ -138,8 +138,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -150,8 +148,6 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
eeprom: eeprom@50 {
|
||||
@ -162,8 +158,6 @@
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -171,49 +165,49 @@
|
||||
vref-supply = <®_vcc3v0>;
|
||||
status = "okay";
|
||||
|
||||
button@191 {
|
||||
button-191 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <191274>;
|
||||
};
|
||||
|
||||
button@392 {
|
||||
button-392 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <392644>;
|
||||
};
|
||||
|
||||
button@601 {
|
||||
button-601 {
|
||||
label = "Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
channel = <0>;
|
||||
voltage = <601151>;
|
||||
};
|
||||
|
||||
button@795 {
|
||||
button-795 {
|
||||
label = "Search";
|
||||
linux,code = <KEY_SEARCH>;
|
||||
channel = <0>;
|
||||
voltage = <795090>;
|
||||
};
|
||||
|
||||
button@987 {
|
||||
button-987 {
|
||||
label = "Home";
|
||||
linux,code = <KEY_HOMEPAGE>;
|
||||
channel = <0>;
|
||||
voltage = <987387>;
|
||||
};
|
||||
|
||||
button@1184 {
|
||||
button-1184 {
|
||||
label = "Esc";
|
||||
linux,code = <KEY_ESC>;
|
||||
channel = <0>;
|
||||
voltage = <1184678>;
|
||||
};
|
||||
|
||||
button@1398 {
|
||||
button-1398 {
|
||||
label = "Enter";
|
||||
linux,code = <KEY_ENTER>;
|
||||
channel = <0>;
|
||||
@ -222,8 +216,6 @@
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -231,8 +223,6 @@
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */
|
||||
@ -252,30 +242,24 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
gmac_txerr: gmac_txerr@0 {
|
||||
gmac_txerr: gmac-txerr-pin {
|
||||
pins = "PA17";
|
||||
function = "gmac";
|
||||
};
|
||||
|
||||
mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
|
||||
pins = "PH11";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
led_pins_olinuxino: led_pins@0 {
|
||||
led_pins_olinuxino: led-pins {
|
||||
pins = "PH2";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -331,33 +315,33 @@
|
||||
|
||||
&spi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi1_pins_a>,
|
||||
<&spi1_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi1_pi_pins>,
|
||||
<&spi1_cs0_pi_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2_pins_a>,
|
||||
<&spi2_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi2_pc_pins>,
|
||||
<&spi2_cs0_pc_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart6 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart6_pins_a>;
|
||||
pinctrl-0 = <&uart6_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart7 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart7_pins_a>;
|
||||
pinctrl-0 = <&uart7_pi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -74,8 +74,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_orangepi>;
|
||||
|
||||
green {
|
||||
label = "orangepi:green:usr";
|
||||
@ -90,8 +88,6 @@
|
||||
|
||||
reg_gmac_3v3: gmac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_power_pin_orangepi>;
|
||||
regulator-name = "gmac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -123,7 +119,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
@ -145,8 +141,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -160,13 +154,11 @@
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
|
||||
@ -174,8 +166,6 @@
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_orangepi>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */
|
||||
@ -187,43 +177,11 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc0_cd_pin_orangepi: mmc0_cd_pin@0 {
|
||||
pins = "PH10";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc3_cd_pin_orangepi: mmc3_cd_pin@0 {
|
||||
pins = "PH11";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb2_vbus_pin_bananapro: usb2_vbus_pin@0 {
|
||||
pins = "PH22";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
gmac_power_pin_orangepi: gmac_power_pin@0 {
|
||||
pins = "PH23";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_orangepi: led_pins@0 {
|
||||
pins = "PH24", "PH25";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb1_vbus_pin_bananapro: usb1_vbus_pin@0 {
|
||||
pins = "PH26";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
@ -256,20 +214,18 @@
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
pinctrl-0 = <&usb1_vbus_pin_bananapro>;
|
||||
gpio = <&pio 7 26 GPIO_ACTIVE_HIGH>; /* PH26 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_usb2_vbus {
|
||||
pinctrl-0 = <&usb2_vbus_pin_bananapro>;
|
||||
gpio = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -63,8 +63,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_orangepi>;
|
||||
|
||||
green {
|
||||
label = "orangepi:green:usr";
|
||||
@ -74,8 +72,6 @@
|
||||
|
||||
reg_gmac_3v3: gmac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_power_pin_orangepi>;
|
||||
regulator-name = "gmac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -99,7 +95,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
@ -111,8 +107,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -126,13 +120,11 @@
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
|
||||
@ -144,37 +136,11 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc0_cd_pin_orangepi: mmc0_cd_pin@0 {
|
||||
pins = "PH10";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb2_vbus_pin_bananapro: usb2_vbus_pin@0 {
|
||||
pins = "PH22";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
gmac_power_pin_orangepi: gmac_power_pin@0 {
|
||||
pins = "PH23";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_orangepi: led_pins@0 {
|
||||
pins = "PH24";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb1_vbus_pin_bananapro: usb1_vbus_pin@0 {
|
||||
pins = "PH26";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
@ -207,20 +173,18 @@
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
pinctrl-0 = <&usb1_vbus_pin_bananapro>;
|
||||
gpio = <&pio 7 26 GPIO_ACTIVE_HIGH>; /* PH26 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_usb2_vbus {
|
||||
pinctrl-0 = <&usb2_vbus_pin_bananapro>;
|
||||
gpio = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -71,8 +71,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_pcduino3_nano>;
|
||||
|
||||
/* Marked "LED3" on the PCB. */
|
||||
usr1 {
|
||||
@ -115,7 +113,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
status = "okay";
|
||||
@ -136,8 +134,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -149,13 +145,11 @@
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -175,30 +169,14 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
ahci_pwr_pin_pcduino3_nano: ahci_pwr_pin@0 {
|
||||
pins = "PH2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_pcduino3_nano: led_pins@0 {
|
||||
pins = "PH16", "PH15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb1_vbus_pin_pcduino3_nano: usb1_vbus_pin@0 {
|
||||
pins = "PD2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
pinctrl-0 = <&ahci_pwr_pin_pcduino3_nano>;
|
||||
gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
|
||||
status = "okay";
|
||||
};
|
||||
@ -232,14 +210,13 @@
|
||||
|
||||
/* A single regulator (U24) powers both USB host ports. */
|
||||
®_usb1_vbus {
|
||||
pinctrl-0 = <&usb1_vbus_pin_pcduino3_nano>;
|
||||
gpio = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -63,8 +63,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_pcduino3>;
|
||||
|
||||
tx {
|
||||
label = "pcduino3:green:tx";
|
||||
@ -77,23 +75,22 @@
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&key_pins_pcduino3>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
button@0 {
|
||||
|
||||
back {
|
||||
label = "Key Back";
|
||||
linux,code = <KEY_BACK>;
|
||||
gpios = <&pio 7 17 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
button@1 {
|
||||
|
||||
home {
|
||||
label = "Key Home";
|
||||
linux,code = <KEY_HOME>;
|
||||
gpios = <&pio 7 18 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
button@2 {
|
||||
|
||||
menu {
|
||||
label = "Key Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
gpios = <&pio 7 19 GPIO_ACTIVE_LOW>;
|
||||
@ -124,7 +121,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
pinctrl-0 = <&gmac_mii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@ -135,8 +132,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -150,13 +145,11 @@
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -176,17 +169,7 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pins_pcduino3: led_pins@0 {
|
||||
pins = "PH15", "PH16";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
key_pins_pcduino3: key_pins@0 {
|
||||
pins = "PH17", "PH18", "PH19";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
@ -233,7 +216,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -67,8 +67,6 @@
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -82,7 +80,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -63,8 +63,6 @@
|
||||
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
||||
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
|
||||
default-brightness-level = <8>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bl_enable_pin>;
|
||||
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
|
||||
};
|
||||
|
||||
@ -74,8 +72,6 @@
|
||||
};
|
||||
|
||||
&codec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&codec_pa_pin>;
|
||||
allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
|
||||
status = "okay";
|
||||
};
|
||||
@ -93,8 +89,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -107,14 +101,10 @@
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
gt911: touchscreen@5d {
|
||||
@ -122,8 +112,6 @@
|
||||
reg = <0x5d>;
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>; /* EINT21 (PH21) */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ts_reset_pin>;
|
||||
irq-gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; /* INT (PH21) */
|
||||
reset-gpios = <&pio 1 13 GPIO_ACTIVE_HIGH>; /* RST (PB13) */
|
||||
touchscreen-swapped-x-y;
|
||||
@ -134,14 +122,14 @@
|
||||
vref-supply = <®_vcc3v0>;
|
||||
status = "okay";
|
||||
|
||||
button@571 {
|
||||
button-571 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <571428>;
|
||||
};
|
||||
|
||||
button@761 {
|
||||
button-761 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
@ -150,8 +138,6 @@
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -171,22 +157,7 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
bl_enable_pin: bl_enable_pin@0 {
|
||||
pins = "PH7";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
codec_pa_pin: codec_pa_pin@0 {
|
||||
pins = "PH15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
ts_reset_pin: ts_reset_pin@0 {
|
||||
pins = "PB13";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
@ -195,7 +166,7 @@
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm0_pins_a>;
|
||||
pinctrl-0 = <&pwm0_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -238,7 +209,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
10
arch/arm/dts/sun7i-a20-wits-pro-a20-dkt-u-boot.dtsi
Normal file
10
arch/arm/dts/sun7i-a20-wits-pro-a20-dkt-u-boot.dtsi
Normal file
@ -0,0 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
|
||||
*/
|
||||
|
||||
#include "sunxi-u-boot.dtsi"
|
||||
|
||||
&ahci {
|
||||
status = "okay";
|
||||
};
|
@ -62,8 +62,6 @@
|
||||
|
||||
mmc3_pwrseq: mmc3_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vmmc3_pin_ap6xxx_wl_regon>;
|
||||
reset-gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 WIFI_EN */
|
||||
};
|
||||
};
|
||||
@ -82,7 +80,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
status = "okay";
|
||||
@ -93,8 +91,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -105,22 +101,16 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
@ -128,8 +118,6 @@
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&mmc3_pwrseq>;
|
||||
bus-width = <4>;
|
||||
@ -158,12 +146,7 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
vmmc3_pin_ap6xxx_wl_regon: vmmc3_pin@0 {
|
||||
pins = "PH9";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
@ -209,7 +192,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -23,6 +23,6 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -42,8 +42,6 @@
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "skeleton.dtsi"
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include <dt-bindings/dma/sun4i-a10.h>
|
||||
@ -52,6 +50,8 @@
|
||||
|
||||
/ {
|
||||
interrupt-parent = <&gic>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
aliases {
|
||||
ethernet0 = &gmac;
|
||||
@ -62,7 +62,7 @@
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
framebuffer@0 {
|
||||
framebuffer-lcd0-hdmi {
|
||||
compatible = "allwinner,simple-framebuffer",
|
||||
"simple-framebuffer";
|
||||
allwinner,pipeline = "de_be0-lcd0-hdmi";
|
||||
@ -73,7 +73,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
framebuffer@1 {
|
||||
framebuffer-lcd0 {
|
||||
compatible = "allwinner,simple-framebuffer",
|
||||
"simple-framebuffer";
|
||||
allwinner,pipeline = "de_be0-lcd0";
|
||||
@ -83,7 +83,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
framebuffer@2 {
|
||||
framebuffer-lcd0-tve0 {
|
||||
compatible = "allwinner,simple-framebuffer",
|
||||
"simple-framebuffer";
|
||||
allwinner,pipeline = "de_be0-lcd0-tve0";
|
||||
@ -118,10 +118,23 @@
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
cpu1: cpu@1 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
clocks = <&ccu CLK_CPU>;
|
||||
clock-latency = <244144>; /* 8 32k periods */
|
||||
operating-points = <
|
||||
/* kHz uV */
|
||||
960000 1400000
|
||||
912000 1400000
|
||||
864000 1300000
|
||||
720000 1200000
|
||||
528000 1100000
|
||||
312000 1000000
|
||||
144000 1000000
|
||||
>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -135,7 +148,8 @@
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu_alert0>;
|
||||
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -157,8 +171,19 @@
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x40000000 0x80000000>;
|
||||
reserved-memory {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
/* Address must be kept in the lower 256 MiBs of DRAM for VE. */
|
||||
default-pool {
|
||||
compatible = "shared-dma-pool";
|
||||
size = <0x6000000>;
|
||||
alloc-ranges = <0x4a000000 0x6000000>;
|
||||
reusable;
|
||||
linux,cma-default;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
@ -170,7 +195,7 @@
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu";
|
||||
compatible = "arm,cortex-a7-pmu";
|
||||
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
@ -180,14 +205,14 @@
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
osc24M: clk@1c20050 {
|
||||
osc24M: clk-24M {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <24000000>;
|
||||
clock-output-names = "osc24M";
|
||||
};
|
||||
|
||||
osc32k: clk@0 {
|
||||
osc32k: clk-32k {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
@ -203,14 +228,14 @@
|
||||
* The actual TX clock rate is not controlled by the
|
||||
* gmac_tx clock.
|
||||
*/
|
||||
mii_phy_tx_clk: clk@1 {
|
||||
mii_phy_tx_clk: clk-mii-phy-tx {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <25000000>;
|
||||
clock-output-names = "mii_phy_tx";
|
||||
};
|
||||
|
||||
gmac_int_tx_clk: clk@2 {
|
||||
gmac_int_tx_clk: clk-gmac-int-tx {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <125000000>;
|
||||
@ -233,14 +258,15 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
soc@1c00000 {
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
sram-controller@1c00000 {
|
||||
compatible = "allwinner,sun4i-a10-sram-controller";
|
||||
system-control@1c00000 {
|
||||
compatible = "allwinner,sun7i-a20-system-control",
|
||||
"allwinner,sun4i-a10-system-control";
|
||||
reg = <0x01c00000 0x30>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@ -254,7 +280,8 @@
|
||||
ranges = <0 0x00000000 0xc000>;
|
||||
|
||||
emac_sram: sram-section@8000 {
|
||||
compatible = "allwinner,sun4i-a10-sram-a3-a4";
|
||||
compatible = "allwinner,sun7i-a20-sram-a3-a4",
|
||||
"allwinner,sun4i-a10-sram-a3-a4";
|
||||
reg = <0x8000 0x4000>;
|
||||
status = "disabled";
|
||||
};
|
||||
@ -268,11 +295,26 @@
|
||||
ranges = <0 0x00010000 0x1000>;
|
||||
|
||||
otg_sram: sram-section@0 {
|
||||
compatible = "allwinner,sun4i-a10-sram-d";
|
||||
compatible = "allwinner,sun7i-a20-sram-d",
|
||||
"allwinner,sun4i-a10-sram-d";
|
||||
reg = <0x0000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
sram_c: sram@1d00000 {
|
||||
compatible = "mmio-sram";
|
||||
reg = <0x01d00000 0xd0000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x01d00000 0xd0000>;
|
||||
|
||||
ve_sram: sram-section@0 {
|
||||
compatible = "allwinner,sun7i-a20-sram-c1",
|
||||
"allwinner,sun4i-a10-sram-c1";
|
||||
reg = <0x000000 0x80000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nmi_intc: interrupt-controller@1c00030 {
|
||||
@ -449,6 +491,17 @@
|
||||
};
|
||||
};
|
||||
|
||||
video-codec@1c0e000 {
|
||||
compatible = "allwinner,sun7i-a20-video-engine";
|
||||
reg = <0x01c0e000 0x1000>;
|
||||
clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>,
|
||||
<&ccu CLK_DRAM_VE>;
|
||||
clock-names = "ahb", "mod", "ram";
|
||||
resets = <&ccu RST_VE>;
|
||||
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
|
||||
allwinner,sram = <&ve_sram 1>;
|
||||
};
|
||||
|
||||
mmc0: mmc@1c0f000 {
|
||||
compatible = "allwinner,sun7i-a20-mmc";
|
||||
reg = <0x01c0f000 0x1000>;
|
||||
@ -461,6 +514,8 @@
|
||||
"output",
|
||||
"sample";
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -495,6 +550,8 @@
|
||||
"output",
|
||||
"sample";
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -512,6 +569,8 @@
|
||||
"output",
|
||||
"sample";
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -609,8 +668,6 @@
|
||||
};
|
||||
|
||||
hdmi_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
@ -694,22 +751,22 @@
|
||||
#interrupt-cells = <3>;
|
||||
#gpio-cells = <3>;
|
||||
|
||||
can0_pins_a: can0@0 {
|
||||
can_ph_pins: can-ph-pins {
|
||||
pins = "PH20", "PH21";
|
||||
function = "can";
|
||||
};
|
||||
|
||||
clk_out_a_pins_a: clk_out_a@0 {
|
||||
clk_out_a_pin: clk-out-a-pin {
|
||||
pins = "PI12";
|
||||
function = "clk_out_a";
|
||||
};
|
||||
|
||||
clk_out_b_pins_a: clk_out_b@0 {
|
||||
clk_out_b_pin: clk-out-b-pin {
|
||||
pins = "PI13";
|
||||
function = "clk_out_b";
|
||||
};
|
||||
|
||||
emac_pins_a: emac0@0 {
|
||||
emac_pa_pins: emac-pa-pins {
|
||||
pins = "PA0", "PA1", "PA2",
|
||||
"PA3", "PA4", "PA5", "PA6",
|
||||
"PA7", "PA8", "PA9", "PA10",
|
||||
@ -718,7 +775,7 @@
|
||||
function = "emac";
|
||||
};
|
||||
|
||||
gmac_pins_mii_a: gmac_mii@0 {
|
||||
gmac_mii_pins: gmac-mii-pins {
|
||||
pins = "PA0", "PA1", "PA2",
|
||||
"PA3", "PA4", "PA5", "PA6",
|
||||
"PA7", "PA8", "PA9", "PA10",
|
||||
@ -727,7 +784,7 @@
|
||||
function = "gmac";
|
||||
};
|
||||
|
||||
gmac_pins_rgmii_a: gmac_rgmii@0 {
|
||||
gmac_rgmii_pins: gmac-rgmii-pins {
|
||||
pins = "PA0", "PA1", "PA2",
|
||||
"PA3", "PA4", "PA5", "PA6",
|
||||
"PA7", "PA8", "PA10",
|
||||
@ -741,47 +798,47 @@
|
||||
drive-strength = <40>;
|
||||
};
|
||||
|
||||
i2c0_pins_a: i2c0@0 {
|
||||
i2c0_pins: i2c0-pins {
|
||||
pins = "PB0", "PB1";
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
i2c1_pins_a: i2c1@0 {
|
||||
i2c1_pins: i2c1-pins {
|
||||
pins = "PB18", "PB19";
|
||||
function = "i2c1";
|
||||
};
|
||||
|
||||
i2c2_pins_a: i2c2@0 {
|
||||
i2c2_pins: i2c2-pins {
|
||||
pins = "PB20", "PB21";
|
||||
function = "i2c2";
|
||||
};
|
||||
|
||||
i2c3_pins_a: i2c3@0 {
|
||||
i2c3_pins: i2c3-pins {
|
||||
pins = "PI0", "PI1";
|
||||
function = "i2c3";
|
||||
};
|
||||
|
||||
ir0_rx_pins_a: ir0@0 {
|
||||
ir0_rx_pin: ir0-rx-pin {
|
||||
pins = "PB4";
|
||||
function = "ir0";
|
||||
};
|
||||
|
||||
ir0_tx_pins_a: ir0@1 {
|
||||
ir0_tx_pin: ir0-tx-pin {
|
||||
pins = "PB3";
|
||||
function = "ir0";
|
||||
};
|
||||
|
||||
ir1_rx_pins_a: ir1@0 {
|
||||
ir1_rx_pin: ir1-rx-pin {
|
||||
pins = "PB23";
|
||||
function = "ir1";
|
||||
};
|
||||
|
||||
ir1_tx_pins_a: ir1@1 {
|
||||
ir1_tx_pin: ir1-tx-pin {
|
||||
pins = "PB22";
|
||||
function = "ir1";
|
||||
};
|
||||
|
||||
mmc0_pins_a: mmc0@0 {
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1", "PF2",
|
||||
"PF3", "PF4", "PF5";
|
||||
function = "mmc0";
|
||||
@ -789,7 +846,7 @@
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc2_pins_a: mmc2@0 {
|
||||
mmc2_pins: mmc2-pins {
|
||||
pins = "PC6", "PC7", "PC8",
|
||||
"PC9", "PC10", "PC11";
|
||||
function = "mmc2";
|
||||
@ -797,7 +854,7 @@
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc3_pins_a: mmc3@0 {
|
||||
mmc3_pins: mmc3-pins {
|
||||
pins = "PI4", "PI5", "PI6",
|
||||
"PI7", "PI8", "PI9";
|
||||
function = "mmc3";
|
||||
@ -805,118 +862,128 @@
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
ps20_pins_a: ps20@0 {
|
||||
ps2_0_pins: ps2-0-pins {
|
||||
pins = "PI20", "PI21";
|
||||
function = "ps2";
|
||||
};
|
||||
|
||||
ps21_pins_a: ps21@0 {
|
||||
ps2_1_ph_pins: ps2-1-ph-pins {
|
||||
pins = "PH12", "PH13";
|
||||
function = "ps2";
|
||||
};
|
||||
|
||||
pwm0_pins_a: pwm0@0 {
|
||||
pwm0_pin: pwm0-pin {
|
||||
pins = "PB2";
|
||||
function = "pwm";
|
||||
};
|
||||
|
||||
pwm1_pins_a: pwm1@0 {
|
||||
pwm1_pin: pwm1-pin {
|
||||
pins = "PI3";
|
||||
function = "pwm";
|
||||
};
|
||||
|
||||
spdif_tx_pins_a: spdif@0 {
|
||||
spdif_tx_pin: spdif-tx-pin {
|
||||
pins = "PB13";
|
||||
function = "spdif";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
spi0_pins_a: spi0@0 {
|
||||
spi0_pi_pins: spi0-pi-pins {
|
||||
pins = "PI11", "PI12", "PI13";
|
||||
function = "spi0";
|
||||
};
|
||||
|
||||
spi0_cs0_pins_a: spi0_cs0@0 {
|
||||
spi0_cs0_pi_pin: spi0-cs0-pi-pin {
|
||||
pins = "PI10";
|
||||
function = "spi0";
|
||||
};
|
||||
|
||||
spi0_cs1_pins_a: spi0_cs1@0 {
|
||||
spi0_cs1_pi_pin: spi0-cs1-pi-pin {
|
||||
pins = "PI14";
|
||||
function = "spi0";
|
||||
};
|
||||
|
||||
spi1_pins_a: spi1@0 {
|
||||
spi1_pi_pins: spi1-pi-pins {
|
||||
pins = "PI17", "PI18", "PI19";
|
||||
function = "spi1";
|
||||
};
|
||||
|
||||
spi1_cs0_pins_a: spi1_cs0@0 {
|
||||
spi1_cs0_pi_pin: spi1-cs0-pi-pin {
|
||||
pins = "PI16";
|
||||
function = "spi1";
|
||||
};
|
||||
|
||||
spi2_pins_a: spi2@0 {
|
||||
pins = "PC20", "PC21", "PC22";
|
||||
function = "spi2";
|
||||
};
|
||||
|
||||
spi2_pins_b: spi2@1 {
|
||||
spi2_pb_pins: spi2-pb-pins {
|
||||
pins = "PB15", "PB16", "PB17";
|
||||
function = "spi2";
|
||||
};
|
||||
|
||||
spi2_cs0_pins_a: spi2_cs0@0 {
|
||||
pins = "PC19";
|
||||
function = "spi2";
|
||||
};
|
||||
|
||||
spi2_cs0_pins_b: spi2_cs0@1 {
|
||||
spi2_cs0_pb_pin: spi2-cs0-pb-pin {
|
||||
pins = "PB14";
|
||||
function = "spi2";
|
||||
};
|
||||
|
||||
uart0_pins_a: uart0@0 {
|
||||
spi2_pc_pins: spi2-pc-pins {
|
||||
pins = "PC20", "PC21", "PC22";
|
||||
function = "spi2";
|
||||
};
|
||||
|
||||
spi2_cs0_pc_pin: spi2-cs0-pc-pin {
|
||||
pins = "PC19";
|
||||
function = "spi2";
|
||||
};
|
||||
|
||||
uart0_pb_pins: uart0-pb-pins {
|
||||
pins = "PB22", "PB23";
|
||||
function = "uart0";
|
||||
};
|
||||
|
||||
uart2_pins_a: uart2@0 {
|
||||
pins = "PI16", "PI17", "PI18", "PI19";
|
||||
uart2_pi_pins: uart2-pi-pins {
|
||||
pins = "PI18", "PI19";
|
||||
function = "uart2";
|
||||
};
|
||||
|
||||
uart3_pins_a: uart3@0 {
|
||||
pins = "PG6", "PG7", "PG8", "PG9";
|
||||
uart2_cts_rts_pi_pins: uart2-cts-rts-pi-pins {
|
||||
pins = "PI16", "PI17";
|
||||
function = "uart2";
|
||||
};
|
||||
|
||||
uart3_pg_pins: uart3-pg-pins {
|
||||
pins = "PG6", "PG7";
|
||||
function = "uart3";
|
||||
};
|
||||
|
||||
uart3_pins_b: uart3@1 {
|
||||
uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins {
|
||||
pins = "PG8", "PG9";
|
||||
function = "uart3";
|
||||
};
|
||||
|
||||
uart3_ph_pins: uart3-ph-pins {
|
||||
pins = "PH0", "PH1";
|
||||
function = "uart3";
|
||||
};
|
||||
|
||||
uart4_pins_a: uart4@0 {
|
||||
uart4_pg_pins: uart4-pg-pins {
|
||||
pins = "PG10", "PG11";
|
||||
function = "uart4";
|
||||
};
|
||||
|
||||
uart4_pins_b: uart4@1 {
|
||||
uart4_ph_pins: uart4-ph-pins {
|
||||
pins = "PH4", "PH5";
|
||||
function = "uart4";
|
||||
};
|
||||
|
||||
uart5_pins_a: uart5@0 {
|
||||
uart5_pi_pins: uart5-pi-pins {
|
||||
pins = "PI10", "PI11";
|
||||
function = "uart5";
|
||||
};
|
||||
|
||||
uart6_pins_a: uart6@0 {
|
||||
uart6_pi_pins: uart6-pi-pins {
|
||||
pins = "PI12", "PI13";
|
||||
function = "uart6";
|
||||
};
|
||||
|
||||
uart7_pins_a: uart7@0 {
|
||||
uart7_pi_pins: uart7-pi-pins {
|
||||
pins = "PI20", "PI21";
|
||||
function = "uart7";
|
||||
};
|
||||
@ -1157,6 +1224,8 @@
|
||||
reg = <0x01c2ac00 0x400>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_APB1_I2C0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -1168,6 +1237,8 @@
|
||||
reg = <0x01c2b000 0x400>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_APB1_I2C1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -1179,6 +1250,8 @@
|
||||
reg = <0x01c2b400 0x400>;
|
||||
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_APB1_I2C2>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -1190,6 +1263,8 @@
|
||||
reg = <0x01c2b800 0x400>;
|
||||
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_APB1_I2C3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c3_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -59,6 +59,17 @@
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@ -91,9 +102,21 @@
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */
|
||||
clocks = <&ccu CLK_OUTA>;
|
||||
clock-names = "ext_clock";
|
||||
};
|
||||
};
|
||||
|
||||
&ahci {
|
||||
ahci-supply = <®_dldo4>;
|
||||
phy-supply = <®_eldo3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -118,6 +141,16 @@
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
@ -134,8 +167,7 @@
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -166,6 +198,11 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&clk_out_a_pin>;
|
||||
};
|
||||
|
||||
®_aldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2500000>;
|
||||
@ -220,18 +257,68 @@
|
||||
regulator-name = "vcc-wifi-io";
|
||||
};
|
||||
|
||||
/*
|
||||
* Our WiFi chip needs both DLDO2 and DLDO3 to be powered at the same
|
||||
* time, with the two being in sync, to be able to meet maximum power
|
||||
* consumption during transmits. Since this is not really supported
|
||||
* right now, just use the two as always on, and we will fix it later.
|
||||
*/
|
||||
|
||||
®_dldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi";
|
||||
};
|
||||
|
||||
®_dldo3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi-2";
|
||||
};
|
||||
|
||||
®_dldo4 {
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
regulator-name = "vdd2v5-sata";
|
||||
};
|
||||
|
||||
®_eldo3 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-name = "vdd1v2-sata";
|
||||
};
|
||||
|
||||
&tcon_tv0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_pg_pins>, <&uart3_rts_cts_pg_pins>;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm43438-bt";
|
||||
clocks = <&ccu CLK_OUTA>;
|
||||
clock-names = "lpo";
|
||||
vbat-supply = <®_dldo2>;
|
||||
vddio-supply = <®_dldo1>;
|
||||
device-wakeup-gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
|
||||
/* TODO host wake line connected to PMIC GPIO pins */
|
||||
shutdown-gpios = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */
|
||||
max-speed = <1500000>;
|
||||
};
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
usb1_vbus-supply = <®_vcc5v0>;
|
||||
usb2_vbus-supply = <®_vcc5v0>;
|
||||
|
@ -42,8 +42,10 @@
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/sun8i-de2.h>
|
||||
#include <dt-bindings/clock/sun8i-r40-ccu.h>
|
||||
#include <dt-bindings/reset/sun8i-r40-ccu.h>
|
||||
#include <dt-bindings/reset/sun8i-de2.h>
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
@ -59,6 +61,7 @@
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <24000000>;
|
||||
clock-accuracy = <50000>;
|
||||
clock-output-names = "osc24M";
|
||||
};
|
||||
|
||||
@ -66,7 +69,8 @@
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "osc32k";
|
||||
clock-accuracy = <20000>;
|
||||
clock-output-names = "ext-osc32k";
|
||||
};
|
||||
};
|
||||
|
||||
@ -99,12 +103,75 @@
|
||||
};
|
||||
};
|
||||
|
||||
de: display-engine {
|
||||
compatible = "allwinner,sun8i-r40-display-engine";
|
||||
allwinner,pipelines = <&mixer0>, <&mixer1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
display_clocks: clock@1000000 {
|
||||
compatible = "allwinner,sun8i-r40-de2-clk",
|
||||
"allwinner,sun8i-h3-de2-clk";
|
||||
reg = <0x01000000 0x100000>;
|
||||
clocks = <&ccu CLK_DE>,
|
||||
<&ccu CLK_BUS_DE>;
|
||||
clock-names = "mod",
|
||||
"bus";
|
||||
resets = <&ccu RST_BUS_DE>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
mixer0: mixer@1100000 {
|
||||
compatible = "allwinner,sun8i-r40-de2-mixer-0";
|
||||
reg = <0x01100000 0x100000>;
|
||||
clocks = <&display_clocks CLK_BUS_MIXER0>,
|
||||
<&display_clocks CLK_MIXER0>;
|
||||
clock-names = "bus",
|
||||
"mod";
|
||||
resets = <&display_clocks RST_MIXER0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mixer0_out: port@1 {
|
||||
reg = <1>;
|
||||
mixer0_out_tcon_top: endpoint {
|
||||
remote-endpoint = <&tcon_top_mixer0_in_mixer0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mixer1: mixer@1200000 {
|
||||
compatible = "allwinner,sun8i-r40-de2-mixer-1";
|
||||
reg = <0x01200000 0x100000>;
|
||||
clocks = <&display_clocks CLK_BUS_MIXER1>,
|
||||
<&display_clocks CLK_MIXER1>;
|
||||
clock-names = "bus",
|
||||
"mod";
|
||||
resets = <&display_clocks RST_WB>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mixer1_out: port@1 {
|
||||
reg = <1>;
|
||||
mixer1_out_tcon_top: endpoint {
|
||||
remote-endpoint = <&tcon_top_mixer1_in_mixer1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nmi_intc: interrupt-controller@1c00030 {
|
||||
compatible = "allwinner,sun7i-a20-sc-nmi";
|
||||
interrupt-controller;
|
||||
@ -248,23 +315,38 @@
|
||||
ccu: clock@1c20000 {
|
||||
compatible = "allwinner,sun8i-r40-ccu";
|
||||
reg = <0x01c20000 0x400>;
|
||||
clocks = <&osc24M>, <&osc32k>;
|
||||
clocks = <&osc24M>, <&rtc 0>;
|
||||
clock-names = "hosc", "losc";
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
rtc: rtc@1c20400 {
|
||||
compatible = "allwinner,sun8i-r40-rtc",
|
||||
"allwinner,sun8i-h3-rtc";
|
||||
reg = <0x01c20400 0x400>;
|
||||
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-output-names = "osc32k", "osc32k-out";
|
||||
clocks = <&osc32k>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
pio: pinctrl@1c20800 {
|
||||
compatible = "allwinner,sun8i-r40-pinctrl";
|
||||
reg = <0x01c20800 0x400>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
|
||||
clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>;
|
||||
clock-names = "apb", "hosc", "losc";
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
#gpio-cells = <3>;
|
||||
|
||||
clk_out_a_pin: clk-out-a-pin {
|
||||
pins = "PI12";
|
||||
function = "clk_out_a";
|
||||
};
|
||||
|
||||
gmac_rgmii_pins: gmac-rgmii-pins {
|
||||
pins = "PA0", "PA1", "PA2", "PA3",
|
||||
"PA4", "PA5", "PA6", "PA7",
|
||||
@ -312,6 +394,16 @@
|
||||
pins = "PB22", "PB23";
|
||||
function = "uart0";
|
||||
};
|
||||
|
||||
uart3_pg_pins: uart3-pg-pins {
|
||||
pins = "PG6", "PG7";
|
||||
function = "uart3";
|
||||
};
|
||||
|
||||
uart3_rts_cts_pg_pins: uart3-rts-cts-pg-pins {
|
||||
pins = "PG8", "PG9";
|
||||
function = "uart3";
|
||||
};
|
||||
};
|
||||
|
||||
wdt: watchdog@1c20c90 {
|
||||
@ -464,6 +556,19 @@
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
ahci: sata@1c18000 {
|
||||
compatible = "allwinner,sun8i-r40-ahci";
|
||||
reg = <0x01c18000 0x1000>;
|
||||
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SATA>, <&ccu CLK_SATA>;
|
||||
resets = <&ccu RST_BUS_SATA>;
|
||||
resets-name = "ahci";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
};
|
||||
|
||||
gmac: ethernet@1c50000 {
|
||||
compatible = "allwinner,sun8i-r40-gmac";
|
||||
syscon = <&ccu>;
|
||||
@ -474,8 +579,6 @@
|
||||
reset-names = "stmmaceth";
|
||||
clocks = <&ccu CLK_BUS_GMAC>;
|
||||
clock-names = "stmmaceth";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
gmac_mdio: mdio {
|
||||
@ -485,6 +588,213 @@
|
||||
};
|
||||
};
|
||||
|
||||
tcon_top: tcon-top@1c70000 {
|
||||
compatible = "allwinner,sun8i-r40-tcon-top";
|
||||
reg = <0x01c70000 0x1000>;
|
||||
clocks = <&ccu CLK_BUS_TCON_TOP>,
|
||||
<&ccu CLK_TCON_TV0>,
|
||||
<&ccu CLK_TVE0>,
|
||||
<&ccu CLK_TCON_TV1>,
|
||||
<&ccu CLK_TVE1>,
|
||||
<&ccu CLK_DSI_DPHY>;
|
||||
clock-names = "bus",
|
||||
"tcon-tv0",
|
||||
"tve0",
|
||||
"tcon-tv1",
|
||||
"tve1",
|
||||
"dsi";
|
||||
clock-output-names = "tcon-top-tv0",
|
||||
"tcon-top-tv1",
|
||||
"tcon-top-dsi";
|
||||
resets = <&ccu RST_BUS_TCON_TOP>;
|
||||
#clock-cells = <1>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tcon_top_mixer0_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
tcon_top_mixer0_in_mixer0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&mixer0_out_tcon_top>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_top_mixer0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
tcon_top_mixer0_out_tcon_lcd0: endpoint@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
tcon_top_mixer0_out_tcon_lcd1: endpoint@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
tcon_top_mixer0_out_tcon_tv0: endpoint@2 {
|
||||
reg = <2>;
|
||||
remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>;
|
||||
};
|
||||
|
||||
tcon_top_mixer0_out_tcon_tv1: endpoint@3 {
|
||||
reg = <3>;
|
||||
remote-endpoint = <&tcon_tv1_in_tcon_top_mixer0>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_top_mixer1_in: port@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <2>;
|
||||
|
||||
tcon_top_mixer1_in_mixer1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&mixer1_out_tcon_top>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_top_mixer1_out: port@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
|
||||
tcon_top_mixer1_out_tcon_lcd0: endpoint@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
tcon_top_mixer1_out_tcon_lcd1: endpoint@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
tcon_top_mixer1_out_tcon_tv0: endpoint@2 {
|
||||
reg = <2>;
|
||||
remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>;
|
||||
};
|
||||
|
||||
tcon_top_mixer1_out_tcon_tv1: endpoint@3 {
|
||||
reg = <3>;
|
||||
remote-endpoint = <&tcon_tv1_in_tcon_top_mixer1>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_top_hdmi_in: port@4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <4>;
|
||||
|
||||
tcon_top_hdmi_in_tcon_tv0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon_tv0_out_tcon_top>;
|
||||
};
|
||||
|
||||
tcon_top_hdmi_in_tcon_tv1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tcon_tv1_out_tcon_top>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_top_hdmi_out: port@5 {
|
||||
reg = <5>;
|
||||
|
||||
tcon_top_hdmi_out_hdmi: endpoint {
|
||||
remote-endpoint = <&hdmi_in_tcon_top>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
tcon_tv0: lcd-controller@1c73000 {
|
||||
compatible = "allwinner,sun8i-r40-tcon-tv";
|
||||
reg = <0x01c73000 0x1000>;
|
||||
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_TCON_TV0>, <&tcon_top 0>;
|
||||
clock-names = "ahb", "tcon-ch1";
|
||||
resets = <&ccu RST_BUS_TCON_TV0>;
|
||||
reset-names = "lcd";
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tcon_tv0_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
tcon_tv0_in_tcon_top_mixer0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon_top_mixer0_out_tcon_tv0>;
|
||||
};
|
||||
|
||||
tcon_tv0_in_tcon_top_mixer1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tcon_top_mixer1_out_tcon_tv0>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_tv0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
tcon_tv0_out_tcon_top: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tcon_top_hdmi_in_tcon_tv0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
tcon_tv1: lcd-controller@1c74000 {
|
||||
compatible = "allwinner,sun8i-r40-tcon-tv";
|
||||
reg = <0x01c74000 0x1000>;
|
||||
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_TCON_TV1>, <&tcon_top 1>;
|
||||
clock-names = "ahb", "tcon-ch1";
|
||||
resets = <&ccu RST_BUS_TCON_TV1>;
|
||||
reset-names = "lcd";
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tcon_tv1_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
tcon_tv1_in_tcon_top_mixer0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon_top_mixer0_out_tcon_tv1>;
|
||||
};
|
||||
|
||||
tcon_tv1_in_tcon_top_mixer1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tcon_top_mixer1_out_tcon_tv1>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon_tv1_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
tcon_tv1_out_tcon_top: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tcon_top_hdmi_in_tcon_tv1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gic: interrupt-controller@1c81000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x01c81000 0x1000>,
|
||||
@ -495,6 +805,50 @@
|
||||
#interrupt-cells = <3>;
|
||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
|
||||
hdmi: hdmi@1ee0000 {
|
||||
compatible = "allwinner,sun8i-r40-dw-hdmi",
|
||||
"allwinner,sun8i-a83t-dw-hdmi";
|
||||
reg = <0x01ee0000 0x10000>;
|
||||
reg-io-width = <1>;
|
||||
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_HDMI0>, <&ccu CLK_HDMI_SLOW>,
|
||||
<&ccu CLK_HDMI>;
|
||||
clock-names = "iahb", "isfr", "tmds";
|
||||
resets = <&ccu RST_BUS_HDMI1>;
|
||||
reset-names = "ctrl";
|
||||
phys = <&hdmi_phy>;
|
||||
phy-names = "hdmi-phy";
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
hdmi_in: port@0 {
|
||||
reg = <0>;
|
||||
|
||||
hdmi_in_tcon_top: endpoint {
|
||||
remote-endpoint = <&tcon_top_hdmi_out_hdmi>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_out: port@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_phy: hdmi-phy@1ef0000 {
|
||||
compatible = "allwinner,sun8i-r40-hdmi-phy";
|
||||
reg = <0x01ef0000 0x10000>;
|
||||
clocks = <&ccu CLK_BUS_HDMI1>, <&ccu CLK_HDMI_SLOW>,
|
||||
<&ccu 7>, <&ccu 16>;
|
||||
clock-names = "bus", "mod", "pll-0", "pll-1";
|
||||
resets = <&ccu RST_BUS_HDMI0>;
|
||||
reset-names = "phy";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
|
@ -87,6 +87,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
&ahci {
|
||||
phy-supply = <®_eldo3>; /* VDD12-SATA */
|
||||
ahci-supply = <®_dldo4>; /* VDD25-SATA */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
/* Terminus Tech FE 1.1s 4-port USB 2.0 hub here */
|
||||
status = "okay";
|
||||
@ -95,7 +101,7 @@
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
axp22x: pmic@68 {
|
||||
axp22x: pmic@34 {
|
||||
compatible = "x-powers,axp221";
|
||||
reg = <0x34>;
|
||||
interrupt-parent = <&nmi_intc>;
|
||||
@ -152,6 +158,18 @@
|
||||
regulator-name = "vcc-wifi";
|
||||
};
|
||||
|
||||
®_dldo4 {
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
regulator-name = "vdd2v5-sata";
|
||||
};
|
||||
|
||||
®_eldo3 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-name = "vdd1v2-sata";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
bus-width = <4>;
|
||||
|
@ -65,8 +65,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -75,8 +73,6 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -125,7 +121,7 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -154,8 +154,6 @@ config MACH_SUN4I
|
||||
bool "sun4i (Allwinner A10)"
|
||||
select CPU_V7A
|
||||
select ARM_CORTEX_CPU_IS_UP
|
||||
select DM_MMC if MMC
|
||||
select DM_SCSI if SCSI
|
||||
select PHY_SUN4I_USB
|
||||
select DRAM_SUN4I
|
||||
select SUNXI_GEN_SUN4I
|
||||
@ -165,7 +163,6 @@ config MACH_SUN5I
|
||||
bool "sun5i (Allwinner A13)"
|
||||
select CPU_V7A
|
||||
select ARM_CORTEX_CPU_IS_UP
|
||||
select DM_MMC if MMC
|
||||
select DRAM_SUN4I
|
||||
select PHY_SUN4I_USB
|
||||
select SUNXI_GEN_SUN4I
|
||||
@ -178,7 +175,6 @@ config MACH_SUN6I
|
||||
select CPU_V7_HAS_NONSEC
|
||||
select CPU_V7_HAS_VIRT
|
||||
select ARCH_SUPPORT_PSCI
|
||||
select DM_MMC if MMC
|
||||
select DRAM_SUN6I
|
||||
select PHY_SUN4I_USB
|
||||
select SUN6I_P2WI
|
||||
@ -205,7 +201,6 @@ config MACH_SUN8I_A23
|
||||
select CPU_V7_HAS_NONSEC
|
||||
select CPU_V7_HAS_VIRT
|
||||
select ARCH_SUPPORT_PSCI
|
||||
select DM_MMC if MMC
|
||||
select DRAM_SUN8I_A23
|
||||
select PHY_SUN4I_USB
|
||||
select SUNXI_GEN_SUN6I
|
||||
@ -219,7 +214,6 @@ config MACH_SUN8I_A33
|
||||
select CPU_V7_HAS_NONSEC
|
||||
select CPU_V7_HAS_VIRT
|
||||
select ARCH_SUPPORT_PSCI
|
||||
select DM_MMC if MMC
|
||||
select DRAM_SUN8I_A33
|
||||
select PHY_SUN4I_USB
|
||||
select SUNXI_GEN_SUN6I
|
||||
@ -230,7 +224,6 @@ config MACH_SUN8I_A33
|
||||
config MACH_SUN8I_A83T
|
||||
bool "sun8i (Allwinner A83T)"
|
||||
select CPU_V7A
|
||||
select DM_MMC if MMC
|
||||
select DRAM_SUN8I_A83T
|
||||
select PHY_SUN4I_USB
|
||||
select SUNXI_GEN_SUN6I
|
||||
@ -246,7 +239,6 @@ config MACH_SUN8I_H3
|
||||
select ARCH_SUPPORT_PSCI
|
||||
select MACH_SUNXI_H3_H5
|
||||
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
|
||||
select DM_MMC if MMC
|
||||
|
||||
config MACH_SUN8I_R40
|
||||
bool "sun8i (Allwinner R40)"
|
||||
@ -265,7 +257,6 @@ config MACH_SUN8I_V3S
|
||||
select CPU_V7_HAS_NONSEC
|
||||
select CPU_V7_HAS_VIRT
|
||||
select ARCH_SUPPORT_PSCI
|
||||
select DM_MMC if MMC
|
||||
select SUNXI_GEN_SUN6I
|
||||
select SUNXI_DRAM_DW
|
||||
select SUNXI_DRAM_DW_16BIT
|
||||
@ -280,13 +271,11 @@ config MACH_SUN9I
|
||||
select SUNXI_GEN_SUN6I
|
||||
select SUN8I_RSB
|
||||
select SUPPORT_SPL
|
||||
select DM_MMC if MMC
|
||||
|
||||
config MACH_SUN50I
|
||||
bool "sun50i (Allwinner A64)"
|
||||
select ARM64
|
||||
select DM_I2C
|
||||
select DM_MMC if MMC
|
||||
select PHY_SUN4I_USB
|
||||
select SUN6I_PRCM
|
||||
select SUNXI_DE2
|
||||
@ -303,7 +292,6 @@ config MACH_SUN50I_H5
|
||||
bool "sun50i (Allwinner H5)"
|
||||
select ARM64
|
||||
select MACH_SUNXI_H3_H5
|
||||
select DM_MMC if MMC
|
||||
select FIT
|
||||
select SPL_LOAD_FIT
|
||||
|
||||
@ -311,7 +299,6 @@ config MACH_SUN50I_H6
|
||||
bool "sun50i (Allwinner H6)"
|
||||
select ARM64
|
||||
select SUPPORT_SPL
|
||||
select DM_MMC if MMC
|
||||
select FIT
|
||||
select SPL_LOAD_FIT
|
||||
select DRAM_SUN50I_H6
|
||||
|
@ -8,9 +8,6 @@
|
||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
obj-y += board.o
|
||||
obj-$(CONFIG_SUN7I_GMAC) += gmac.o
|
||||
ifndef CONFIG_SPL_BUILD
|
||||
obj-$(CONFIG_SUNXI_AHCI) += ahci.o
|
||||
endif
|
||||
obj-$(CONFIG_MACH_SUN4I) += dram_sun4i_auto.o
|
||||
obj-$(CONFIG_MACH_SUN5I) += dram_sun5i_auto.o
|
||||
obj-$(CONFIG_MACH_SUN7I) += dram_sun5i_auto.o
|
||||
|
@ -12,14 +12,6 @@ void eth_init_board(void)
|
||||
struct sunxi_ccm_reg *const ccm =
|
||||
(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
|
||||
|
||||
/* Set up clock gating */
|
||||
#ifdef CONFIG_SUNXI_GEN_SUN6I
|
||||
setbits_le32(&ccm->ahb_reset0_cfg, 0x1 << AHB_RESET_OFFSET_GMAC);
|
||||
setbits_le32(&ccm->ahb_gate0, 0x1 << AHB_GATE_OFFSET_GMAC);
|
||||
#else
|
||||
setbits_le32(&ccm->ahb_gate1, 0x1 << AHB_GATE_OFFSET_GMAC);
|
||||
#endif
|
||||
|
||||
/* Set MII clock */
|
||||
#ifdef CONFIG_RGMII
|
||||
setbits_le32(&ccm->gmac_clk_cfg, CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII |
|
||||
|
@ -109,6 +109,14 @@ config SATA_SIL3114
|
||||
help
|
||||
Enable this driver to support the SIL3114 SATA controllers.
|
||||
|
||||
config SUNXI_AHCI
|
||||
bool "Enable Allwinner SATA driver support"
|
||||
depends on AHCI
|
||||
default y if ARCH_SUNXI
|
||||
help
|
||||
Enable this driver to support the SATA controllers found in the
|
||||
Allwinner A10, A20 and R40 SoCs.
|
||||
|
||||
config AHCI_MVEBU
|
||||
bool "Marvell EBU AHCI SATA support"
|
||||
depends on ARCH_MVEBU
|
||||
|
@ -18,3 +18,4 @@ obj-$(CONFIG_SATA_SIL3114) += sata_sil3114.o
|
||||
obj-$(CONFIG_SATA_SIL) += sata_sil.o
|
||||
obj-$(CONFIG_SANDBOX) += sata_sandbox.o
|
||||
obj-$(CONFIG_AHCI_MVEBU) += ahci_mvebu.o
|
||||
obj-$(CONFIG_SUNXI_AHCI) += ahci_sunxi.o
|
||||
|
@ -70,15 +70,6 @@ static int sunxi_ahci_phy_init(u8 *reg_base)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_DM_SCSI
|
||||
void scsi_init(void)
|
||||
{
|
||||
if (sunxi_ahci_phy_init((u8 *)SUNXI_SATA_BASE) < 0)
|
||||
return;
|
||||
|
||||
ahci_init((void __iomem *)SUNXI_SATA_BASE);
|
||||
}
|
||||
#else
|
||||
static int sunxi_sata_probe(struct udevice *dev)
|
||||
{
|
||||
ulong base;
|
||||
@ -121,6 +112,7 @@ static int sunxi_sata_bind(struct udevice *dev)
|
||||
|
||||
static const struct udevice_id sunxi_ahci_ids[] = {
|
||||
{ .compatible = "allwinner,sun4i-a10-ahci" },
|
||||
{ .compatible = "allwinner,sun8i-r40-ahci" },
|
||||
{ }
|
||||
};
|
||||
|
||||
@ -131,4 +123,3 @@ U_BOOT_DRIVER(ahci_sunxi_drv) = {
|
||||
.bind = sunxi_sata_bind,
|
||||
.probe = sunxi_sata_probe,
|
||||
};
|
||||
#endif
|
@ -62,7 +62,6 @@ static struct ccu_reset r40_resets[] = {
|
||||
[RST_BUS_MMC1] = RESET(0x2c0, BIT(9)),
|
||||
[RST_BUS_MMC2] = RESET(0x2c0, BIT(10)),
|
||||
[RST_BUS_MMC3] = RESET(0x2c0, BIT(11)),
|
||||
[RST_BUS_GMAC] = RESET(0x2c0, BIT(17)),
|
||||
[RST_BUS_SPI0] = RESET(0x2c0, BIT(20)),
|
||||
[RST_BUS_SPI1] = RESET(0x2c0, BIT(21)),
|
||||
[RST_BUS_SPI2] = RESET(0x2c0, BIT(22)),
|
||||
@ -75,6 +74,8 @@ static struct ccu_reset r40_resets[] = {
|
||||
[RST_BUS_OHCI1] = RESET(0x2c0, BIT(30)),
|
||||
[RST_BUS_OHCI2] = RESET(0x2c0, BIT(31)),
|
||||
|
||||
[RST_BUS_GMAC] = RESET(0x2c4, BIT(17)),
|
||||
|
||||
[RST_BUS_UART0] = RESET(0x2d8, BIT(16)),
|
||||
[RST_BUS_UART1] = RESET(0x2d8, BIT(17)),
|
||||
[RST_BUS_UART2] = RESET(0x2d8, BIT(18)),
|
||||
|
@ -14,12 +14,14 @@
|
||||
#include <asm/arch/clock.h>
|
||||
#include <asm/arch/gpio.h>
|
||||
#include <common.h>
|
||||
#include <clk.h>
|
||||
#include <dm.h>
|
||||
#include <fdt_support.h>
|
||||
#include <linux/err.h>
|
||||
#include <malloc.h>
|
||||
#include <miiphy.h>
|
||||
#include <net.h>
|
||||
#include <reset.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
#ifdef CONFIG_DM_GPIO
|
||||
#include <asm-generic/gpio.h>
|
||||
@ -135,6 +137,8 @@ struct emac_eth_dev {
|
||||
phys_addr_t sysctl_reg;
|
||||
struct phy_device *phydev;
|
||||
struct mii_dev *bus;
|
||||
struct clk tx_clk;
|
||||
struct reset_ctl tx_rst;
|
||||
#ifdef CONFIG_DM_GPIO
|
||||
struct gpio_desc reset_gpio;
|
||||
#endif
|
||||
@ -285,10 +289,18 @@ static int sun8i_emac_set_syscon(struct sun8i_eth_pdata *pdata,
|
||||
int ret;
|
||||
u32 reg;
|
||||
|
||||
reg = readl(priv->sysctl_reg + 0x30);
|
||||
if (priv->variant == R40_GMAC) {
|
||||
/* Select RGMII for R40 */
|
||||
reg = readl(priv->sysctl_reg + 0x164);
|
||||
reg |= CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII |
|
||||
CCM_GMAC_CTRL_GPIT_RGMII |
|
||||
CCM_GMAC_CTRL_TX_CLK_DELAY(CONFIG_GMAC_TX_DELAY);
|
||||
|
||||
if (priv->variant == R40_GMAC)
|
||||
writel(reg, priv->sysctl_reg + 0x164);
|
||||
return 0;
|
||||
}
|
||||
|
||||
reg = readl(priv->sysctl_reg + 0x30);
|
||||
|
||||
if (priv->variant == H3_EMAC) {
|
||||
ret = sun8i_emac_set_syscon_ephy(priv, ®);
|
||||
@ -639,9 +651,24 @@ static int sun8i_eth_write_hwaddr(struct udevice *dev)
|
||||
return _sun8i_write_hwaddr(priv, pdata->enetaddr);
|
||||
}
|
||||
|
||||
static void sun8i_emac_board_setup(struct emac_eth_dev *priv)
|
||||
static int sun8i_emac_board_setup(struct emac_eth_dev *priv)
|
||||
{
|
||||
struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
|
||||
int ret;
|
||||
|
||||
ret = clk_enable(&priv->tx_clk);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to enable TX clock\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (reset_valid(&priv->tx_rst)) {
|
||||
ret = reset_deassert(&priv->tx_rst);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to deassert TX reset\n");
|
||||
goto err_tx_clk;
|
||||
}
|
||||
}
|
||||
|
||||
if (priv->variant == H3_EMAC) {
|
||||
/* Only H3/H5 have clock controls for internal EPHY */
|
||||
@ -656,26 +683,11 @@ static void sun8i_emac_board_setup(struct emac_eth_dev *priv)
|
||||
}
|
||||
}
|
||||
|
||||
if (priv->variant == R40_GMAC) {
|
||||
/* Set clock gating for emac */
|
||||
setbits_le32(&ccm->ahb_reset1_cfg, BIT(AHB_RESET_OFFSET_GMAC));
|
||||
return 0;
|
||||
|
||||
/* De-assert EMAC */
|
||||
setbits_le32(&ccm->ahb_gate1, BIT(AHB_GATE_OFFSET_GMAC));
|
||||
|
||||
/* Select RGMII for R40 */
|
||||
setbits_le32(&ccm->gmac_clk_cfg,
|
||||
CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII |
|
||||
CCM_GMAC_CTRL_GPIT_RGMII);
|
||||
setbits_le32(&ccm->gmac_clk_cfg,
|
||||
CCM_GMAC_CTRL_TX_CLK_DELAY(CONFIG_GMAC_TX_DELAY));
|
||||
} else {
|
||||
/* Set clock gating for emac */
|
||||
setbits_le32(&ccm->ahb_gate0, BIT(AHB_GATE_OFFSET_GMAC));
|
||||
|
||||
/* De-assert EMAC */
|
||||
setbits_le32(&ccm->ahb_reset0_cfg, BIT(AHB_RESET_OFFSET_GMAC));
|
||||
}
|
||||
err_tx_clk:
|
||||
clk_disable(&priv->tx_clk);
|
||||
return ret;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_DM_GPIO)
|
||||
@ -802,10 +814,14 @@ static int sun8i_emac_eth_probe(struct udevice *dev)
|
||||
struct sun8i_eth_pdata *sun8i_pdata = dev_get_platdata(dev);
|
||||
struct eth_pdata *pdata = &sun8i_pdata->eth_pdata;
|
||||
struct emac_eth_dev *priv = dev_get_priv(dev);
|
||||
int ret;
|
||||
|
||||
priv->mac_reg = (void *)pdata->iobase;
|
||||
|
||||
sun8i_emac_board_setup(priv);
|
||||
ret = sun8i_emac_board_setup(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
sun8i_emac_set_syscon(sun8i_pdata, priv);
|
||||
|
||||
sun8i_mdio_init(dev->name, dev);
|
||||
@ -834,8 +850,8 @@ static int sun8i_emac_eth_ofdata_to_platdata(struct udevice *dev)
|
||||
int offset = 0;
|
||||
#ifdef CONFIG_DM_GPIO
|
||||
int reset_flags = GPIOD_IS_OUT;
|
||||
int ret = 0;
|
||||
#endif
|
||||
int ret;
|
||||
|
||||
pdata->iobase = devfdt_get_addr(dev);
|
||||
if (pdata->iobase == FDT_ADDR_T_NONE) {
|
||||
@ -850,25 +866,35 @@ static int sun8i_emac_eth_ofdata_to_platdata(struct udevice *dev)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (priv->variant != R40_GMAC) {
|
||||
offset = fdtdec_lookup_phandle(gd->fdt_blob, node, "syscon");
|
||||
if (offset < 0) {
|
||||
debug("%s: cannot find syscon node\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
reg = fdt_getprop(gd->fdt_blob, offset, "reg", NULL);
|
||||
if (!reg) {
|
||||
debug("%s: cannot find reg property in syscon node\n",
|
||||
__func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
priv->sysctl_reg = fdt_translate_address((void *)gd->fdt_blob,
|
||||
offset, reg);
|
||||
if (priv->sysctl_reg == FDT_ADDR_T_NONE) {
|
||||
debug("%s: Cannot find syscon base address\n",
|
||||
__func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
ret = clk_get_by_name(dev, "stmmaceth", &priv->tx_clk);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to get TX clock\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = reset_get_by_name(dev, "stmmaceth", &priv->tx_rst);
|
||||
if (ret && ret != -ENOENT) {
|
||||
dev_err(dev, "failed to get TX reset\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
offset = fdtdec_lookup_phandle(gd->fdt_blob, node, "syscon");
|
||||
if (offset < 0) {
|
||||
debug("%s: cannot find syscon node\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
reg = fdt_getprop(gd->fdt_blob, offset, "reg", NULL);
|
||||
if (!reg) {
|
||||
debug("%s: cannot find reg property in syscon node\n",
|
||||
__func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
priv->sysctl_reg = fdt_translate_address((void *)gd->fdt_blob,
|
||||
offset, reg);
|
||||
if (priv->sysctl_reg == FDT_ADDR_T_NONE) {
|
||||
debug("%s: Cannot find syscon base address\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
pdata->phy_interface = -1;
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <clk.h>
|
||||
#include <dm.h>
|
||||
#include <linux/err.h>
|
||||
#include <malloc.h>
|
||||
@ -157,6 +158,7 @@ struct sunxi_sramc_regs {
|
||||
|
||||
struct emac_eth_dev {
|
||||
struct emac_regs *regs;
|
||||
struct clk clk;
|
||||
struct mii_dev *bus;
|
||||
struct phy_device *phydev;
|
||||
int link_printed;
|
||||
@ -500,14 +502,12 @@ static int _sunxi_emac_eth_send(struct emac_eth_dev *priv, void *packet,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void sunxi_emac_board_setup(struct emac_eth_dev *priv)
|
||||
static int sunxi_emac_board_setup(struct emac_eth_dev *priv)
|
||||
{
|
||||
struct sunxi_ccm_reg *const ccm =
|
||||
(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
|
||||
struct sunxi_sramc_regs *sram =
|
||||
(struct sunxi_sramc_regs *)SUNXI_SRAMC_BASE;
|
||||
struct emac_regs *regs = priv->regs;
|
||||
int pin;
|
||||
int pin, ret;
|
||||
|
||||
/* Map SRAM to EMAC */
|
||||
setbits_le32(&sram->ctrl1, 0x5 << 2);
|
||||
@ -517,10 +517,16 @@ static void sunxi_emac_board_setup(struct emac_eth_dev *priv)
|
||||
sunxi_gpio_set_cfgpin(pin, SUNXI_GPA_EMAC);
|
||||
|
||||
/* Set up clock gating */
|
||||
setbits_le32(&ccm->ahb_gate0, 0x1 << AHB_GATE_OFFSET_EMAC);
|
||||
ret = clk_enable(&priv->clk);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to enable emac clock\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Set MII clock */
|
||||
clrsetbits_le32(®s->mac_mcfg, 0xf << 2, 0xd << 2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int sunxi_emac_eth_start(struct udevice *dev)
|
||||
@ -557,9 +563,19 @@ static int sunxi_emac_eth_probe(struct udevice *dev)
|
||||
{
|
||||
struct eth_pdata *pdata = dev_get_platdata(dev);
|
||||
struct emac_eth_dev *priv = dev_get_priv(dev);
|
||||
int ret;
|
||||
|
||||
priv->regs = (struct emac_regs *)pdata->iobase;
|
||||
sunxi_emac_board_setup(priv);
|
||||
|
||||
ret = clk_get_by_index(dev, 0, &priv->clk);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to get emac clock\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = sunxi_emac_board_setup(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return sunxi_emac_init_phy(priv, dev);
|
||||
}
|
||||
|
@ -104,13 +104,7 @@
|
||||
#define PHYS_SDRAM_0_SIZE 0x80000000 /* 2 GiB */
|
||||
|
||||
#ifdef CONFIG_AHCI
|
||||
#define CONFIG_SCSI_AHCI_PLAT
|
||||
#define CONFIG_SUNXI_AHCI
|
||||
#define CONFIG_SYS_64BIT_LBA
|
||||
#define CONFIG_SYS_SCSI_MAX_SCSI_ID 1
|
||||
#define CONFIG_SYS_SCSI_MAX_LUN 1
|
||||
#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
|
||||
CONFIG_SYS_SCSI_MAX_LUN)
|
||||
#endif
|
||||
|
||||
#define CONFIG_SETUP_MEMORY_TAGS
|
||||
|
11
include/dt-bindings/clock/sun8i-tcon-top.h
Normal file
11
include/dt-bindings/clock/sun8i-tcon-top.h
Normal file
@ -0,0 +1,11 @@
|
||||
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
|
||||
/* Copyright (C) 2018 Jernej Skrabec <jernej.skrabec@siol.net> */
|
||||
|
||||
#ifndef _DT_BINDINGS_CLOCK_SUN8I_TCON_TOP_H_
|
||||
#define _DT_BINDINGS_CLOCK_SUN8I_TCON_TOP_H_
|
||||
|
||||
#define CLK_TCON_TOP_TV0 0
|
||||
#define CLK_TCON_TOP_TV1 1
|
||||
#define CLK_TCON_TOP_DSI 2
|
||||
|
||||
#endif /* _DT_BINDINGS_CLOCK_SUN8I_TCON_TOP_H_ */
|
@ -1939,7 +1939,6 @@ CONFIG_STV0991
|
||||
CONFIG_STV0991_HZ
|
||||
CONFIG_STV0991_HZ_CLOCK
|
||||
CONFIG_ST_SMI
|
||||
CONFIG_SUNXI_AHCI
|
||||
CONFIG_SUNXI_GPIO
|
||||
CONFIG_SUNXI_MAX_FB_SIZE
|
||||
CONFIG_SUPERH_ON_CHIP_R8A66597
|
||||
|
Loading…
Reference in New Issue
Block a user