Thread (8 messages) 8 messages, 4 authors, 2018-09-04

[linux-sunxi] Re: [PATCH] arm64: allwinner: h6: Add OrangePi One Plus initial support

From: Chen-Yu Tsai <hidden>
Date: 2018-09-04 15:10:54
Also in: linux-devicetree, lkml

On Tue, Sep 4, 2018 at 10:31 PM Jagan Teki [off-list ref] wrote:
On Monday 03 September 2018 11:05 AM, Chen-Yu Tsai wrote:
quoted
On Tue, Jul 31, 2018 at 9:42 PM Chen-Yu Tsai [off-list ref] wrote:
quoted
On Tue, Jul 31, 2018 at 9:41 PM, Jagan Teki [off-list ref] wrote:
quoted
On Mon, Jul 30, 2018 at 2:47 PM, Chen-Yu Tsai [off-list ref] wrote:
quoted
On Mon, Jul 30, 2018 at 5:00 PM, Maxime Ripard
[off-list ref] wrote:
quoted
Hi,

On Sat, Jul 28, 2018 at 11:56:15PM +0530, Jagan Teki wrote:
quoted
OrangePi One Plus is Allwinner H6 based open-source SBC,
which support:
- Allwinner H6 Quad-core 64-bit ARM Cortex-A53
- GPU Mali-T720
- 1GB LPDDR3 RAM
- AXP805 PMIC
- 1Gbps GMAC via RTL8211
- USB 2.0 Host, OTG
- HDMI port
- 5V/2A DC power supply

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
  arch/arm64/boot/dts/allwinner/Makefile        |   1 +
  .../allwinner/sun50i-h6-orangepi-one-plus.dts | 150 ++++++++++++++++++
  2 files changed, 151 insertions(+)
  create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index 9ffa7a038791..c38f326e7fec 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -15,4 +15,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-zero-plus.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
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts
new file mode 100644
index 000000000000..0612c19cd994
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts
@@ -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 = <&reg_cldo1>;
+     cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
+     bus-width = <4>;
+     status = "okay";
+};
+
+&r_i2c {
+     status = "okay";
+
+     axp805: pmic at 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 */
+                     };
Can't we have a DTSI for this PMIC too?
Back when we started adding the regulators, Mark wasn't too happy with
all the placeholders we put in the dtsi. I think we got away with it
because we had other things in there as well. That's not true for this
particular PMIC.
So we need separate dtsi for this PMIC as well?
I don't think we do. We don't gain much.
Merged with Maxime's ack, and the subject prefix fixed.
Also squashed in the Ethernet patch for this board.
H6 EMAC node changes still in ML.
Oops. Dropped that part. Sorry about that.

ChenYu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help