mirror of https://gitee.com/openkylin/linux.git
Allwinner arm64 DT changes for 4.20
Our usual set of DT changes for the arm64 Allwinner SoCs. The most notable things are: - HDMI support on the A64 - New boards: OrangePi One Plus -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE0VqZU19dR2zEVaqr0rTAlCFNr3QFAluvknEACgkQ0rTAlCFN r3QcChAAh48PP26x4cemD+dmtOhXEPIBw1PRDHCwxIYXxlk//1pi2mbW3EJcgDF4 boL1nANP+X06cveQqI28TImQWCOMTOXd7AWxyFZS+0QoORWXYwZMnrYydrscFvBr 7eoBOou805RNLHeTn0w0TFHwRCSsh6XSLitGzec1NMh5v9YJMZamFWgUkCod7J8k uKfLuL7BqdBfAGJr83vwTds7y+r9bvZTDSIw1neAn2dfi8z3j5DortYcMp76jPJc 51z64RSna9o4nYe9nLl4bORq9rTfH/CJf5cc+/Br6RTWzA4SlAGzyWBdwCH4fbWv BKVc5aDUpkoMkgNJmZP27L4tbsV7cH5sZ4s820yHioUn2ghUWjq585KyR7/1yqI5 MGZDNzlUxbzGPBgObg8K8dl7ZL9f09ziDsoWF3ysL/vtYpkjxBML4mCsIiUgblkR kpleA1Zv8uL864MQBF0gUixRSeU4Lq4xu4fBI4Vi7CvzYrX1ZDEoiUvFd3OzxJmL ZeKmd0mOWu1y8oUyw4S4nvzrtklAAjU2pukfpUC5J66JFlcyJQ7ic7gZ3UMsyWTW 5xsAWmqhToYQNKGdEsHoFtDI9clM/+0wpyedc655020biMP8/Wf7gHexVsM3+x6W fUbTqWHNkc7jD8lc0qZFQGZiGRMToZkTHALD0/kb+gvLYEblXtk= =sPs9 -----END PGP SIGNATURE----- Merge tag 'sunxi-dt64-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner arm64 DT changes for 4.20 Our usual set of DT changes for the arm64 Allwinner SoCs. The most notable things are: - HDMI support on the A64 - New boards: OrangePi One Plus * tag 'sunxi-dt64-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (28 commits) arm64: dts: allwinner: a64: a64-olinuxino: set the PHY TX delay arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI arm64: dts: allwinner: a64: Add display pipeline arm64: dts: allwinner: h6: add system controller device tree node arm64: dts: allwinner: h6: Add OrangePi One Plus initial support arm64: dts: allwinner: a64: Rename r_i2c_pins_a label to r_i2c_pl89_pins arm64: dts: allwinner: a64: Rename uart0_pins_a label to uart0_pb_pins arm64: dts: allwinner: a64: Split out data strobe pin from mmc2 pinmux arm64: dts: allwinner: a64: NanoPi-A64: Add blue status LED arm64: dts: allwinner: a64: NanoPi-A64: Add Wifi chip arm64: dts: allwinner: a64: NanoPi-A64: Add Ethernet arm64: dts: allwinner: a64: NanoPi-A64: Fix DCDC1 voltage arm64: dts: allwinner: a64: Olinuxino: enable USB arm64: dts: allwinner: a64: Olinuxino: add Ethernet nodes arm64: dts: allwinner: a64: Olinuxino: fix DRAM voltage arm64: dts: allwinner: a64: Orange Pi Win: Adjust CSI power rails arm64: dts: allwinner: a64: Orange Pi Win: Add SPI flash node arm64: dts: allwinner: a64: Orange Pi Win: Add SDIO node arm64: dts: allwinner: a64: Orange Pi Win: Add LED node arm64: dts: allwinner: a64: Orange Pi Win: Add UARTs ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
f6cfb90582
|
@ -4,6 +4,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-bananapi-m64.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-nanopi-a64.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-nanopi-a64.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
|
||||||
|
@ -17,4 +18,5 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
|
||||||
|
|
|
@ -203,7 +203,7 @@ ®_rtc_ldo {
|
||||||
|
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,17 @@ chosen {
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi-connector {
|
||||||
|
compatible = "hdmi-connector";
|
||||||
|
type = "a";
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_con_in: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_out_con>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
leds {
|
leds {
|
||||||
compatible = "gpio-leds";
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
@ -86,6 +97,10 @@ wifi_pwrseq: wifi_pwrseq {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&de {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&ehci0 {
|
&ehci0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@ -103,6 +118,17 @@ &emac {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&hdmi {
|
||||||
|
hvcc-supply = <®_dldo1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi_out {
|
||||||
|
hdmi_out_con: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_con_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&i2c1 {
|
&i2c1 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&i2c1_pins>;
|
pinctrl-0 = <&i2c1_pins>;
|
||||||
|
@ -151,7 +177,7 @@ brcmf: wifi@1 {
|
||||||
|
|
||||||
&mmc2 {
|
&mmc2 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc2_pins>;
|
pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
|
||||||
vmmc-supply = <®_dcdc1>;
|
vmmc-supply = <®_dcdc1>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
non-removable;
|
non-removable;
|
||||||
|
@ -302,7 +328,7 @@ &simplefb_hdmi {
|
||||||
|
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -51,12 +51,44 @@ / {
|
||||||
compatible = "friendlyarm,nanopi-a64", "allwinner,sun50i-a64";
|
compatible = "friendlyarm,nanopi-a64", "allwinner,sun50i-a64";
|
||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
|
ethernet0 = &emac;
|
||||||
serial0 = &uart0;
|
serial0 = &uart0;
|
||||||
};
|
};
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi-connector {
|
||||||
|
compatible = "hdmi-connector";
|
||||||
|
type = "a";
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_con_in: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_out_con>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
blue {
|
||||||
|
label = "nanopi-a64:blue:status";
|
||||||
|
gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi_pwrseq: wifi_pwrseq {
|
||||||
|
compatible = "mmc-pwrseq-simple";
|
||||||
|
clocks = <&rtc 1>;
|
||||||
|
clock-names = "ext_clock";
|
||||||
|
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&de {
|
||||||
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&ehci0 {
|
&ehci0 {
|
||||||
|
@ -67,6 +99,26 @@ &ehci1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&emac {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&rgmii_pins>;
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
|
phy-supply = <®_dcdc1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi {
|
||||||
|
hvcc-supply = <®_dldo1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi_out {
|
||||||
|
hdmi_out_con: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_con_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
/* i2c1 connected with gpio headers like pine64, bananapi */
|
/* i2c1 connected with gpio headers like pine64, bananapi */
|
||||||
&i2c1 {
|
&i2c1 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
@ -78,6 +130,13 @@ &i2c1_pins {
|
||||||
bias-pull-up;
|
bias-pull-up;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&mdio {
|
||||||
|
ext_rgmii_phy: ethernet-phy@1 {
|
||||||
|
compatible = "ethernet-phy-ieee802.3-c22";
|
||||||
|
reg = <7>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc0_pins>;
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
|
@ -88,6 +147,24 @@ &mmc0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&mmc1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc1_pins>;
|
||||||
|
vmmc-supply = <®_dcdc1>;
|
||||||
|
vqmmc-supply = <®_dldo4>;
|
||||||
|
mmc-pwrseq = <&wifi_pwrseq>;
|
||||||
|
bus-width = <4>;
|
||||||
|
non-removable;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
rtl8189etv: wifi@1 {
|
||||||
|
reg = <1>;
|
||||||
|
interrupt-parent = <&r_pio>;
|
||||||
|
interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
|
||||||
|
interrupt-names = "host-wake";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&ohci0 {
|
&ohci0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@ -125,9 +202,9 @@ ®_aldo3 {
|
||||||
|
|
||||||
®_dcdc1 {
|
®_dcdc1 {
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3300000>;
|
||||||
regulator-max-microvolt = <3000000>;
|
regulator-max-microvolt = <3300000>;
|
||||||
regulator-name = "vcc-3v";
|
regulator-name = "vcc-3v3";
|
||||||
};
|
};
|
||||||
|
|
||||||
®_dcdc2 {
|
®_dcdc2 {
|
||||||
|
@ -201,7 +278,7 @@ &simplefb_hdmi {
|
||||||
|
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ / {
|
||||||
compatible = "olimex,a64-olinuxino", "allwinner,sun50i-a64";
|
compatible = "olimex,a64-olinuxino", "allwinner,sun50i-a64";
|
||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
|
ethernet0 = &emac;
|
||||||
serial0 = &uart0;
|
serial0 = &uart0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -58,12 +59,74 @@ chosen {
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi-connector {
|
||||||
|
compatible = "hdmi-connector";
|
||||||
|
type = "a";
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_con_in: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_out_con>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_usb1_vbus: usb1-vbus {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "usb1-vbus";
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
regulator-boot-on;
|
||||||
|
enable-active-high;
|
||||||
|
gpio = <&pio 6 9 GPIO_ACTIVE_HIGH>; /* PG9 */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
wifi_pwrseq: wifi_pwrseq {
|
wifi_pwrseq: wifi_pwrseq {
|
||||||
compatible = "mmc-pwrseq-simple";
|
compatible = "mmc-pwrseq-simple";
|
||||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&de {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ehci0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ehci1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&emac {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&rgmii_pins>;
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
|
phy-supply = <®_dcdc1>;
|
||||||
|
allwinner,tx-delay-ps = <600>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi {
|
||||||
|
hvcc-supply = <®_dldo1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi_out {
|
||||||
|
hdmi_out_con: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_con_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio {
|
||||||
|
ext_rgmii_phy: ethernet-phy@1 {
|
||||||
|
compatible = "ethernet-phy-ieee802.3-c22";
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc0_pins>;
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
|
@ -92,6 +155,14 @@ rtl8723bs: wifi@1 {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&ohci0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ohci1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&r_rsb {
|
&r_rsb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
@ -100,6 +171,7 @@ axp803: pmic@3a3 {
|
||||||
reg = <0x3a3>;
|
reg = <0x3a3>;
|
||||||
interrupt-parent = <&r_intc>;
|
interrupt-parent = <&r_intc>;
|
||||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -142,10 +214,14 @@ ®_dcdc2 {
|
||||||
|
|
||||||
/* DCDC3 is polyphased with DCDC2 */
|
/* DCDC3 is polyphased with DCDC2 */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The board uses DDR3L DRAM chips. 1.36V is the closest to the nominal
|
||||||
|
* 1.35V that the PMIC can drive.
|
||||||
|
*/
|
||||||
®_dcdc5 {
|
®_dcdc5 {
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-min-microvolt = <1500000>;
|
regulator-min-microvolt = <1360000>;
|
||||||
regulator-max-microvolt = <1500000>;
|
regulator-max-microvolt = <1360000>;
|
||||||
regulator-name = "vcc-ddr3";
|
regulator-name = "vcc-ddr3";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -180,6 +256,11 @@ ®_dldo4 {
|
||||||
regulator-name = "vcc-wifi-io";
|
regulator-name = "vcc-wifi-io";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
®_drivevbus {
|
||||||
|
regulator-name = "usb0-vbus";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
®_eldo1 {
|
®_eldo1 {
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-min-microvolt = <1800000>;
|
||||||
regulator-max-microvolt = <1800000>;
|
regulator-max-microvolt = <1800000>;
|
||||||
|
@ -220,6 +301,18 @@ &simplefb_hdmi {
|
||||||
|
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&usb_otg {
|
||||||
|
dr_mode = "otg";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usbphy {
|
||||||
|
status = "okay";
|
||||||
|
usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
|
||||||
|
usb0_vbus-supply = <®_drivevbus>;
|
||||||
|
usb1_vbus-supply = <®_usb1_vbus>;
|
||||||
|
};
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
|
* Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
|
||||||
|
* Copyright (C) 2017-2018 Samuel Holland <samuel@sholland.org>
|
||||||
*
|
*
|
||||||
* This file is dual-licensed: you can use it either under the terms
|
* This file is dual-licensed: you can use it either under the terms
|
||||||
* of the GPL or the X11 license, at your option. Note that this dual
|
* of the GPL or the X11 license, at your option. Note that this dual
|
||||||
|
@ -51,23 +52,127 @@ / {
|
||||||
compatible = "xunlong,orangepi-win", "allwinner,sun50i-a64";
|
compatible = "xunlong,orangepi-win", "allwinner,sun50i-a64";
|
||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
|
ethernet0 = &emac;
|
||||||
serial0 = &uart0;
|
serial0 = &uart0;
|
||||||
|
serial1 = &uart1;
|
||||||
|
serial2 = &uart2;
|
||||||
|
serial3 = &uart3;
|
||||||
|
serial4 = &uart4;
|
||||||
};
|
};
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi-connector {
|
||||||
|
compatible = "hdmi-connector";
|
||||||
|
type = "a";
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_con_in: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_out_con>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
status {
|
||||||
|
label = "orangepi:green:status";
|
||||||
|
gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_gmac_3v3: gmac-3v3 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "gmac-3v3";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-boot-on;
|
||||||
|
enable-active-high;
|
||||||
|
gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_usb1_vbus: usb1-vbus {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "usb1-vbus";
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
regulator-boot-on;
|
||||||
|
enable-active-high;
|
||||||
|
gpio = <&pio 3 7 GPIO_ACTIVE_HIGH>; /* PD7 */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi_pwrseq: wifi_pwrseq {
|
||||||
|
compatible = "mmc-pwrseq-simple";
|
||||||
|
reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&de {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ehci0 {
|
||||||
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&ehci1 {
|
&ehci1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&emac {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&rgmii_pins>;
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
|
phy-supply = <®_gmac_3v3>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi {
|
||||||
|
hvcc-supply = <®_dldo1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi_out {
|
||||||
|
hdmi_out_con: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_con_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio {
|
||||||
|
ext_rgmii_phy: ethernet-phy@1 {
|
||||||
|
compatible = "ethernet-phy-ieee802.3-c22";
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc0_pins>;
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
vmmc-supply = <®_dcdc1>;
|
vmmc-supply = <®_dcdc1>;
|
||||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||||
|
disable-wp;
|
||||||
|
bus-width = <4>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc1_pins>;
|
||||||
|
vmmc-supply = <®_dldo2>;
|
||||||
|
vqmmc-supply = <®_dldo4>;
|
||||||
|
mmc-pwrseq = <&wifi_pwrseq>;
|
||||||
|
bus-width = <4>;
|
||||||
|
non-removable;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ohci0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -89,9 +194,8 @@ axp803: pmic@3a3 {
|
||||||
#include "axp803.dtsi"
|
#include "axp803.dtsi"
|
||||||
|
|
||||||
®_aldo1 {
|
®_aldo1 {
|
||||||
regulator-always-on;
|
regulator-min-microvolt = <2800000>;
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-max-microvolt = <2800000>;
|
||||||
regulator-max-microvolt = <3300000>;
|
|
||||||
regulator-name = "afvcc-csi";
|
regulator-name = "afvcc-csi";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -163,12 +267,23 @@ ®_dldo4 {
|
||||||
regulator-name = "vcc-wifi-io";
|
regulator-name = "vcc-wifi-io";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
®_drivevbus {
|
||||||
|
regulator-name = "usb0-vbus";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
®_eldo1 {
|
®_eldo1 {
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-min-microvolt = <1800000>;
|
||||||
regulator-max-microvolt = <1800000>;
|
regulator-max-microvolt = <1800000>;
|
||||||
regulator-name = "cpvdd";
|
regulator-name = "cpvdd";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
®_eldo3 {
|
||||||
|
regulator-min-microvolt = <1500000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-name = "dvdd-csi";
|
||||||
|
};
|
||||||
|
|
||||||
®_fldo1 {
|
®_fldo1 {
|
||||||
regulator-min-microvolt = <1200000>;
|
regulator-min-microvolt = <1200000>;
|
||||||
regulator-max-microvolt = <1200000>;
|
regulator-max-microvolt = <1200000>;
|
||||||
|
@ -195,13 +310,61 @@ &simplefb_hdmi {
|
||||||
vcc-hdmi-supply = <®_dldo1>;
|
vcc-hdmi-supply = <®_dldo1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&spi0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
spi-flash@0 {
|
||||||
|
compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <80000000>;
|
||||||
|
m25p,fast-read;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* On debug connector */
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Bluetooth */
|
||||||
|
&uart1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* On Pi-2 connector, RTS/CTS optional */
|
||||||
|
&uart2 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&uart2_pins>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* On Pi-2 connector, RTS/CTS optional */
|
||||||
|
&uart3 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&uart3_pins>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* On Pi-2 connector (labeled for SPI1), RTS/CTS optional */
|
||||||
|
&uart4 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&uart4_pins>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb_otg {
|
||||||
|
dr_mode = "otg";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&usbphy {
|
&usbphy {
|
||||||
|
usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
|
||||||
|
usb0_vbus-supply = <®_drivevbus>;
|
||||||
|
usb1_vbus-supply = <®_usb1_vbus>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
/*
|
||||||
|
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2018 ARM Ltd.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sun50i-a64-sopine-baseboard.dts"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Pine64 LTS";
|
||||||
|
compatible = "pine64,pine64-lts", "allwinner,sun50i-r18",
|
||||||
|
"allwinner,sun50i-a64";
|
||||||
|
};
|
|
@ -62,6 +62,21 @@ aliases {
|
||||||
chosen {
|
chosen {
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi-connector {
|
||||||
|
compatible = "hdmi-connector";
|
||||||
|
type = "a";
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_con_in: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_out_con>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&de {
|
||||||
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&ehci0 {
|
&ehci0 {
|
||||||
|
@ -82,6 +97,17 @@ &emac {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&hdmi {
|
||||||
|
hvcc-supply = <®_dldo1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi_out {
|
||||||
|
hdmi_out_con: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_con_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&i2c1 {
|
&i2c1 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&i2c1_pins>;
|
pinctrl-0 = <&i2c1_pins>;
|
||||||
|
@ -241,7 +267,7 @@ &spdif {
|
||||||
/* On Exp and Euler connectors */
|
/* On Exp and Euler connectors */
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -80,8 +80,7 @@ &mmc0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc0_pins>;
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
vmmc-supply = <®_dcdc1>;
|
vmmc-supply = <®_dcdc1>;
|
||||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
|
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||||
cd-inverted;
|
|
||||||
disable-wp;
|
disable-wp;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@ -104,7 +103,7 @@ rtl8723cs: wifi@1 {
|
||||||
|
|
||||||
&mmc2 {
|
&mmc2 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc2_pins>;
|
pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
|
||||||
vmmc-supply = <®_dcdc1>;
|
vmmc-supply = <®_dcdc1>;
|
||||||
vqmmc-supply = <®_eldo1>;
|
vqmmc-supply = <®_eldo1>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
|
@ -143,7 +142,7 @@ axp803: pmic@3a3 {
|
||||||
&r_i2c {
|
&r_i2c {
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&r_i2c_pins_a>;
|
pinctrl-0 = <&r_i2c_pl89_pins>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -270,7 +269,7 @@ &simplefb_hdmi {
|
||||||
|
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -61,6 +61,17 @@ chosen {
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi-connector {
|
||||||
|
compatible = "hdmi-connector";
|
||||||
|
type = "a";
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_con_in: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_out_con>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
reg_vcc1v8: vcc1v8 {
|
reg_vcc1v8: vcc1v8 {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
regulator-name = "vcc1v8";
|
regulator-name = "vcc1v8";
|
||||||
|
@ -69,6 +80,10 @@ reg_vcc1v8: vcc1v8 {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&de {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&ehci0 {
|
&ehci0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@ -86,6 +101,17 @@ &emac {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&hdmi {
|
||||||
|
hvcc-supply = <®_dldo1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi_out {
|
||||||
|
hdmi_out_con: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_con_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&mdio {
|
&mdio {
|
||||||
ext_rgmii_phy: ethernet-phy@1 {
|
ext_rgmii_phy: ethernet-phy@1 {
|
||||||
compatible = "ethernet-phy-ieee802.3-c22";
|
compatible = "ethernet-phy-ieee802.3-c22";
|
||||||
|
@ -140,7 +166,7 @@ &simplefb_hdmi {
|
||||||
|
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -260,7 +260,7 @@ &simplefb_hdmi {
|
||||||
|
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,7 @@ cpu0: cpu@0 {
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
|
next-level-cache = <&L2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cpu1: cpu@1 {
|
cpu1: cpu@1 {
|
||||||
|
@ -95,6 +96,7 @@ cpu1: cpu@1 {
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
|
next-level-cache = <&L2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cpu2: cpu@2 {
|
cpu2: cpu@2 {
|
||||||
|
@ -102,6 +104,7 @@ cpu2: cpu@2 {
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
reg = <2>;
|
reg = <2>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
|
next-level-cache = <&L2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cpu3: cpu@3 {
|
cpu3: cpu@3 {
|
||||||
|
@ -109,7 +112,20 @@ cpu3: cpu@3 {
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
reg = <3>;
|
reg = <3>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
|
next-level-cache = <&L2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
L2: l2-cache {
|
||||||
|
compatible = "cache";
|
||||||
|
cache-level = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
de: display-engine {
|
||||||
|
compatible = "allwinner,sun50i-a64-display-engine";
|
||||||
|
allwinner,pipelines = <&mixer0>,
|
||||||
|
<&mixer1>;
|
||||||
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
osc24M: osc24M_clk {
|
osc24M: osc24M_clk {
|
||||||
|
@ -194,6 +210,52 @@ display_clocks: clock@0 {
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
#reset-cells = <1>;
|
#reset-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mixer0: mixer@100000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-de2-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_tcon0: endpoint {
|
||||||
|
remote-endpoint = <&tcon0_in_mixer0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mixer1: mixer@200000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-de2-mixer-1";
|
||||||
|
reg = <0x200000 0x100000>;
|
||||||
|
clocks = <&display_clocks CLK_BUS_MIXER1>,
|
||||||
|
<&display_clocks CLK_MIXER1>;
|
||||||
|
clock-names = "bus",
|
||||||
|
"mod";
|
||||||
|
resets = <&display_clocks RST_MIXER1>;
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
mixer1_out: port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
|
||||||
|
mixer1_out_tcon1: endpoint {
|
||||||
|
remote-endpoint = <&tcon1_in_mixer1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
syscon: syscon@1c00000 {
|
syscon: syscon@1c00000 {
|
||||||
|
@ -228,6 +290,75 @@ dma: dma-controller@1c02000 {
|
||||||
#dma-cells = <1>;
|
#dma-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tcon0: lcd-controller@1c0c000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-tcon-lcd",
|
||||||
|
"allwinner,sun8i-a83t-tcon-lcd";
|
||||||
|
reg = <0x01c0c000 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
|
||||||
|
clock-names = "ahb", "tcon-ch0";
|
||||||
|
clock-output-names = "tcon-pixel-clock";
|
||||||
|
resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
|
||||||
|
reset-names = "lcd", "lvds";
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
tcon0_in: port@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
tcon0_in_mixer0: endpoint@0 {
|
||||||
|
reg = <0>;
|
||||||
|
remote-endpoint = <&mixer0_out_tcon0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
tcon0_out: port@1 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
tcon1: lcd-controller@1c0d000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-tcon-tv",
|
||||||
|
"allwinner,sun8i-a83t-tcon-tv";
|
||||||
|
reg = <0x01c0d000 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>;
|
||||||
|
clock-names = "ahb", "tcon-ch1";
|
||||||
|
resets = <&ccu RST_BUS_TCON1>;
|
||||||
|
reset-names = "lcd";
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
tcon1_in: port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
tcon1_in_mixer1: endpoint {
|
||||||
|
remote-endpoint = <&mixer1_out_tcon1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
tcon1_out: port@1 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <1>;
|
||||||
|
|
||||||
|
tcon1_out_hdmi: endpoint@1 {
|
||||||
|
reg = <1>;
|
||||||
|
remote-endpoint = <&hdmi_in_tcon1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
mmc0: mmc@1c0f000 {
|
mmc0: mmc@1c0f000 {
|
||||||
compatible = "allwinner,sun50i-a64-mmc";
|
compatible = "allwinner,sun50i-a64-mmc";
|
||||||
reg = <0x01c0f000 0x1000>;
|
reg = <0x01c0f000 0x1000>;
|
||||||
|
@ -270,6 +401,11 @@ mmc2: mmc@1c11000 {
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sid: eeprom@1c14000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-sid";
|
||||||
|
reg = <0x1c14000 0x400>;
|
||||||
|
};
|
||||||
|
|
||||||
usb_otg: usb@1c19000 {
|
usb_otg: usb@1c19000 {
|
||||||
compatible = "allwinner,sun8i-a33-musb";
|
compatible = "allwinner,sun8i-a33-musb";
|
||||||
reg = <0x01c19000 0x0400>;
|
reg = <0x01c19000 0x0400>;
|
||||||
|
@ -399,7 +535,7 @@ mmc1_pins: mmc1-pins {
|
||||||
};
|
};
|
||||||
|
|
||||||
mmc2_pins: mmc2-pins {
|
mmc2_pins: mmc2-pins {
|
||||||
pins = "PC1", "PC5", "PC6", "PC8", "PC9",
|
pins = "PC5", "PC6", "PC8", "PC9",
|
||||||
"PC10","PC11", "PC12", "PC13",
|
"PC10","PC11", "PC12", "PC13",
|
||||||
"PC14", "PC15", "PC16";
|
"PC14", "PC15", "PC16";
|
||||||
function = "mmc2";
|
function = "mmc2";
|
||||||
|
@ -407,6 +543,13 @@ mmc2_pins: mmc2-pins {
|
||||||
bias-pull-up;
|
bias-pull-up;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mmc2_ds_pin: mmc2-ds-pin {
|
||||||
|
pins = "PC1";
|
||||||
|
function = "mmc2";
|
||||||
|
drive-strength = <30>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
|
||||||
pwm_pin: pwm_pin {
|
pwm_pin: pwm_pin {
|
||||||
pins = "PD22";
|
pins = "PD22";
|
||||||
function = "pwm";
|
function = "pwm";
|
||||||
|
@ -442,7 +585,7 @@ spi1_pins: spi1 {
|
||||||
function = "spi1";
|
function = "spi1";
|
||||||
};
|
};
|
||||||
|
|
||||||
uart0_pins_a: uart0 {
|
uart0_pb_pins: uart0-pb-pins {
|
||||||
pins = "PB8", "PB9";
|
pins = "PB8", "PB9";
|
||||||
function = "uart0";
|
function = "uart0";
|
||||||
};
|
};
|
||||||
|
@ -686,6 +829,50 @@ pwm: pwm@1c21400 {
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi: hdmi@1ee0000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-dw-hdmi",
|
||||||
|
"allwinner,sun8i-a83t-dw-hdmi";
|
||||||
|
reg = <0x01ee0000 0x10000>;
|
||||||
|
reg-io-width = <1>;
|
||||||
|
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
|
||||||
|
<&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_tcon1: endpoint {
|
||||||
|
remote-endpoint = <&tcon1_out_hdmi>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hdmi_out: port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hdmi_phy: hdmi-phy@1ef0000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-hdmi-phy";
|
||||||
|
reg = <0x01ef0000 0x10000>;
|
||||||
|
clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
|
||||||
|
<&ccu 7>;
|
||||||
|
clock-names = "bus", "mod", "pll-0";
|
||||||
|
resets = <&ccu RST_BUS_HDMI0>;
|
||||||
|
reset-names = "phy";
|
||||||
|
#phy-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
rtc: rtc@1f00000 {
|
rtc: rtc@1f00000 {
|
||||||
compatible = "allwinner,sun6i-a31-rtc";
|
compatible = "allwinner,sun6i-a31-rtc";
|
||||||
reg = <0x01f00000 0x54>;
|
reg = <0x01f00000 0x54>;
|
||||||
|
@ -749,7 +936,7 @@ r_pio: pinctrl@1f02c00 {
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
|
|
||||||
r_i2c_pins_a: i2c-a {
|
r_i2c_pl89_pins: r-i2c-pl89-pins {
|
||||||
pins = "PL8", "PL9";
|
pins = "PL8", "PL9";
|
||||||
function = "s_i2c";
|
function = "s_i2c";
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,150 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 Amarula Solutions
|
||||||
|
* Author: Jagan Teki <jagan@amarulasolutions.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include "sun50i-h6.dtsi"
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "OrangePi One Plus";
|
||||||
|
compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial0 = &uart0;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
|
vmmc-supply = <®_cldo1>;
|
||||||
|
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||||
|
bus-width = <4>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&r_i2c {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
axp805: pmic@36 {
|
||||||
|
compatible = "x-powers,axp805", "x-powers,axp806";
|
||||||
|
reg = <0x36>;
|
||||||
|
interrupt-parent = <&r_intc>;
|
||||||
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <1>;
|
||||||
|
x-powers,self-working-mode;
|
||||||
|
|
||||||
|
regulators {
|
||||||
|
reg_aldo1: aldo1 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-name = "vcc-pl";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_aldo2: aldo2 {
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-name = "vcc-ac200";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_aldo3: aldo3 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-name = "vcc25-dram";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_bldo1: bldo1 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-name = "vcc-bias-pll";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_bldo2: bldo2 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-name = "vcc-efuse-pcie-hdmi-io";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_bldo3: bldo3 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-name = "vcc-dcxoio";
|
||||||
|
};
|
||||||
|
|
||||||
|
bldo4 {
|
||||||
|
/* unused */
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_cldo1: cldo1 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-name = "vcc-3v3";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_cldo2: cldo2 {
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-name = "vcc-wifi-1";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_cldo3: cldo3 {
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-name = "vcc-wifi-2";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dcdca: dcdca {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <810000>;
|
||||||
|
regulator-max-microvolt = <1080000>;
|
||||||
|
regulator-name = "vdd-cpu";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dcdcc: dcdcc {
|
||||||
|
regulator-min-microvolt = <810000>;
|
||||||
|
regulator-max-microvolt = <1080000>;
|
||||||
|
regulator-name = "vdd-gpu";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dcdcd: dcdcd {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <960000>;
|
||||||
|
regulator-max-microvolt = <960000>;
|
||||||
|
regulator-name = "vdd-sys";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dcdce: dcdce {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <1200000>;
|
||||||
|
regulator-max-microvolt = <1200000>;
|
||||||
|
regulator-name = "vcc-dram";
|
||||||
|
};
|
||||||
|
|
||||||
|
sw {
|
||||||
|
/* unused */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&uart0_ph_pins>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
|
@ -92,6 +92,29 @@ soc {
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges;
|
ranges;
|
||||||
|
|
||||||
|
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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
ccu: clock@3001000 {
|
ccu: clock@3001000 {
|
||||||
compatible = "allwinner,sun50i-h6-ccu";
|
compatible = "allwinner,sun50i-h6-ccu";
|
||||||
reg = <0x03001000 0x1000>;
|
reg = <0x03001000 0x1000>;
|
||||||
|
|
Loading…
Reference in New Issue