On Mon, Jul 30, 2018 at 5:00 PM, Maxime Ripard <maxime.ripard@xxxxxxxxxxx> 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 <jagan@xxxxxxxxxxxxxxxxxxxx> >> --- >> 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@xxxxxxxxxxxxxxxxxxxx> >> + */ >> + >> +/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 */ >> + }; > > 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. ChenYu > It looks good otherwise, thanks! > Maxime > > -- > Maxime Ripard, Bootlin (formerly Free Electrons) > Embedded Linux and Kernel engineering > https://bootlin.com -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html