linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "André Przywara" <andre.przywara@arm.com>
To: Icenowy Zheng <icenowy@aosc.io>,
	Maxime Ripard <mripard@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
	Jernej Skrabec <jernej.skrabec@siol.net>
Cc: Icenowy Zheng <icenowy@aosc.xyz>,
	linux-arm-kernel@lists.infradead.org,
	linux-sunxi@googlegroups.com,
	Linus Walleij <linus.walleij@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Yangtao Li <frank@allwinnertech.com>,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH 8/8] arm64: dts: allwinner: Add OrangePi Zero 2 .dts
Date: Wed, 2 Dec 2020 16:43:06 +0000	[thread overview]
Message-ID: <4b2a99dc-08ae-1a2d-43f8-bc07b3c93ace@arm.com> (raw)
In-Reply-To: <138e642d404dde57996c679e504ffe3ce2f0cb7a.camel@aosc.io>

On 02/12/2020 15:57, Icenowy Zheng wrote:
> 在 2020-12-02星期三的 13:54 +0000,Andre Przywara写道:
>> The OrangePi Zero 2 is a development board with the new H616 SoC.
>>
>> It features the usual connectors used on those small boards, and
>> comes
>> with the AXP305, which seems to be compatible with the AXP805.
>>
>> For more details see: http://linux-sunxi.org/Xunlong_Orange_Pi_Zero2
>>
>> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
>> ---
>>  arch/arm64/boot/dts/allwinner/Makefile        |   1 +
>>  .../allwinner/sun50i-h616-orangepi-zero2.dts  | 228
>> ++++++++++++++++++
>>  2 files changed, 229 insertions(+)
>>  create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-
>> orangepi-zero2.dts
>>
>> diff --git a/arch/arm64/boot/dts/allwinner/Makefile
>> b/arch/arm64/boot/dts/allwinner/Makefile
>> index 211d1e9d4701..0cf8299b1ce7 100644
>> --- a/arch/arm64/boot/dts/allwinner/Makefile
>> +++ b/arch/arm64/boot/dts/allwinner/Makefile
>> @@ -35,3 +35,4 @@ 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-model-b.dtb
>>  dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
>> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-
>> zero2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-
>> zero2.dts
>> new file mode 100644
>> index 000000000000..814f5b4fec7c
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
>> @@ -0,0 +1,228 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
>> +/*
>> + * Copyright (C) 2020 Arm Ltd.
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include "sun50i-h616.dtsi"
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/interrupt-controller/arm-gic.h>
>> +
>> +/ {
>> +	model = "OrangePi Zero2";
>> +	compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";
>> +
>> +	aliases {
>> +		ethernet0 = &emac0;
>> +		serial0 = &uart0;
>> +	};
>> +
>> +	chosen {
>> +		stdout-path = "serial0:115200n8";
>> +	};
>> +
>> +	leds {
>> +		compatible = "gpio-leds";
>> +
>> +		power {
>> +			label = "orangepi:red:power";
>> +			gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13
>> */
>> +			default-state = "on";
>> +		};
>> +
>> +		status {
>> +			label = "orangepi:green:status";
>> +			gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12
>> */
>> +		};
>> +	};
>> +
>> +	reg_vcc5v: vcc5v {
>> +		/* board wide 5V supply directly from the USB-C socket
>> */
>> +		compatible = "regulator-fixed";
>> +		regulator-name = "vcc-5v";
>> +		regulator-min-microvolt = <5000000>;
>> +		regulator-max-microvolt = <5000000>;
>> +		regulator-always-on;
>> +	};
>> +
>> +	reg_usb1_vbus: usb1-vbus {
>> +		compatible = "regulator-fixed";
>> +		regulator-name = "usb1-vbus";
>> +		regulator-min-microvolt = <5000000>;
>> +		regulator-max-microvolt = <5000000>;
>> +		enable-active-high;
>> +		gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
>> +		status = "okay";
>> +	};
>> +};
>> +
>> +&ehci0 {
>> +	status = "okay";
>> +};
>> +
>> +&ehci1 {
>> +	status = "okay";
>> +};
>> +
>> +/* USB 2 & 3 are on headers only. */
>> +
>> +&emac0 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&ext_rgmii_pins>;
>> +	phy-mode = "rgmii";
>> +	phy-handle = <&ext_rgmii_phy>;
>> +	phy-supply = <&reg_dcdce>;
>> +	allwinner,rx-delay-ps = <3100>;
>> +	allwinner,tx-delay-ps = <700>;
>> +	status = "okay";
>> +};
>> +
>> +&mdio {
>> +	ext_rgmii_phy: ethernet-phy@1 {
>> +		compatible = "ethernet-phy-ieee802.3-c22";
>> +		reg = <1>;
>> +	};
>> +};
>> +
>> +&mmc0 {
>> +	vmmc-supply = <&reg_dcdce>;
>> +	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;	/* PF6 */
>> +	bus-width = <4>;
>> +	status = "okay";
>> +};
>> +
>> +&ohci0 {
>> +	status = "okay";
>> +};
>> +
>> +&ohci1 {
>> +	status = "okay";
>> +};
>> +
>> +&r_i2c {
>> +	status = "okay";
>> +
>> +	axp305: pmic@36 {
>> +		compatible = "x-powers,axp305", "x-powers,axp805",
>> +			     "x-powers,axp806";
>> +		reg = <0x36>;
>> +
>> +		/* dummy interrupt to appease the driver for now */
>> +		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
>> +		interrupt-controller;
>> +		#interrupt-cells = <1>;
> 
> Is dummy interrupt future-proof?

No, it's just a placeholder. The whole interrupt controller story isn't
fully clear yet, the BSP DTS mentions one, but I didn't have time to
investigate this yet. There is no NMI pad anymore, but an NMI IRQ number
in this GIC table. The OPi Zero2 does not connect the AXP's IRQ pin to
anything.

I haven't checked the AXP driver yet, maybe it just needs to accept no
interrupts?

>> +
>> +		x-powers,self-working-mode;
>> +		vina-supply = <&reg_vcc5v>;
>> +		vinb-supply = <&reg_vcc5v>;
>> +		vinc-supply = <&reg_vcc5v>;
>> +		vind-supply = <&reg_vcc5v>;
>> +		vine-supply = <&reg_vcc5v>;
>> +		aldoin-supply = <&reg_vcc5v>;
>> +		bldoin-supply = <&reg_vcc5v>;
>> +		cldoin-supply = <&reg_vcc5v>;
>> +
>> +		regulators {
>> +			reg_aldo1: aldo1 {
>> +				regulator-always-on;
>> +				regulator-min-microvolt = <3300000>;
>> +				regulator-max-microvolt = <3300000>;
>> +				regulator-name = "vcc-sys";
>> +			};
>> +
>> +			reg_aldo2: aldo2 {
>> +				regulator-min-microvolt = <3300000>;
>> +				regulator-max-microvolt = <3300000>;
>> +				regulator-name = "vcc3v3-ext";
>> +			};
>> +
>> +			reg_aldo3: aldo3 {
>> +				regulator-min-microvolt = <3300000>;
>> +				regulator-max-microvolt = <3300000>;
>> +				regulator-name = "vcc3v3-ext2";
>> +			};
>> +
>> +			reg_bldo1: bldo1 {
>> +				regulator-always-on;
>> +				regulator-min-microvolt = <1800000>;
>> +				regulator-max-microvolt = <1800000>;
>> +				regulator-name = "vcc1v8";
>> +			};
>> +
>> +			bldo2 {
>> +				/* unused */
>> +			};
>> +
>> +			bldo3 {
>> +				/* unused */
>> +			};
>> +
>> +			bldo4 {
>> +				/* unused */
>> +			};
>> +
>> +			cldo1 {
>> +				/* reserved */
>> +			};
>> +
>> +			cldo2 {
>> +				/* unused */
>> +			};
>> +
>> +			cldo3 {
>> +				/* unused */
>> +			};
>> +
>> +			reg_dcdca: dcdca {
>> +				regulator-always-on;
>> +				regulator-min-microvolt = <810000>;
>> +				regulator-max-microvolt = <1080000>;
>> +				regulator-name = "vdd-cpu";
>> +			};
>> +
>> +			reg_dcdcc: dcdcc {
>> +				regulator-always-on;
>> +				regulator-min-microvolt = <810000>;
>> +				regulator-max-microvolt = <1080000>;
>> +				regulator-name = "vdd-gpu-sys";
>> +			};
>> +
>> +			reg_dcdcd: dcdcd {
>> +				regulator-always-on;
>> +				regulator-min-microvolt = <1500000>;
>> +				regulator-max-microvolt = <1500000>;
>> +				regulator-name = "vdd-dram";
>> +			};
>> +
>> +			reg_dcdce: dcdce {
>> +				regulator-boot-on;
>> +				regulator-min-microvolt = <3300000>;
>> +				regulator-max-microvolt = <3300000>;
>> +				regulator-name = "vcc-eth-mmc";
>> +			};
>> +
>> +			sw {
>> +				/* unused */
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&uart0 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&uart0_ph_pins>;
>> +	status = "okay";
>> +};
>> +
>> +&usbotg {
>> +	dr_mode = "otg";
> 
> The board is locked to a UFP due to fixed resistor on CC. OTG is not
> possible.

Ah, good point, I forgot to check this (not yet familiar with USB-C so
much). Makes some sense, since this is the primary power connector as well.

Cheers,
Andre

> 
>> +	status = "okay";
>> +};
>> +
>> +&usbphy {
>> +	usb0_vbus-supply = <&reg_vcc5v>;
>> +	usb1_vbus-supply = <&reg_usb1_vbus>;
>> +	status = "okay";
>> +};


  reply	other threads:[~2020-12-02 16:44 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-02 13:54 [PATCH 0/8] arm64: sunxi: Initial Allwinner H616 SoC support Andre Przywara
2020-12-02 13:54 ` [PATCH 1/8] clk: sunxi-ng: h6: Fix clock divider range on some clocks Andre Przywara
2020-12-02 16:17   ` Jernej Škrabec
2020-12-02 13:54 ` [PATCH 2/8] pinctrl: sunxi: Add support for the Allwinner H616 pin controller Andre Przywara
2020-12-02 15:52   ` Maxime Ripard
2020-12-05 22:41     ` Linus Walleij
2020-12-02 18:15   ` Jernej Škrabec
2020-12-06 12:32   ` [linux-sunxi] " Clément Péron
2020-12-06 12:42     ` Jernej Škrabec
2020-12-06 14:52       ` André Przywara
2020-12-06 16:01         ` Icenowy Zheng
2020-12-07  1:07           ` André Przywara
2020-12-07  1:45             ` André Przywara
2020-12-13 16:27   ` Icenowy Zheng
2020-12-14  9:26     ` Chen-Yu Tsai
2020-12-02 13:54 ` [PATCH 3/8] pinctrl: sunxi: Add support for the Allwinner H616-R " Andre Przywara
2020-12-02 15:54   ` Maxime Ripard
2020-12-02 17:55   ` Jernej Škrabec
2020-12-02 13:54 ` [PATCH 4/8] clk: sunxi-ng: Add support for the Allwinner H616 R-CCU Andre Przywara
2020-12-02 14:31   ` Icenowy Zheng
2020-12-03 11:07     ` André Przywara
2020-12-03 14:02       ` [linux-sunxi] " Icenowy Zheng
2020-12-02 18:20   ` Jernej Škrabec
2020-12-03  2:44     ` Samuel Holland
2020-12-03 10:52     ` André Przywara
2020-12-02 13:54 ` [PATCH 5/8] clk: sunxi-ng: Add support for the Allwinner H616 CCU Andre Przywara
2020-12-02 15:56   ` Maxime Ripard
2020-12-02 21:03   ` Jernej Škrabec
2020-12-02 23:06     ` André Przywara
2020-12-05 16:36       ` [linux-sunxi] " Icenowy Zheng
2020-12-09 14:33   ` [linux-sunxi] " Clément Péron
2020-12-09 21:35     ` André Przywara
2020-12-09 22:20       ` Jernej Škrabec
2020-12-09 22:45         ` André Przywara
2020-12-10 13:31   ` Icenowy Zheng
2020-12-10 14:34     ` André Przywara
2020-12-02 13:54 ` [PATCH 6/8] mmc: sunxi: add support for A100 mmc controller Andre Przywara
2020-12-02 13:54 ` [PATCH 7/8] arm64: dts: allwinner: Add Allwinner H616 .dtsi file Andre Przywara
2020-12-02 16:03   ` Icenowy Zheng
2020-12-02 16:19     ` André Przywara
2020-12-02 16:05   ` Maxime Ripard
2020-12-02 16:13     ` Icenowy Zheng
2020-12-03  3:10     ` Samuel Holland
2020-12-02 16:33   ` Jernej Škrabec
2020-12-03  1:35     ` André Przywara
2020-12-03  3:16   ` Samuel Holland
2020-12-03 10:53     ` André Przywara
2020-12-03 15:02       ` [linux-sunxi] " Chen-Yu Tsai
2020-12-03 15:44         ` André Przywara
2020-12-03 16:20           ` Chen-Yu Tsai
2020-12-08  0:47             ` André Przywara
2020-12-02 13:54 ` [PATCH 8/8] arm64: dts: allwinner: Add OrangePi Zero 2 .dts Andre Przywara
2020-12-02 15:57   ` Icenowy Zheng
2020-12-02 16:43     ` André Przywara [this message]
2020-12-02 16:07   ` Maxime Ripard
2020-12-02 16:25     ` Jernej Škrabec
2020-12-06 12:51   ` [linux-sunxi] " Clément Péron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4b2a99dc-08ae-1a2d-43f8-bc07b3c93ace@arm.com \
    --to=andre.przywara@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frank@allwinnertech.com \
    --cc=icenowy@aosc.io \
    --cc=icenowy@aosc.xyz \
    --cc=jernej.skrabec@siol.net \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=mripard@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).