From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Subject: Re: Re: [PATCH] arm64: allwinner: h6: Add OrangePi One Plus initial support Date: Tue, 4 Sep 2018 20:00:37 +0530 Message-ID: <3f31bff7-689a-3cf6-8e55-cfd98a19ad50@openedev.com> References: <20180728182615.20845-1-jagan@amarulasolutions.com> <20180730090048.gl7fkduztjkxacqq@flea> Reply-To: jagan-oRp2ZoJdM/RWk0Htik3J/w@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Return-path: Sender: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org In-Reply-To: Content-Language: en-US List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , To: wens-jdAy2FN1RRM@public.gmane.org, Jagan Teki Cc: Maxime Ripard , Icenowy Zheng , devicetree , linux-arm-kernel , linux-kernel , linux-sunxi List-Id: devicetree@vger.kernel.org On Monday 03 September 2018 11:05 AM, Chen-Yu Tsai wrote: > On Tue, Jul 31, 2018 at 9:42 PM Chen-Yu Tsai wrote: >> >> On Tue, Jul 31, 2018 at 9:41 PM, Jagan Teki wrote: >>> On Mon, Jul 30, 2018 at 2:47 PM, Chen-Yu Tsai wrote: >>>> On Mon, Jul 30, 2018 at 5:00 PM, Maxime Ripard >>>> wrote: >>>>> Hi, >>>>> >>>>> On Sat, Jul 28, 2018 at 11:56:15PM +0530, Jagan Teki wrote: >>>>>> 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 >>>>>> --- >>>>>> 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 >>>>>> + */ >>>>>> + >>>>>> +/dts-v1/; >>>>>> + >>>>>> +#include "sun50i-h6.dtsi" >>>>>> + >>>>>> +#include >>>>>> + >>>>>> +/ { >>>>>> + 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 */ >>>>>> + }; >>>>> >>>>> 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.