Skip to content

Commit 4d5a858

Browse files
committed
Support Orange Pi 3 LTS
1 parent c1ab727 commit 4d5a858

File tree

3 files changed

+198
-0
lines changed

3 files changed

+198
-0
lines changed

arch/arm/dts/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -569,6 +569,7 @@ dtb-$(CONFIG_MACH_SUN50I_H5) += \
569569
dtb-$(CONFIG_MACH_SUN50I_H6) += \
570570
sun50i-h6-beelink-gs1.dtb \
571571
sun50i-h6-orangepi-3.dtb \
572+
sun50i-h6-orangepi-3-lts.dtb \
572573
sun50i-h6-orangepi-lite2.dtb \
573574
sun50i-h6-orangepi-one-plus.dtb \
574575
sun50i-h6-pine-h64.dtb \
Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ or MIT)
2+
/*
3+
* Copyright (C) 2018 Amarula Solutions
4+
* Author: Jagan Teki <jagan@amarulasolutions.com>
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include "sun50i-h6.dtsi"
10+
11+
#include <dt-bindings/gpio/gpio.h>
12+
13+
/ {
14+
model = "OrangePi 3";
15+
compatible = "xunlong,orangepi-3", "allwinner,sun50i-h6";
16+
17+
aliases {
18+
serial0 = &uart0;
19+
ethernet0 = &emac;
20+
};
21+
22+
chosen {
23+
stdout-path = "serial0:115200n8";
24+
};
25+
};
26+
27+
&emac {
28+
pinctrl-names = "default";
29+
pinctrl-0 = <&ext_rgmii_pins>;
30+
phy-mode = "rgmii";
31+
phy-handle = <&ext_rgmii_phy>;
32+
phy-supply = <&reg_aldo2>;
33+
allwinner,rx-delay-ps = <200>;
34+
allwinner,tx-delay-ps = <200>;
35+
status = "okay";
36+
};
37+
38+
&mdio {
39+
ext_rgmii_phy: ethernet-phy@1 {
40+
compatible = "ethernet-phy-ieee802.3-c22";
41+
reg = <1>;
42+
};
43+
};
44+
45+
&mmc0 {
46+
pinctrl-names = "default";
47+
pinctrl-0 = <&mmc0_pins>;
48+
vmmc-supply = <&reg_cldo1>;
49+
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
50+
bus-width = <4>;
51+
status = "okay";
52+
};
53+
54+
&mmc2 {
55+
pinctrl-names = "default";
56+
pinctrl-0 = <&mmc2_pins>;
57+
vmmc-supply = <&reg_cldo1>;
58+
non-removable;
59+
cap-mmc-hw-reset;
60+
bus-width = <8>;
61+
status = "okay";
62+
};
63+
64+
&r_i2c {
65+
status = "okay";
66+
67+
axp805: pmic@36 {
68+
compatible = "x-powers,axp805", "x-powers,axp806";
69+
reg = <0x36>;
70+
interrupt-parent = <&r_intc>;
71+
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
72+
interrupt-controller;
73+
#interrupt-cells = <1>;
74+
x-powers,self-working-mode;
75+
76+
regulators {
77+
reg_aldo1: aldo1 {
78+
regulator-always-on;
79+
regulator-min-microvolt = <3300000>;
80+
regulator-max-microvolt = <3300000>;
81+
regulator-name = "vcc-pl";
82+
};
83+
84+
reg_aldo2: aldo2 {
85+
regulator-min-microvolt = <3300000>;
86+
regulator-max-microvolt = <3300000>;
87+
regulator-name = "vcc-ac200";
88+
};
89+
90+
reg_aldo3: aldo3 {
91+
regulator-always-on;
92+
regulator-min-microvolt = <3300000>;
93+
regulator-max-microvolt = <3300000>;
94+
regulator-name = "vcc25-dram";
95+
};
96+
97+
reg_bldo1: bldo1 {
98+
regulator-always-on;
99+
regulator-min-microvolt = <1800000>;
100+
regulator-max-microvolt = <1800000>;
101+
regulator-name = "vcc-bias-pll";
102+
};
103+
104+
reg_bldo2: bldo2 {
105+
regulator-always-on;
106+
regulator-min-microvolt = <1800000>;
107+
regulator-max-microvolt = <1800000>;
108+
regulator-name = "vcc-efuse-pcie-hdmi-io";
109+
};
110+
111+
reg_bldo3: bldo3 {
112+
regulator-always-on;
113+
regulator-min-microvolt = <1800000>;
114+
regulator-max-microvolt = <1800000>;
115+
regulator-name = "vcc-dcxoio";
116+
};
117+
118+
bldo4 {
119+
/* unused */
120+
};
121+
122+
reg_cldo1: cldo1 {
123+
regulator-always-on;
124+
regulator-min-microvolt = <3300000>;
125+
regulator-max-microvolt = <3300000>;
126+
regulator-name = "vcc-3v3";
127+
};
128+
129+
reg_cldo2: cldo2 {
130+
regulator-min-microvolt = <3300000>;
131+
regulator-max-microvolt = <3300000>;
132+
regulator-name = "vcc-wifi-1";
133+
};
134+
135+
reg_cldo3: cldo3 {
136+
regulator-min-microvolt = <3300000>;
137+
regulator-max-microvolt = <3300000>;
138+
regulator-name = "vcc-wifi-2";
139+
};
140+
141+
reg_dcdca: dcdca {
142+
regulator-always-on;
143+
regulator-min-microvolt = <810000>;
144+
regulator-max-microvolt = <1080000>;
145+
regulator-name = "vdd-cpu";
146+
};
147+
148+
reg_dcdcc: dcdcc {
149+
regulator-min-microvolt = <810000>;
150+
regulator-max-microvolt = <1080000>;
151+
regulator-name = "vdd-gpu";
152+
};
153+
154+
reg_dcdcd: dcdcd {
155+
regulator-always-on;
156+
regulator-min-microvolt = <960000>;
157+
regulator-max-microvolt = <960000>;
158+
regulator-name = "vdd-sys";
159+
};
160+
161+
reg_dcdce: dcdce {
162+
regulator-always-on;
163+
regulator-min-microvolt = <1200000>;
164+
regulator-max-microvolt = <1200000>;
165+
regulator-name = "vcc-dram";
166+
};
167+
168+
sw {
169+
/* unused */
170+
};
171+
};
172+
};
173+
};
174+
175+
&uart0 {
176+
pinctrl-names = "default";
177+
pinctrl-0 = <&uart0_ph_pins>;
178+
status = "okay";
179+
};

configs/orangepi_3_lts_defconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
CONFIG_ARM=y
2+
CONFIG_ARCH_SUNXI=y
3+
CONFIG_MACH_SUN50I_H6=y
4+
CONFIG_SUNXI_DRAM_H6_LPDDR3=y
5+
CONFIG_SUNXI_DRAM_DDR3=n
6+
CONFIG_DRAM_ODT_EN=y
7+
CONFIG_MMC0_CD_PIN="PF6"
8+
CONFIG_MMC_SUNXI_SLOT_EXTRA=2
9+
CONFIG_HDMI_DDC_EN="PH2"
10+
# CONFIG_PSCI_RESET is not set
11+
CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-3-lts"
12+
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
13+
CONFIG_SPL=y
14+
# CONFIG_CMD_FLASH is not set
15+
# CONFIG_CMD_FPGA is not set
16+
# CONFIG_SPL_DOS_PARTITION is not set
17+
# CONFIG_SPL_ISO_PARTITION is not set
18+
# CONFIG_SPL_EFI_PARTITION is not set

0 commit comments

Comments
 (0)