* [PATCH v2 0/2] arm64: dts: allwinner: Add BananaPi M4 Berry
@ 2024-02-04 10:10 Andre Przywara
2024-02-04 10:10 ` [PATCH v2 1/2] dt-bindings: arm: sunxi: document BananaPi M4 Berry board name Andre Przywara
2024-02-04 10:10 ` [PATCH v2 2/2] arm64: dts: allwinner: h618: add BananaPi M4 Berry board Andre Przywara
0 siblings, 2 replies; 6+ messages in thread
From: Andre Przywara @ 2024-02-04 10:10 UTC (permalink / raw)
To: Jernej Skrabec, Chen-Yu Tsai, Samuel Holland, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sunxi, devicetree, linux-arm-kernel, Icenowy Zheng
Minor update of the series, addressing the comments from Jernej and
Krzysztof (thanks for the review!), for a changelog see below.
==============================================
The BananaPi M4 Berry is a development board with the Allwinner H618
SoC. It comes with 2GB DRAM and 8GB eMMC flash, with the usual suspects
like HDMI, SD card, GPIO headers. There are four USB ports connected
via an on-board hub chip, and a Gigabit Ethernet socket. Also there is
a USB WiFi chip soldered on the board.
More details: https://linux-sunxi.org/Sinovoip_Banana_Pi_M4_Berry
I don't have this board, so this is a "call for testing".
One thing to consider:
- The USB WiFi chip has a CHIP_EN pin, which can turn the chip off.
It is pulled up by a resistor, so works out of the box, but is also
connected to a GPIO (PC2), so the chip can be disabled or reset via
this pin. Since this is a USB device, we don't have a DT node to
announce this pin. Any ideas how this should be handled? At the moment
I ignore it, but it could also be modelled as a USB VBUS regulator for
USB port 1, to which it is connected.
When testing this, please have a look at:
- Does the eMMC work in HS200 mode? The vendor DT described that as a
3.3V controlled eMMC only, but clearly the schematic uses 1.8V, which
allows faster transfer modes. "hdparm -t" should suffice for a quick
test.
- Do USB full-speed (aka USB v1.1) peripherals like keyboard or mouse
work on the USB ports? I disabled the OHCI node, since the hub should
not need this, but it would be good to double check.
- Similarly the USB WiFi chip probably doesn't need USB 1.1 modes, so
please check this still works.
Apart from the missing audio and video support (which are due to missing
bindings for the H616/H618 SoC), most of the peripherals are supported.
Patch 1/2 adds the board compatible string to the bindings, patch 2/2
adds the actual .dts file.
Please have a look!
Changelog v1 .. v2:
- rename 5V regulator node
- rename switch node
- remove unused USB2 port
- Add ACK on patch 1
Andre Przywara (2):
dt-bindings: arm: sunxi: document BananaPi M4 Berry board name
arm64: dts: allwinner: h618: add BananaPi M4 Berry board
.../devicetree/bindings/arm/sunxi.yaml | 5 +
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../sun50i-h618-bananapi-m4-berry.dts | 223 ++++++++++++++++++
3 files changed, 229 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/2] dt-bindings: arm: sunxi: document BananaPi M4 Berry board name
2024-02-04 10:10 [PATCH v2 0/2] arm64: dts: allwinner: Add BananaPi M4 Berry Andre Przywara
@ 2024-02-04 10:10 ` Andre Przywara
2024-02-04 10:10 ` [PATCH v2 2/2] arm64: dts: allwinner: h618: add BananaPi M4 Berry board Andre Przywara
1 sibling, 0 replies; 6+ messages in thread
From: Andre Przywara @ 2024-02-04 10:10 UTC (permalink / raw)
To: Jernej Skrabec, Chen-Yu Tsai, Samuel Holland, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sunxi, devicetree, linux-arm-kernel, Icenowy Zheng
The Bananapi M4 Berry is a development board with the Allwinner H618 SoC.
Add the board/SoC compatible string pair to the list of known boards.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index dab7a248c88d..aa87c83124e2 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -136,6 +136,11 @@ properties:
- const: sinovoip,bpi-m3
- const: allwinner,sun8i-a83t
+ - description: BananaPi M4 Berry
+ items:
+ - const: sinovoip,bananapi-m4-berry
+ - const: allwinner,sun50i-h618
+
- description: BananaPi M64
items:
- const: sinovoip,bananapi-m64
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 2/2] arm64: dts: allwinner: h618: add BananaPi M4 Berry board
2024-02-04 10:10 [PATCH v2 0/2] arm64: dts: allwinner: Add BananaPi M4 Berry Andre Przywara
2024-02-04 10:10 ` [PATCH v2 1/2] dt-bindings: arm: sunxi: document BananaPi M4 Berry board name Andre Przywara
@ 2024-02-04 10:10 ` Andre Przywara
2024-02-05 18:19 ` Jernej Škrabec
1 sibling, 1 reply; 6+ messages in thread
From: Andre Przywara @ 2024-02-04 10:10 UTC (permalink / raw)
To: Jernej Skrabec, Chen-Yu Tsai, Samuel Holland, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sunxi, devicetree, linux-arm-kernel, Icenowy Zheng
The BananaPi M4 Berry is a development board using the Allwinner H618
SoC. It comes with the following specs:
- Allwinner H618 SoC (4 * Arm Cortex-A53 cores, 1MB L2 cache)
- 2 GiB LPDDR4 DRAM
- 8 GiB eMMC flash
- AXP313a PMIC
- Gigabit Ethernet, using RTL8211 PHY
- RTL8821CU USB WiFi chip
- HDMI port
- 4 * USB 2.0 ports, via an on-board hub chip
- microSD card slot
- 3.5mm A/V port
- power supply and USB-OTG via USB-C connector
Add a devicetree file describing the components that we already have
bindings for, that excludes audio and video at the moment.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../sun50i-h618-bananapi-m4-berry.dts | 223 ++++++++++++++++++
2 files changed, 224 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index 2db3b15ad09f..1c5c204a109b 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -43,5 +43,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-bananapi-m4-berry.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
new file mode 100644
index 000000000000..a3f8ff75db42
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
@@ -0,0 +1,223 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h616.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+ model = "BananaPi M4 Berry";
+ compatible = "sinovoip,bananapi-m4-berry", "allwinner,sun50i-h618";
+
+ aliases {
+ ethernet0 = &emac0;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&pio 2 12 GPIO_ACTIVE_LOW>; /* PC12 */
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ key-sw3 {
+ label = "sw3";
+ linux,code = <BTN_0>;
+ gpios = <&pio 2 7 GPIO_ACTIVE_LOW>; /* PC7 */
+ };
+ };
+
+ reg_vcc5v: regulator-5v {
+ /* 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_usb_vbus: regulator-usb-vbus {
+ /* separate discrete regulator for the USB ports */
+ compatible = "regulator-fixed";
+ regulator-name = "usb-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <®_vcc5v>;
+ };
+
+ reg_3v3: regulator-3v3 {
+ /* separate discrete regulator for WiFi and Ethernet PHY */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <®_vcc5v>;
+ };
+};
+
+&cpu0 {
+ cpu-supply = <®_dcdc2>;
+};
+
+/* Connected to an on-board RTL8821CU USB WiFi chip. */
+&ehci1 {
+ status = "okay";
+};
+
+/* EHCI2 is on unpopulated pins */
+
+/* Connected to an on-board FE1.1s USB hub chip, supplying 4 USB-A ports. */
+&ehci3 {
+ status = "okay";
+};
+
+&emac0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&ext_rgmii_pins>;
+ phy-mode = "rgmii";
+ phy-handle = <&ext_rgmii_phy>;
+ phy-supply = <®_3v3>;
+ allwinner,rx-delay-ps = <3100>;
+ allwinner,tx-delay-ps = <700>;
+ status = "okay";
+};
+
+&ir {
+ status = "okay";
+};
+
+&mdio0 {
+ ext_rgmii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ reset-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */
+ };
+};
+
+&mmc0 {
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+ vmmc-supply = <®_dldo1>;
+ bus-width = <4>;
+ status = "okay";
+};
+
+&mmc2 {
+ vmmc-supply = <®_dldo1>;
+ vqmmc-supply = <®_aldo1>;
+ bus-width = <8>;
+ non-removable;
+ cap-mmc-hw-reset;
+ mmc-ddr-1_8v;
+ mmc-hs200-1_8v;
+ status = "okay";
+};
+
+/* USB ports 1 and 3 connect to onboard devices that are high-speed only. */
+
+/* OHCI2 is on unpopulated pins */
+
+&pio {
+ vcc-pc-supply = <®_aldo1>;
+ vcc-pf-supply = <®_dldo1>;
+ vcc-pg-supply = <®_dldo1>;
+ vcc-ph-supply = <®_dldo1>;
+ vcc-pi-supply = <®_dldo1>;
+};
+
+&r_i2c {
+ status = "okay";
+
+ axp313: pmic@36 {
+ compatible = "x-powers,axp313a";
+ reg = <0x36>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupt-parent = <&pio>;
+
+ vin1-supply = <®_vcc5v>;
+ vin2-supply = <®_vcc5v>;
+ vin3-supply = <®_vcc5v>;
+
+ regulators {
+ reg_aldo1: aldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-1v8-pll";
+ };
+
+ reg_dldo1: dldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v3-io";
+ };
+
+ reg_dcdc1: dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <810000>;
+ regulator-max-microvolt = <990000>;
+ regulator-name = "vdd-gpu-sys";
+ };
+
+ reg_dcdc2: dcdc2 {
+ regulator-always-on;
+ regulator-min-microvolt = <810000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-cpu";
+ };
+
+ reg_dcdc3: dcdc3 {
+ regulator-always-on;
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-dram";
+ };
+ };
+ };
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_ph_pins>;
+ status = "okay";
+};
+
+&usbotg {
+ /*
+ * PHY0 pins are connected to a USB-C socket, but a role switch is not
+ * implemented: both CC pins are pulled to GND via a 5.1K resistor.
+ * The VBUS pins power the device, so a fixed peripheral mode
+ * is the best choice.
+ * The board can be powered via GPIOs, in this case port0 *can*
+ * act as a host (with a cable/adapter ignoring CC), as VBUS is
+ * then provided by the GPIOs. Any user of this setup would
+ * need to adjust the DT accordingly: dr_mode set to "host",
+ * enabling OHCI0 and EHCI0.
+ */
+ dr_mode = "peripheral";
+ status = "okay";
+};
+
+&usbphy {
+ usb3_vbus-supply = <®_usb_vbus>;
+ status = "okay";
+};
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v2 2/2] arm64: dts: allwinner: h618: add BananaPi M4 Berry board
2024-02-04 10:10 ` [PATCH v2 2/2] arm64: dts: allwinner: h618: add BananaPi M4 Berry board Andre Przywara
@ 2024-02-05 18:19 ` Jernej Škrabec
2024-02-11 20:22 ` Jernej Škrabec
0 siblings, 1 reply; 6+ messages in thread
From: Jernej Škrabec @ 2024-02-05 18:19 UTC (permalink / raw)
To: Chen-Yu Tsai, Samuel Holland, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Andre Przywara
Cc: linux-sunxi, devicetree, linux-arm-kernel, Icenowy Zheng
Dne nedelja, 04. februar 2024 ob 11:10:54 CET je Andre Przywara napisal(a):
> The BananaPi M4 Berry is a development board using the Allwinner H618
> SoC. It comes with the following specs:
> - Allwinner H618 SoC (4 * Arm Cortex-A53 cores, 1MB L2 cache)
> - 2 GiB LPDDR4 DRAM
> - 8 GiB eMMC flash
> - AXP313a PMIC
> - Gigabit Ethernet, using RTL8211 PHY
> - RTL8821CU USB WiFi chip
> - HDMI port
> - 4 * USB 2.0 ports, via an on-board hub chip
> - microSD card slot
> - 3.5mm A/V port
> - power supply and USB-OTG via USB-C connector
>
> Add a devicetree file describing the components that we already have
> bindings for, that excludes audio and video at the moment.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
> arch/arm64/boot/dts/allwinner/Makefile | 1 +
> .../sun50i-h618-bananapi-m4-berry.dts | 223 ++++++++++++++++++
> 2 files changed, 224 insertions(+)
> create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
>
> diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
> index 2db3b15ad09f..1c5c204a109b 100644
> --- a/arch/arm64/boot/dts/allwinner/Makefile
> +++ b/arch/arm64/boot/dts/allwinner/Makefile
> @@ -43,5 +43,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-bananapi-m4-berry.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
> new file mode 100644
> index 000000000000..a3f8ff75db42
> --- /dev/null
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
> @@ -0,0 +1,223 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (C) 2023 Arm Ltd.
> + */
> +
> +/dts-v1/;
> +
> +#include "sun50i-h616.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/linux-event-codes.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/leds/common.h>
> +
> +/ {
> + model = "BananaPi M4 Berry";
> + compatible = "sinovoip,bananapi-m4-berry", "allwinner,sun50i-h618";
> +
> + aliases {
> + ethernet0 = &emac0;
> + serial0 = &uart0;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led-0 {
> + function = LED_FUNCTION_STATUS;
> + color = <LED_COLOR_ID_GREEN>;
> + gpios = <&pio 2 12 GPIO_ACTIVE_LOW>; /* PC12 */
> + };
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> +
> + key-sw3 {
> + label = "sw3";
> + linux,code = <BTN_0>;
> + gpios = <&pio 2 7 GPIO_ACTIVE_LOW>; /* PC7 */
> + };
> + };
> +
> + reg_vcc5v: regulator-5v {
> + /* 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_usb_vbus: regulator-usb-vbus {
> + /* separate discrete regulator for the USB ports */
> + compatible = "regulator-fixed";
> + regulator-name = "usb-vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + vin-supply = <®_vcc5v>;
> + };
> +
> + reg_3v3: regulator-3v3 {
> + /* separate discrete regulator for WiFi and Ethernet PHY */
> + compatible = "regulator-fixed";
> + regulator-name = "vcc-3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + vin-supply = <®_vcc5v>;
> + };
> +};
> +
> +&cpu0 {
> + cpu-supply = <®_dcdc2>;
> +};
> +
> +/* Connected to an on-board RTL8821CU USB WiFi chip. */
> +&ehci1 {
> + status = "okay";
> +};
> +
> +/* EHCI2 is on unpopulated pins */
> +
> +/* Connected to an on-board FE1.1s USB hub chip, supplying 4 USB-A ports. */
> +&ehci3 {
> + status = "okay";
> +};
> +
> +&emac0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&ext_rgmii_pins>;
> + phy-mode = "rgmii";
> + phy-handle = <&ext_rgmii_phy>;
> + phy-supply = <®_3v3>;
> + allwinner,rx-delay-ps = <3100>;
> + allwinner,tx-delay-ps = <700>;
> + status = "okay";
> +};
> +
> +&ir {
> + status = "okay";
> +};
> +
> +&mdio0 {
> + ext_rgmii_phy: ethernet-phy@1 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <1>;
> + reset-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */
> + };
> +};
> +
> +&mmc0 {
> + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
> + vmmc-supply = <®_dldo1>;
> + bus-width = <4>;
> + status = "okay";
> +};
> +
> +&mmc2 {
> + vmmc-supply = <®_dldo1>;
> + vqmmc-supply = <®_aldo1>;
> + bus-width = <8>;
> + non-removable;
> + cap-mmc-hw-reset;
> + mmc-ddr-1_8v;
This one should be dropped.
Best regards,
Jernej
> + mmc-hs200-1_8v;
> + status = "okay";
> +};
> +
> +/* USB ports 1 and 3 connect to onboard devices that are high-speed only. */
> +
> +/* OHCI2 is on unpopulated pins */
> +
> +&pio {
> + vcc-pc-supply = <®_aldo1>;
> + vcc-pf-supply = <®_dldo1>;
> + vcc-pg-supply = <®_dldo1>;
> + vcc-ph-supply = <®_dldo1>;
> + vcc-pi-supply = <®_dldo1>;
> +};
> +
> +&r_i2c {
> + status = "okay";
> +
> + axp313: pmic@36 {
> + compatible = "x-powers,axp313a";
> + reg = <0x36>;
> + #interrupt-cells = <1>;
> + interrupt-controller;
> + interrupt-parent = <&pio>;
> +
> + vin1-supply = <®_vcc5v>;
> + vin2-supply = <®_vcc5v>;
> + vin3-supply = <®_vcc5v>;
> +
> + regulators {
> + reg_aldo1: aldo1 {
> + regulator-always-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-name = "vcc-1v8-pll";
> + };
> +
> + reg_dldo1: dldo1 {
> + regulator-always-on;
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "vcc-3v3-io";
> + };
> +
> + reg_dcdc1: dcdc1 {
> + regulator-always-on;
> + regulator-min-microvolt = <810000>;
> + regulator-max-microvolt = <990000>;
> + regulator-name = "vdd-gpu-sys";
> + };
> +
> + reg_dcdc2: dcdc2 {
> + regulator-always-on;
> + regulator-min-microvolt = <810000>;
> + regulator-max-microvolt = <1100000>;
> + regulator-name = "vdd-cpu";
> + };
> +
> + reg_dcdc3: dcdc3 {
> + regulator-always-on;
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <1100000>;
> + regulator-name = "vdd-dram";
> + };
> + };
> + };
> +};
> +
> +&uart0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart0_ph_pins>;
> + status = "okay";
> +};
> +
> +&usbotg {
> + /*
> + * PHY0 pins are connected to a USB-C socket, but a role switch is not
> + * implemented: both CC pins are pulled to GND via a 5.1K resistor.
> + * The VBUS pins power the device, so a fixed peripheral mode
> + * is the best choice.
> + * The board can be powered via GPIOs, in this case port0 *can*
> + * act as a host (with a cable/adapter ignoring CC), as VBUS is
> + * then provided by the GPIOs. Any user of this setup would
> + * need to adjust the DT accordingly: dr_mode set to "host",
> + * enabling OHCI0 and EHCI0.
> + */
> + dr_mode = "peripheral";
> + status = "okay";
> +};
> +
> +&usbphy {
> + usb3_vbus-supply = <®_usb_vbus>;
> + status = "okay";
> +};
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2 2/2] arm64: dts: allwinner: h618: add BananaPi M4 Berry board
2024-02-05 18:19 ` Jernej Škrabec
@ 2024-02-11 20:22 ` Jernej Škrabec
2024-02-11 22:21 ` Andre Przywara
0 siblings, 1 reply; 6+ messages in thread
From: Jernej Škrabec @ 2024-02-11 20:22 UTC (permalink / raw)
To: Chen-Yu Tsai, Samuel Holland, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Andre Przywara
Cc: linux-sunxi, devicetree, linux-arm-kernel, Icenowy Zheng
Hi Andre!
Dne ponedeljek, 05. februar 2024 ob 19:19:26 CET je Jernej Škrabec napisal(a):
> Dne nedelja, 04. februar 2024 ob 11:10:54 CET je Andre Przywara napisal(a):
> > The BananaPi M4 Berry is a development board using the Allwinner H618
> > SoC. It comes with the following specs:
> > - Allwinner H618 SoC (4 * Arm Cortex-A53 cores, 1MB L2 cache)
> > - 2 GiB LPDDR4 DRAM
> > - 8 GiB eMMC flash
> > - AXP313a PMIC
> > - Gigabit Ethernet, using RTL8211 PHY
> > - RTL8821CU USB WiFi chip
> > - HDMI port
> > - 4 * USB 2.0 ports, via an on-board hub chip
> > - microSD card slot
> > - 3.5mm A/V port
> > - power supply and USB-OTG via USB-C connector
> >
> > Add a devicetree file describing the components that we already have
> > bindings for, that excludes audio and video at the moment.
> >
> > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> > ---
> > arch/arm64/boot/dts/allwinner/Makefile | 1 +
> > .../sun50i-h618-bananapi-m4-berry.dts | 223 ++++++++++++++++++
> > 2 files changed, 224 insertions(+)
> > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
> >
> > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
> > index 2db3b15ad09f..1c5c204a109b 100644
> > --- a/arch/arm64/boot/dts/allwinner/Makefile
> > +++ b/arch/arm64/boot/dts/allwinner/Makefile
> > @@ -43,5 +43,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb
> > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb
> > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
> > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
> > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-bananapi-m4-berry.dtb
> > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb
> > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb
> > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
> > new file mode 100644
> > index 000000000000..a3f8ff75db42
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
> > @@ -0,0 +1,223 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright (C) 2023 Arm Ltd.
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "sun50i-h616.dtsi"
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/input/linux-event-codes.h>
> > +#include <dt-bindings/interrupt-controller/arm-gic.h>
> > +#include <dt-bindings/leds/common.h>
> > +
> > +/ {
> > + model = "BananaPi M4 Berry";
> > + compatible = "sinovoip,bananapi-m4-berry", "allwinner,sun50i-h618";
> > +
> > + aliases {
> > + ethernet0 = &emac0;
> > + serial0 = &uart0;
> > + };
> > +
> > + chosen {
> > + stdout-path = "serial0:115200n8";
> > + };
> > +
> > + leds {
> > + compatible = "gpio-leds";
> > +
> > + led-0 {
> > + function = LED_FUNCTION_STATUS;
> > + color = <LED_COLOR_ID_GREEN>;
> > + gpios = <&pio 2 12 GPIO_ACTIVE_LOW>; /* PC12 */
> > + };
> > + };
> > +
> > + gpio-keys {
> > + compatible = "gpio-keys";
> > +
> > + key-sw3 {
> > + label = "sw3";
> > + linux,code = <BTN_0>;
> > + gpios = <&pio 2 7 GPIO_ACTIVE_LOW>; /* PC7 */
> > + };
> > + };
> > +
> > + reg_vcc5v: regulator-5v {
> > + /* 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_usb_vbus: regulator-usb-vbus {
> > + /* separate discrete regulator for the USB ports */
> > + compatible = "regulator-fixed";
> > + regulator-name = "usb-vbus";
> > + regulator-min-microvolt = <5000000>;
> > + regulator-max-microvolt = <5000000>;
> > + vin-supply = <®_vcc5v>;
> > + };
> > +
> > + reg_3v3: regulator-3v3 {
> > + /* separate discrete regulator for WiFi and Ethernet PHY */
> > + compatible = "regulator-fixed";
> > + regulator-name = "vcc-3v3";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + vin-supply = <®_vcc5v>;
> > + };
> > +};
> > +
> > +&cpu0 {
> > + cpu-supply = <®_dcdc2>;
> > +};
> > +
> > +/* Connected to an on-board RTL8821CU USB WiFi chip. */
> > +&ehci1 {
> > + status = "okay";
> > +};
> > +
> > +/* EHCI2 is on unpopulated pins */
> > +
> > +/* Connected to an on-board FE1.1s USB hub chip, supplying 4 USB-A ports. */
> > +&ehci3 {
> > + status = "okay";
> > +};
> > +
> > +&emac0 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&ext_rgmii_pins>;
> > + phy-mode = "rgmii";
> > + phy-handle = <&ext_rgmii_phy>;
> > + phy-supply = <®_3v3>;
> > + allwinner,rx-delay-ps = <3100>;
> > + allwinner,tx-delay-ps = <700>;
> > + status = "okay";
> > +};
> > +
> > +&ir {
> > + status = "okay";
> > +};
> > +
> > +&mdio0 {
> > + ext_rgmii_phy: ethernet-phy@1 {
> > + compatible = "ethernet-phy-ieee802.3-c22";
> > + reg = <1>;
> > + reset-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */
> > + };
> > +};
> > +
> > +&mmc0 {
> > + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
> > + vmmc-supply = <®_dldo1>;
> > + bus-width = <4>;
> > + status = "okay";
> > +};
> > +
> > +&mmc2 {
> > + vmmc-supply = <®_dldo1>;
> > + vqmmc-supply = <®_aldo1>;
> > + bus-width = <8>;
> > + non-removable;
> > + cap-mmc-hw-reset;
> > + mmc-ddr-1_8v;
>
> This one should be dropped.
Can you please test this one? If it works, I'll merge this series.
Best regards,
Jernej
> > + mmc-hs200-1_8v;
> > + status = "okay";
> > +};
> > +
> > +/* USB ports 1 and 3 connect to onboard devices that are high-speed only. */
> > +
> > +/* OHCI2 is on unpopulated pins */
> > +
> > +&pio {
> > + vcc-pc-supply = <®_aldo1>;
> > + vcc-pf-supply = <®_dldo1>;
> > + vcc-pg-supply = <®_dldo1>;
> > + vcc-ph-supply = <®_dldo1>;
> > + vcc-pi-supply = <®_dldo1>;
> > +};
> > +
> > +&r_i2c {
> > + status = "okay";
> > +
> > + axp313: pmic@36 {
> > + compatible = "x-powers,axp313a";
> > + reg = <0x36>;
> > + #interrupt-cells = <1>;
> > + interrupt-controller;
> > + interrupt-parent = <&pio>;
> > +
> > + vin1-supply = <®_vcc5v>;
> > + vin2-supply = <®_vcc5v>;
> > + vin3-supply = <®_vcc5v>;
> > +
> > + regulators {
> > + reg_aldo1: aldo1 {
> > + regulator-always-on;
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <1800000>;
> > + regulator-name = "vcc-1v8-pll";
> > + };
> > +
> > + reg_dldo1: dldo1 {
> > + regulator-always-on;
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + regulator-name = "vcc-3v3-io";
> > + };
> > +
> > + reg_dcdc1: dcdc1 {
> > + regulator-always-on;
> > + regulator-min-microvolt = <810000>;
> > + regulator-max-microvolt = <990000>;
> > + regulator-name = "vdd-gpu-sys";
> > + };
> > +
> > + reg_dcdc2: dcdc2 {
> > + regulator-always-on;
> > + regulator-min-microvolt = <810000>;
> > + regulator-max-microvolt = <1100000>;
> > + regulator-name = "vdd-cpu";
> > + };
> > +
> > + reg_dcdc3: dcdc3 {
> > + regulator-always-on;
> > + regulator-min-microvolt = <1100000>;
> > + regulator-max-microvolt = <1100000>;
> > + regulator-name = "vdd-dram";
> > + };
> > + };
> > + };
> > +};
> > +
> > +&uart0 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&uart0_ph_pins>;
> > + status = "okay";
> > +};
> > +
> > +&usbotg {
> > + /*
> > + * PHY0 pins are connected to a USB-C socket, but a role switch is not
> > + * implemented: both CC pins are pulled to GND via a 5.1K resistor.
> > + * The VBUS pins power the device, so a fixed peripheral mode
> > + * is the best choice.
> > + * The board can be powered via GPIOs, in this case port0 *can*
> > + * act as a host (with a cable/adapter ignoring CC), as VBUS is
> > + * then provided by the GPIOs. Any user of this setup would
> > + * need to adjust the DT accordingly: dr_mode set to "host",
> > + * enabling OHCI0 and EHCI0.
> > + */
> > + dr_mode = "peripheral";
> > + status = "okay";
> > +};
> > +
> > +&usbphy {
> > + usb3_vbus-supply = <®_usb_vbus>;
> > + status = "okay";
> > +};
> >
>
>
>
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2 2/2] arm64: dts: allwinner: h618: add BananaPi M4 Berry board
2024-02-11 20:22 ` Jernej Škrabec
@ 2024-02-11 22:21 ` Andre Przywara
0 siblings, 0 replies; 6+ messages in thread
From: Andre Przywara @ 2024-02-11 22:21 UTC (permalink / raw)
To: Jernej Škrabec
Cc: Chen-Yu Tsai, Samuel Holland, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-sunxi, devicetree, linux-arm-kernel,
Icenowy Zheng
On Sun, 11 Feb 2024 21:22:11 +0100
Jernej Škrabec <jernej.skrabec@gmail.com> wrote:
Hi Jernej,
> Hi Andre!
>
> Dne ponedeljek, 05. februar 2024 ob 19:19:26 CET je Jernej Škrabec napisal(a):
> > Dne nedelja, 04. februar 2024 ob 11:10:54 CET je Andre Przywara napisal(a):
> > > The BananaPi M4 Berry is a development board using the Allwinner H618
> > > SoC. It comes with the following specs:
> > > - Allwinner H618 SoC (4 * Arm Cortex-A53 cores, 1MB L2 cache)
> > > - 2 GiB LPDDR4 DRAM
> > > - 8 GiB eMMC flash
> > > - AXP313a PMIC
> > > - Gigabit Ethernet, using RTL8211 PHY
> > > - RTL8821CU USB WiFi chip
> > > - HDMI port
> > > - 4 * USB 2.0 ports, via an on-board hub chip
> > > - microSD card slot
> > > - 3.5mm A/V port
> > > - power supply and USB-OTG via USB-C connector
> > >
> > > Add a devicetree file describing the components that we already have
> > > bindings for, that excludes audio and video at the moment.
> > >
> > > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> > > ---
> > > arch/arm64/boot/dts/allwinner/Makefile | 1 +
> > > .../sun50i-h618-bananapi-m4-berry.dts | 223 ++++++++++++++++++
> > > 2 files changed, 224 insertions(+)
> > > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
> > >
> > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
> > > index 2db3b15ad09f..1c5c204a109b 100644
> > > --- a/arch/arm64/boot/dts/allwinner/Makefile
> > > +++ b/arch/arm64/boot/dts/allwinner/Makefile
> > > @@ -43,5 +43,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb
> > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb
> > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
> > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
> > > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-bananapi-m4-berry.dtb
> > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb
> > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb
> > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
> > > new file mode 100644
> > > index 000000000000..a3f8ff75db42
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-bananapi-m4-berry.dts
> > > @@ -0,0 +1,223 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +/*
> > > + * Copyright (C) 2023 Arm Ltd.
> > > + */
> > > +
> > > +/dts-v1/;
> > > +
> > > +#include "sun50i-h616.dtsi"
> > > +
> > > +#include <dt-bindings/gpio/gpio.h>
> > > +#include <dt-bindings/input/linux-event-codes.h>
> > > +#include <dt-bindings/interrupt-controller/arm-gic.h>
> > > +#include <dt-bindings/leds/common.h>
> > > +
> > > +/ {
> > > + model = "BananaPi M4 Berry";
> > > + compatible = "sinovoip,bananapi-m4-berry", "allwinner,sun50i-h618";
> > > +
> > > + aliases {
> > > + ethernet0 = &emac0;
> > > + serial0 = &uart0;
> > > + };
> > > +
> > > + chosen {
> > > + stdout-path = "serial0:115200n8";
> > > + };
> > > +
> > > + leds {
> > > + compatible = "gpio-leds";
> > > +
> > > + led-0 {
> > > + function = LED_FUNCTION_STATUS;
> > > + color = <LED_COLOR_ID_GREEN>;
> > > + gpios = <&pio 2 12 GPIO_ACTIVE_LOW>; /* PC12 */
> > > + };
> > > + };
> > > +
> > > + gpio-keys {
> > > + compatible = "gpio-keys";
> > > +
> > > + key-sw3 {
> > > + label = "sw3";
> > > + linux,code = <BTN_0>;
> > > + gpios = <&pio 2 7 GPIO_ACTIVE_LOW>; /* PC7 */
> > > + };
> > > + };
> > > +
> > > + reg_vcc5v: regulator-5v {
> > > + /* 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_usb_vbus: regulator-usb-vbus {
> > > + /* separate discrete regulator for the USB ports */
> > > + compatible = "regulator-fixed";
> > > + regulator-name = "usb-vbus";
> > > + regulator-min-microvolt = <5000000>;
> > > + regulator-max-microvolt = <5000000>;
> > > + vin-supply = <®_vcc5v>;
> > > + };
> > > +
> > > + reg_3v3: regulator-3v3 {
> > > + /* separate discrete regulator for WiFi and Ethernet PHY */
> > > + compatible = "regulator-fixed";
> > > + regulator-name = "vcc-3v3";
> > > + regulator-min-microvolt = <3300000>;
> > > + regulator-max-microvolt = <3300000>;
> > > + vin-supply = <®_vcc5v>;
> > > + };
> > > +};
> > > +
> > > +&cpu0 {
> > > + cpu-supply = <®_dcdc2>;
> > > +};
> > > +
> > > +/* Connected to an on-board RTL8821CU USB WiFi chip. */
> > > +&ehci1 {
> > > + status = "okay";
> > > +};
> > > +
> > > +/* EHCI2 is on unpopulated pins */
> > > +
> > > +/* Connected to an on-board FE1.1s USB hub chip, supplying 4 USB-A ports. */
> > > +&ehci3 {
> > > + status = "okay";
> > > +};
> > > +
> > > +&emac0 {
> > > + pinctrl-names = "default";
> > > + pinctrl-0 = <&ext_rgmii_pins>;
> > > + phy-mode = "rgmii";
> > > + phy-handle = <&ext_rgmii_phy>;
> > > + phy-supply = <®_3v3>;
> > > + allwinner,rx-delay-ps = <3100>;
> > > + allwinner,tx-delay-ps = <700>;
> > > + status = "okay";
> > > +};
> > > +
> > > +&ir {
> > > + status = "okay";
> > > +};
> > > +
> > > +&mdio0 {
> > > + ext_rgmii_phy: ethernet-phy@1 {
> > > + compatible = "ethernet-phy-ieee802.3-c22";
> > > + reg = <1>;
> > > + reset-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */
> > > + };
> > > +};
> > > +
> > > +&mmc0 {
> > > + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
> > > + vmmc-supply = <®_dldo1>;
> > > + bus-width = <4>;
> > > + status = "okay";
> > > +};
> > > +
> > > +&mmc2 {
> > > + vmmc-supply = <®_dldo1>;
> > > + vqmmc-supply = <®_aldo1>;
> > > + bus-width = <8>;
> > > + non-removable;
> > > + cap-mmc-hw-reset;
> > > + mmc-ddr-1_8v;
> >
> > This one should be dropped.
>
> Can you please test this one? If it works, I'll merge this series.
Unfortunately I cannot test, because I don't have that board. The DT is
entirely based on the schematic. As stated in the cover letter, I was
hoping for people out there to test this.
To be honest, I would feel better if someome provides a Tested-by: tag
before we merge that. Devils is often in the details, even with
seemingly straight-forward DTs like this.
Cheers,
Andre
> Best regards,
> Jernej
>
> > > + mmc-hs200-1_8v;
> > > + status = "okay";
> > > +};
> > > +
> > > +/* USB ports 1 and 3 connect to onboard devices that are high-speed only. */
> > > +
> > > +/* OHCI2 is on unpopulated pins */
> > > +
> > > +&pio {
> > > + vcc-pc-supply = <®_aldo1>;
> > > + vcc-pf-supply = <®_dldo1>;
> > > + vcc-pg-supply = <®_dldo1>;
> > > + vcc-ph-supply = <®_dldo1>;
> > > + vcc-pi-supply = <®_dldo1>;
> > > +};
> > > +
> > > +&r_i2c {
> > > + status = "okay";
> > > +
> > > + axp313: pmic@36 {
> > > + compatible = "x-powers,axp313a";
> > > + reg = <0x36>;
> > > + #interrupt-cells = <1>;
> > > + interrupt-controller;
> > > + interrupt-parent = <&pio>;
> > > +
> > > + vin1-supply = <®_vcc5v>;
> > > + vin2-supply = <®_vcc5v>;
> > > + vin3-supply = <®_vcc5v>;
> > > +
> > > + regulators {
> > > + reg_aldo1: aldo1 {
> > > + regulator-always-on;
> > > + regulator-min-microvolt = <1800000>;
> > > + regulator-max-microvolt = <1800000>;
> > > + regulator-name = "vcc-1v8-pll";
> > > + };
> > > +
> > > + reg_dldo1: dldo1 {
> > > + regulator-always-on;
> > > + regulator-min-microvolt = <3300000>;
> > > + regulator-max-microvolt = <3300000>;
> > > + regulator-name = "vcc-3v3-io";
> > > + };
> > > +
> > > + reg_dcdc1: dcdc1 {
> > > + regulator-always-on;
> > > + regulator-min-microvolt = <810000>;
> > > + regulator-max-microvolt = <990000>;
> > > + regulator-name = "vdd-gpu-sys";
> > > + };
> > > +
> > > + reg_dcdc2: dcdc2 {
> > > + regulator-always-on;
> > > + regulator-min-microvolt = <810000>;
> > > + regulator-max-microvolt = <1100000>;
> > > + regulator-name = "vdd-cpu";
> > > + };
> > > +
> > > + reg_dcdc3: dcdc3 {
> > > + regulator-always-on;
> > > + regulator-min-microvolt = <1100000>;
> > > + regulator-max-microvolt = <1100000>;
> > > + regulator-name = "vdd-dram";
> > > + };
> > > + };
> > > + };
> > > +};
> > > +
> > > +&uart0 {
> > > + pinctrl-names = "default";
> > > + pinctrl-0 = <&uart0_ph_pins>;
> > > + status = "okay";
> > > +};
> > > +
> > > +&usbotg {
> > > + /*
> > > + * PHY0 pins are connected to a USB-C socket, but a role switch is not
> > > + * implemented: both CC pins are pulled to GND via a 5.1K resistor.
> > > + * The VBUS pins power the device, so a fixed peripheral mode
> > > + * is the best choice.
> > > + * The board can be powered via GPIOs, in this case port0 *can*
> > > + * act as a host (with a cable/adapter ignoring CC), as VBUS is
> > > + * then provided by the GPIOs. Any user of this setup would
> > > + * need to adjust the DT accordingly: dr_mode set to "host",
> > > + * enabling OHCI0 and EHCI0.
> > > + */
> > > + dr_mode = "peripheral";
> > > + status = "okay";
> > > +};
> > > +
> > > +&usbphy {
> > > + usb3_vbus-supply = <®_usb_vbus>;
> > > + status = "okay";
> > > +};
> > >
> >
> >
> >
> >
> >
>
>
>
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-02-11 22:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-04 10:10 [PATCH v2 0/2] arm64: dts: allwinner: Add BananaPi M4 Berry Andre Przywara
2024-02-04 10:10 ` [PATCH v2 1/2] dt-bindings: arm: sunxi: document BananaPi M4 Berry board name Andre Przywara
2024-02-04 10:10 ` [PATCH v2 2/2] arm64: dts: allwinner: h618: add BananaPi M4 Berry board Andre Przywara
2024-02-05 18:19 ` Jernej Škrabec
2024-02-11 20:22 ` Jernej Škrabec
2024-02-11 22:21 ` Andre Przywara
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox