* [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support
@ 2024-11-11 1:30 Andre Przywara
2024-11-11 1:30 ` [PATCH 01/14] dt-bindings: mmc: sunxi: Simplify compatible string listing Andre Przywara
` (14 more replies)
0 siblings, 15 replies; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
Ulf Hansson, linux-mmc, Wim Van Sebroeck, Guenter Roeck,
linux-watchdog, Gregory CLEMENT, Andi Shyti, linux-i2c,
Thomas Gleixner, Vinod Koul, Kishon Vijay Abraham I, linux-phy,
Greg Kroah-Hartman, linux-usb, Alexandre Belloni, linux-rtc
Hi,
this series adds basic DT support for the Allwinner A523 SoC, plus the
Avaota-A1 router board using the T527 package variant of that SoC.[1]
Functionality-wise it relies on the pinctrl[2] and clock[3] support
series, though there is no direct code dependency series to this series
(apart from the respective binding patches in the two series').
Most of the patches add DT binding documentation for the most basic
peripherals, the vast majority of them actually being already supported,
courtesy of identical IP being used. This includes MMC and USB 2.0, so
with the above mentioned clock and pinctrl support this gives an already
somewhat usable mainline support for this new SoC family.
The watchdog is not completely compatible, but is an easy addition, so
this bit is included in here as well.
The A523 features 8 Arm Cortex-A55 cores, organised in two clusters,
clocked separately, with different OPP limits, in some kind of
little/LITTLE configuration. The GPU is a Arm Mali G57 MC01, and the chip
also features a single PCIe 2.1 lane, sharing a PHY with some USB 3.1
controller - which means only one of the two can be used.
The rest of the SoC is the usual soup of multimedia SoC IP, with eDP
support and two Gigabit Ethernet MACs among the highlights.
The main feature is patch 11/14, which adds the SoC .dtsi. This for now
is limited to the parts that are supported and could be tested. At the
moment there is no PSCI firmware, even the TF-A port from the BSP does
not seem to work for me. That's why the secondary cores have been omitted
for now, among other instances of some IP that I couldn't test yet.
I plan to add them in one of the next revisions.
The last patch adds basic support for the Avaota-A1 router board,
designed by YuzukiHD, with some boards now built by Pine64.
The mainline firmware side in general is somewhat lacking still: I have
basic U-Boot support working (including MMC and USB), although still
without DRAM support. This is for now covered by some binary blob found
in the (otherwise Open Source) Syterkit firmware, which also provides
the BSP versions of TF-A and the required (RISC-V) management core
firmware. Fortunately we have indications that DRAM support is not that
tricky, as the IP blocks are very similar to already supported, and dev
boards are on their way to the right people.
Meanwhile I would like people to have a look at those DT bits here. Please
compare them to the available user manual, and test them if you have access
to hardware.
Based on v6.12-rc1.
I pushed a branch with all the three series combined here:
https://github.com/apritzel/linux/commits/a523-v1/
Cheers,
Andre
[1] https://linux-sunxi.org/A523#Family_of_sun55iw3
[2] https://lore.kernel.org/linux-sunxi/20241111005750.13071-1-andre.przywara@arm.com/T/#t
[3] https://lore.kernel.org/linux-sunxi/20241111004722.10130-1-andre.przywara@arm.com/T/#t
Andre Przywara (14):
dt-bindings: mmc: sunxi: Simplify compatible string listing
dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523
dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string
watchdog: sunxi_wdt: Add support for Allwinner A523
dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string
dt-bindings: irq: sun7i-nmi: document the Allwinner A523 NMI
controller
dt-bindings: phy: document Allwinner A523 USB-2.0 PHY
dt-bindings: usb: sunxi-musb: add Allwinner A523 compatible string
dt-bindings: usb: add A523 compatible string for EHCI and OCHI
dt-bindings: rtc: sun6i: Add Allwinner A523 support
arm64: dts: allwinner: Add Allwinner A523 .dtsi file
dt-bindings: vendor-prefixes: Add YuzukiHD name
dt-bindings: arm: sunxi: Add Avaota A1 board
arm64: dts: allwinner: a523: add Avaota-A1 router support
.../devicetree/bindings/arm/sunxi.yaml | 5 +
.../bindings/i2c/marvell,mv64xxx-i2c.yaml | 1 +
.../allwinner,sun7i-a20-sc-nmi.yaml | 1 +
.../bindings/mmc/allwinner,sun4i-a10-mmc.yaml | 40 +-
.../phy/allwinner,sun50i-a64-usb-phy.yaml | 10 +-
.../bindings/rtc/allwinner,sun6i-a31-rtc.yaml | 4 +-
.../usb/allwinner,sun4i-a10-musb.yaml | 1 +
.../devicetree/bindings/usb/generic-ehci.yaml | 1 +
.../devicetree/bindings/usb/generic-ohci.yaml | 1 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
.../watchdog/allwinner,sun4i-a10-wdt.yaml | 2 +
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 386 ++++++++++++++++++
.../dts/allwinner/sun55i-t527-avaota-a1.dts | 311 ++++++++++++++
drivers/watchdog/sunxi_wdt.c | 11 +
15 files changed, 751 insertions(+), 26 deletions(-)
create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
--
2.46.2
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH 01/14] dt-bindings: mmc: sunxi: Simplify compatible string listing
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:34 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 02/14] dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523 Andre Przywara
` (13 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Ulf Hansson
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-mmc
New Allwinner SoCs only occasionally update their MMC IP, leading to many
pairs of compatible strings, though there are sometimes a number of them
being compatible with one particular SoC.
Collate the compatible string listing in the binding, to group those
being compatible together. This makes the list more readable, and allows
for easier addition of new SoC's MMC devices.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
.../bindings/mmc/allwinner,sun4i-a10-mmc.yaml | 36 ++++++++-----------
1 file changed, 14 insertions(+), 22 deletions(-)
diff --git a/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml b/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml
index 0ccd632d56200..8e4c77b7e4ab9 100644
--- a/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml
+++ b/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml
@@ -30,38 +30,30 @@ properties:
- const: allwinner,sun50i-a100-emmc
- const: allwinner,sun50i-a100-mmc
- items:
- - const: allwinner,sun8i-a83t-mmc
+ - enum:
+ - allwinner,sun8i-a83t-mmc
+ - allwinner,suniv-f1c100s-mmc
- const: allwinner,sun7i-a20-mmc
- items:
- - const: allwinner,sun8i-r40-emmc
+ - enum:
+ - allwinner,sun8i-r40-emmc
+ - allwinner,sun50i-h5-emmc
+ - allwinner,sun50i-h6-emmc
- const: allwinner,sun50i-a64-emmc
- items:
- - const: allwinner,sun8i-r40-mmc
+ - enum:
+ - allwinner,sun8i-r40-mmc
+ - allwinner,sun50i-h5-mmc
+ - allwinner,sun50i-h6-mmc
- const: allwinner,sun50i-a64-mmc
- items:
- - const: allwinner,sun50i-h5-emmc
- - const: allwinner,sun50i-a64-emmc
- - items:
- - const: allwinner,sun50i-h5-mmc
- - const: allwinner,sun50i-a64-mmc
- - items:
- - const: allwinner,sun50i-h6-emmc
- - const: allwinner,sun50i-a64-emmc
- - items:
- - const: allwinner,sun50i-h6-mmc
- - const: allwinner,sun50i-a64-mmc
- - items:
- - const: allwinner,sun20i-d1-emmc
- - const: allwinner,sun50i-a100-emmc
- - items:
- - const: allwinner,sun50i-h616-emmc
+ - enum:
+ - allwinner,sun20i-d1-emmc
+ - allwinner,sun50i-h616-emmc
- const: allwinner,sun50i-a100-emmc
- items:
- const: allwinner,sun50i-h616-mmc
- const: allwinner,sun50i-a100-mmc
- - items:
- - const: allwinner,suniv-f1c100s-mmc
- - const: allwinner,sun7i-a20-mmc
reg:
maxItems: 1
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 02/14] dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
2024-11-11 1:30 ` [PATCH 01/14] dt-bindings: mmc: sunxi: Simplify compatible string listing Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:35 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 03/14] dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string Andre Przywara
` (12 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Ulf Hansson
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-mmc
The Allwinner A523 uses the same MMC IP as the D1.
Introduce the new specific compatible strings, and use them with
fallbacks to the D1 strings.
Also it turned out that the A100 is not compatible to the H616, instead
it is the same as the D1. For compatibility we cannot change the fallback
chain, but any drivers are from now on supposed to match on the H616
string directly. Mark this fallback chain as deprecated, to avoid new
users to be added.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
.../devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml b/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml
index 8e4c77b7e4ab9..40b83af02c3f9 100644
--- a/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml
+++ b/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml
@@ -50,10 +50,14 @@ properties:
- enum:
- allwinner,sun20i-d1-emmc
- allwinner,sun50i-h616-emmc
+ - allwinner,sun55i-a523-emmc
- const: allwinner,sun50i-a100-emmc
- - items:
+ - items: # deprecated fallback chain
- const: allwinner,sun50i-h616-mmc
- const: allwinner,sun50i-a100-mmc
+ - items:
+ - const: allwinner,sun55i-a523-mmc
+ - const: allwinner,sun20i-d1-mmc
reg:
maxItems: 1
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 03/14] dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
2024-11-11 1:30 ` [PATCH 01/14] dt-bindings: mmc: sunxi: Simplify compatible string listing Andre Przywara
2024-11-11 1:30 ` [PATCH 02/14] dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523 Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:35 ` Conor Dooley
2025-01-18 11:47 ` Jernej Škrabec
2024-11-11 1:30 ` [PATCH 04/14] watchdog: sunxi_wdt: Add support for Allwinner A523 Andre Przywara
` (11 subsequent siblings)
14 siblings, 2 replies; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Wim Van Sebroeck, Guenter Roeck
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-watchdog
The Allwinner A523 SoC features a watchdog similar to the one used in
previous SoCs, but moves some registers around (by just one word), making
it incompatible to existing IPs.
Add the new name to the list of compatible string, and also to the list
of IP requiring two clock inputs.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
.../devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml b/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml
index 64c8f73938099..b35ac03d51727 100644
--- a/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml
@@ -32,6 +32,7 @@ properties:
- items:
- const: allwinner,sun20i-d1-wdt-reset
- const: allwinner,sun20i-d1-wdt
+ - const: allwinner,sun55i-a523-wdt
reg:
maxItems: 1
@@ -60,6 +61,7 @@ if:
- allwinner,sun20i-d1-wdt-reset
- allwinner,sun50i-r329-wdt
- allwinner,sun50i-r329-wdt-reset
+ - allwinner,sun55i-a523-wdt
then:
properties:
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 04/14] watchdog: sunxi_wdt: Add support for Allwinner A523
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (2 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 03/14] dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2025-01-18 11:45 ` Jernej Škrabec
2024-11-11 1:30 ` [PATCH 05/14] dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string Andre Przywara
` (10 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Wim Van Sebroeck, Guenter Roeck
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-watchdog
The Allwinner A523 SoC comes with a watchdog very similar to the ones in
the previous Allwinner SoCs, but oddly enough moves the first half of its
registers up by one word. Since we have different offsets for these
registers across the other SoCs as well, this can simply be modelled by
just stating the new offsets in our per-SoC struct.
The rest of the IP is the same as in the D1, although the A523 moves its
watchdog to a separate MMIO frame, so it's not embedded in the timer
anymore. The driver can be ignorant of this, because the DT will take
care of this.
Add a new struct for the A523, specifying the SoC-specific details, and
tie the new DT compatible string to it.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
drivers/watchdog/sunxi_wdt.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/watchdog/sunxi_wdt.c b/drivers/watchdog/sunxi_wdt.c
index b85354a995826..b6c761acc3de6 100644
--- a/drivers/watchdog/sunxi_wdt.c
+++ b/drivers/watchdog/sunxi_wdt.c
@@ -236,10 +236,21 @@ static const struct sunxi_wdt_reg sun20i_wdt_reg = {
.wdt_key_val = 0x16aa0000,
};
+static const struct sunxi_wdt_reg sun55i_wdt_reg = {
+ .wdt_ctrl = 0x0c,
+ .wdt_cfg = 0x10,
+ .wdt_mode = 0x14,
+ .wdt_timeout_shift = 4,
+ .wdt_reset_mask = 0x03,
+ .wdt_reset_val = 0x01,
+ .wdt_key_val = 0x16aa0000,
+};
+
static const struct of_device_id sunxi_wdt_dt_ids[] = {
{ .compatible = "allwinner,sun4i-a10-wdt", .data = &sun4i_wdt_reg },
{ .compatible = "allwinner,sun6i-a31-wdt", .data = &sun6i_wdt_reg },
{ .compatible = "allwinner,sun20i-d1-wdt", .data = &sun20i_wdt_reg },
+ { .compatible = "allwinner,sun55i-a523-wdt", .data = &sun55i_wdt_reg },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, sunxi_wdt_dt_ids);
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 05/14] dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (3 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 04/14] watchdog: sunxi_wdt: Add support for Allwinner A523 Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:36 ` Conor Dooley
2024-11-18 23:07 ` Andi Shyti
2024-11-11 1:30 ` [PATCH 06/14] dt-bindings: irq: sun7i-nmi: document the Allwinner A523 NMI controller Andre Przywara
` (9 subsequent siblings)
14 siblings, 2 replies; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Gregory CLEMENT, Andi Shyti
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-i2c
The I2C controller IP used in the Allwinner A523/T527 SoCs is
compatible with the ones used in the other recent Allwinner SoCs.
Add the A523 specific compatible string to the list of existing names
falling back to the allwinner,sun8i-v536-i2c string.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
Documentation/devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml b/Documentation/devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml
index 984fc1ed3ec6a..c4efcef591337 100644
--- a/Documentation/devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml
+++ b/Documentation/devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml
@@ -33,6 +33,7 @@ properties:
- allwinner,sun50i-a100-i2c
- allwinner,sun50i-h616-i2c
- allwinner,sun50i-r329-i2c
+ - allwinner,sun55i-a523-i2c
- const: allwinner,sun8i-v536-i2c
- const: allwinner,sun6i-a31-i2c
- const: marvell,mv64xxx-i2c
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 06/14] dt-bindings: irq: sun7i-nmi: document the Allwinner A523 NMI controller
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (4 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 05/14] dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2025-01-18 13:17 ` Jernej Škrabec
2024-11-11 1:30 ` [PATCH 07/14] dt-bindings: phy: document Allwinner A523 USB-2.0 PHY Andre Przywara
` (8 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Thomas Gleixner
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel
The Allwinner A523 SoC contains an NMI controller compatible to one used
in the recent Allwinner SoCs.
Add the A523 specific name to the list of allowed compatible strings.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
.../interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml
index f49b43f45f3d9..d4a86694a032f 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml
@@ -31,6 +31,7 @@ properties:
- allwinner,sun8i-v3s-nmi
- allwinner,sun50i-a100-nmi
- allwinner,sun50i-h616-nmi
+ - allwinner,sun55i-a523-nmi
- const: allwinner,sun9i-a80-nmi
reg:
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 07/14] dt-bindings: phy: document Allwinner A523 USB-2.0 PHY
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (5 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 06/14] dt-bindings: irq: sun7i-nmi: document the Allwinner A523 NMI controller Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:38 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 08/14] dt-bindings: usb: sunxi-musb: add Allwinner A523 compatible string Andre Przywara
` (7 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Vinod Koul,
Kishon Vijay Abraham I
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-phy
The Allwinner A523 SoC contains a USB-2.0 PHY fully compatible to the
one used in the D1/T113s SoCs. This PHY controls the two USB-2.0 ports,
there is a separate and quite different PHY for the USB-3.0 port.
Add the new compatible string, with a fallback to the D1 version.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
.../bindings/phy/allwinner,sun50i-a64-usb-phy.yaml | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/phy/allwinner,sun50i-a64-usb-phy.yaml b/Documentation/devicetree/bindings/phy/allwinner,sun50i-a64-usb-phy.yaml
index f557feca97630..b070a5aeab11d 100644
--- a/Documentation/devicetree/bindings/phy/allwinner,sun50i-a64-usb-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/allwinner,sun50i-a64-usb-phy.yaml
@@ -15,9 +15,13 @@ properties:
const: 1
compatible:
- enum:
- - allwinner,sun20i-d1-usb-phy
- - allwinner,sun50i-a64-usb-phy
+ oneOf:
+ - enum:
+ - allwinner,sun20i-d1-usb-phy
+ - allwinner,sun50i-a64-usb-phy
+ - items:
+ - const: allwinner,sun55i-a523-usb-phy
+ - const: allwinner,sun20i-d1-usb-phy
reg:
items:
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 08/14] dt-bindings: usb: sunxi-musb: add Allwinner A523 compatible string
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (6 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 07/14] dt-bindings: phy: document Allwinner A523 USB-2.0 PHY Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:38 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 09/14] dt-bindings: usb: add A523 compatible string for EHCI and OCHI Andre Przywara
` (6 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Greg Kroah-Hartman
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-usb
The Allwinner A523/T527 SoCs have a MUSB controller fully compatible to
the D1 (and ultimately the A33), with five endpoints.
Add the new name to the list of compatible strings.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
.../devicetree/bindings/usb/allwinner,sun4i-a10-musb.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/usb/allwinner,sun4i-a10-musb.yaml b/Documentation/devicetree/bindings/usb/allwinner,sun4i-a10-musb.yaml
index f972ce976e860..57c17d5a62d63 100644
--- a/Documentation/devicetree/bindings/usb/allwinner,sun4i-a10-musb.yaml
+++ b/Documentation/devicetree/bindings/usb/allwinner,sun4i-a10-musb.yaml
@@ -24,6 +24,7 @@ properties:
- allwinner,sun8i-a83t-musb
- allwinner,sun20i-d1-musb
- allwinner,sun50i-h6-musb
+ - allwinner,sun55i-a523-musb
- const: allwinner,sun8i-a33-musb
- items:
- const: allwinner,sun50i-h616-musb
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 09/14] dt-bindings: usb: add A523 compatible string for EHCI and OCHI
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (7 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 08/14] dt-bindings: usb: sunxi-musb: add Allwinner A523 compatible string Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:38 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 10/14] dt-bindings: rtc: sun6i: Add Allwinner A523 support Andre Przywara
` (5 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Greg Kroah-Hartman
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-usb
The Allwinner A523/T527 feature generic EHCI and OHCI compatible USB-2.0
host controllers (in addition to an MUSB and an XHCI controller).
Add the new name to the list of supported compatible strings.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
Documentation/devicetree/bindings/usb/generic-ehci.yaml | 1 +
Documentation/devicetree/bindings/usb/generic-ohci.yaml | 1 +
2 files changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
index 2ed178f16a782..9c5884c1e7c53 100644
--- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
@@ -31,6 +31,7 @@ properties:
- allwinner,sun50i-a64-ehci
- allwinner,sun50i-h6-ehci
- allwinner,sun50i-h616-ehci
+ - allwinner,sun55i-a523-ehci
- allwinner,sun5i-a13-ehci
- allwinner,sun6i-a31-ehci
- allwinner,sun7i-a20-ehci
diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
index b9576015736bf..f1ae45aa4c86c 100644
--- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
@@ -18,6 +18,7 @@ properties:
- allwinner,sun50i-a64-ohci
- allwinner,sun50i-h6-ohci
- allwinner,sun50i-h616-ohci
+ - allwinner,sun55i-a523-ohci
- allwinner,sun5i-a13-ohci
- allwinner,sun6i-a31-ohci
- allwinner,sun7i-a20-ohci
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 10/14] dt-bindings: rtc: sun6i: Add Allwinner A523 support
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (8 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 09/14] dt-bindings: usb: add A523 compatible string for EHCI and OCHI Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:39 ` Conor Dooley
2024-11-11 20:49 ` (subset) " Alexandre Belloni
2024-11-11 1:30 ` [PATCH 11/14] arm64: dts: allwinner: Add Allwinner A523 .dtsi file Andre Przywara
` (4 subsequent siblings)
14 siblings, 2 replies; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Alexandre Belloni
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-rtc
The RTC in the Allwinner A523 SoC is compatible to the D1 and R329, so
just add its name and use the R329 as a fallback.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
.../devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
index 4531eec568a65..9df5cdb6f63f2 100644
--- a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
@@ -30,7 +30,9 @@ properties:
- const: allwinner,sun50i-a64-rtc
- const: allwinner,sun8i-h3-rtc
- items:
- - const: allwinner,sun20i-d1-rtc
+ - enum:
+ - allwinner,sun20i-d1-rtc
+ - allwinner,sun55i-a523-rtc
- const: allwinner,sun50i-r329-rtc
reg:
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 11/14] arm64: dts: allwinner: Add Allwinner A523 .dtsi file
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (9 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 10/14] dt-bindings: rtc: sun6i: Add Allwinner A523 support Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2025-01-18 16:28 ` Jernej Škrabec
2024-11-11 1:30 ` [PATCH 12/14] dt-bindings: vendor-prefixes: Add YuzukiHD name Andre Przywara
` (3 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel
The Allwinner A523, and its siblings A527 and T527, which share the same
die, are a new family of SoCs introduced in 2023. They features eight
Arm Cortex-A55 cores, and, among the other usual peripherals, a PCIe and
USB 3.0 controller.
Add the basic SoC devicetree .dtsi for the chip, describing the
fundamental peripherals: the cores, GIC, timer, RTC, CCU and pinctrl.
Also some other peripherals are fully compatible with previous IP, so
add the USB and MMC nodes as well.
The other peripherals will be added in the future, once we understand
their compatibility and DT requirements.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
.../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 386 ++++++++++++++++++
1 file changed, 386 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
new file mode 100644
index 0000000000000..96072cea10da4
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
@@ -0,0 +1,386 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
+// Copyright (C) 2023-2024 Arm Ltd.
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/sun6i-rtc.h>
+#include <dt-bindings/clock/sun55i-a523-ccu.h>
+#include <dt-bindings/clock/sun55i-a523-r-ccu.h>
+#include <dt-bindings/reset/sun55i-a523-ccu.h>
+#include <dt-bindings/reset/sun55i-a523-r-ccu.h>
+
+/ {
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "arm,cortex-a55";
+ device_type = "cpu";
+ reg = <0x000>;
+ };
+ };
+
+ ext_osc32k: ext-osc32k-clk {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ clock-output-names = "ext_osc32k";
+ };
+
+ osc24M: osc24M-clk {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <24000000>;
+ clock-output-names = "osc24M";
+ };
+
+ pmu {
+ compatible = "arm,cortex-a55-pmu";
+ interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ arm,no-tick-in-suspend;
+ interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x0 0x0 0x40000000>;
+
+ pio: pinctrl@2000000 {
+ compatible = "allwinner,sun55i-a523-pinctrl";
+ reg = <0x2000000 0x800>;
+ interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc CLK_OSC32K>;
+ clock-names = "apb", "hosc", "losc";
+ gpio-controller;
+ #gpio-cells = <3>;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+
+ mmc0_pins: mmc0-pins {
+ pins = "PF0" ,"PF1", "PF2", "PF3", "PF4", "PF5";
+ allwinner,pinmux = <2>;
+ function = "mmc0";
+ drive-strength = <30>;
+ bias-pull-up;
+ };
+
+ /omit-if-no-ref/
+ mmc1_pins: mmc1-pins {
+ pins = "PG0" ,"PG1", "PG2", "PG3", "PG4", "PG5";
+ allwinner,pinmux = <2>;
+ function = "mmc1";
+ drive-strength = <30>;
+ bias-pull-up;
+ };
+
+ mmc2_pins: mmc2-pins {
+ pins = "PC1" ,"PC5", "PC6", "PC8", "PC9",
+ "PC10", "PC11", "PC13", "PC14", "PC15",
+ "PC16";
+ allwinner,pinmux = <3>;
+ function = "mmc2";
+ drive-strength = <30>;
+ bias-pull-up;
+ };
+
+ uart0_pb_pins: uart0-pb-pins {
+ pins = "PB9", "PB10";
+ allwinner,pinmux = <2>;
+ function = "uart0";
+ };
+ };
+
+ ccu: clock@2001000 {
+ compatible = "allwinner,sun55i-a523-ccu";
+ reg = <0x02001000 0x1000>;
+ clocks = <&osc24M>, <&rtc CLK_OSC32K>, <&rtc CLK_IOSC>;
+ clock-names = "hosc", "losc", "iosc";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ mmc0: mmc@4020000 {
+ compatible = "allwinner,sun55i-a523-mmc",
+ "allwinner,sun20i-d1-mmc";
+ reg = <0x04020000 0x1000>;
+ clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
+ clock-names = "ahb", "mmc";
+ resets = <&ccu RST_BUS_MMC0>;
+ reset-names = "ahb";
+ interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_pins>;
+ status = "disabled";
+
+ max-frequency = <150000000>;
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ cap-sdio-irq;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ mmc2: mmc@4022000 {
+ compatible = "allwinner,sun55i-a523-mmc",
+ "allwinner,sun20i-d1-mmc";
+ reg = <0x04022000 0x1000>;
+ clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
+ clock-names = "ahb", "mmc";
+ resets = <&ccu RST_BUS_MMC2>;
+ reset-names = "ahb";
+ interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_pins>;
+ status = "disabled";
+
+ max-frequency = <150000000>;
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ cap-sdio-irq;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ wdt: watchdog@2050000 {
+ compatible = "allwinner,sun55i-a523-wdt";
+ reg = <0x2050000 0x20>;
+ interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&osc24M>, <&rtc CLK_OSC32K>;
+ clock-names = "hosc", "losc";
+ status = "okay";
+ };
+
+ uart0: serial@2500000 {
+ compatible = "snps,dw-apb-uart";
+ reg = <0x02500000 0x400>;
+ interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&ccu CLK_BUS_UART0>;
+ resets = <&ccu RST_BUS_UART0>;
+ status = "disabled";
+ };
+
+ i2c0: i2c@2502000 {
+ compatible = "allwinner,sun55i-a523-i2c",
+ "allwinner,sun8i-v536-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x2502000 0x400>;
+ interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C0>;
+ resets = <&ccu RST_BUS_I2C0>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ gic: interrupt-controller@3400000 {
+ compatible = "arm,gic-v3";
+ #address-cells = <1>;
+ #interrupt-cells = <3>;
+ #size-cells = <1>;
+ ranges;
+ interrupt-controller;
+ reg = <0x3400000 0x10000>,
+ <0x3460000 0x100000>;
+ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+ dma-noncoherent;
+
+ its: msi-controller@3440000 {
+ compatible = "arm,gic-v3-its";
+ reg = <0x3440000 0x20000>;
+ msi-controller;
+ #msi-cells = <1>;
+ dma-noncoherent;
+ };
+ };
+
+ usb_otg: usb@4100000 {
+ compatible = "allwinner,sun55i-a523-musb",
+ "allwinner,sun8i-a33-musb";
+ reg = <0x4100000 0x400>;
+ interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "mc";
+ clocks = <&ccu CLK_BUS_OTG>;
+ resets = <&ccu RST_BUS_OTG>;
+ extcon = <&usbphy 0>;
+ phys = <&usbphy 0>;
+ phy-names = "usb";
+ status = "disabled";
+ };
+
+ usbphy: phy@4100400 {
+ compatible = "allwinner,sun55i-a523-usb-phy",
+ "allwinner,sun20i-d1-usb-phy";
+ reg = <0x4100400 0x100>,
+ <0x4101800 0x100>,
+ <0x4200800 0x100>;
+ reg-names = "phy_ctrl",
+ "pmu0",
+ "pmu1";
+ clocks = <&osc24M>,
+ <&osc24M>;
+ clock-names = "usb0_phy",
+ "usb1_phy";
+ resets = <&ccu RST_USB_PHY0>,
+ <&ccu RST_USB_PHY1>;
+ reset-names = "usb0_reset",
+ "usb1_reset";
+ status = "disabled";
+ #phy-cells = <1>;
+ };
+
+ ehci0: usb@4101000 {
+ compatible = "allwinner,sun55i-a523-ehci",
+ "generic-ehci";
+ reg = <0x4101000 0x100>;
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_OHCI0>,
+ <&ccu CLK_BUS_EHCI0>,
+ <&ccu CLK_USB_OHCI0>;
+ resets = <&ccu RST_BUS_OHCI0>,
+ <&ccu RST_BUS_EHCI0>;
+ phys = <&usbphy 0>;
+ phy-names = "usb";
+ status = "disabled";
+ };
+
+ ohci0: usb@4101400 {
+ compatible = "allwinner,sun55i-a523-ohci",
+ "generic-ohci";
+ reg = <0x4101400 0x100>;
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_OHCI0>,
+ <&ccu CLK_USB_OHCI0>;
+ resets = <&ccu RST_BUS_OHCI0>;
+ phys = <&usbphy 0>;
+ phy-names = "usb";
+ status = "disabled";
+ };
+
+ ehci1: usb@4200000 {
+ compatible = "allwinner,sun55i-a523-ehci",
+ "generic-ehci";
+ reg = <0x4200000 0x100>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_OHCI1>,
+ <&ccu CLK_BUS_EHCI1>,
+ <&ccu CLK_USB_OHCI1>;
+ resets = <&ccu RST_BUS_OHCI1>,
+ <&ccu RST_BUS_EHCI1>;
+ phys = <&usbphy 1>;
+ phy-names = "usb";
+ status = "disabled";
+ };
+
+ ohci1: usb@4200400 {
+ compatible = "allwinner,sun55i-a523-ohci",
+ "generic-ohci";
+ reg = <0x4200400 0x100>;
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_OHCI1>,
+ <&ccu CLK_USB_OHCI1>;
+ resets = <&ccu RST_BUS_OHCI1>;
+ phys = <&usbphy 1>;
+ phy-names = "usb";
+ status = "disabled";
+ };
+
+ r_ccu: clock-controller@7010000 {
+ compatible = "allwinner,sun55i-a523-r-ccu";
+ reg = <0x7010000 0x250>;
+ clocks = <&osc24M>,
+ <&rtc CLK_OSC32K>,
+ <&rtc CLK_IOSC>,
+ <&ccu CLK_PLL_PERIPH0_200M>,
+ <&ccu CLK_PLL_AUDIO0_4X>;
+ clock-names = "hosc",
+ "losc",
+ "iosc",
+ "pll-periph",
+ "pll-audio";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ nmi_intc: interrupt-controller@7010320 {
+ compatible = "allwinner,sun55i-a523-nmi",
+ "allwinner,sun9i-a80-nmi";
+ reg = <0x07010320 0xc>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ r_pio: pinctrl@7022000 {
+ compatible = "allwinner,sun55i-a523-r-pinctrl";
+ reg = <0x7022000 0x800>;
+ interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&r_ccu CLK_R_APB0>,
+ <&osc24M>,
+ <&rtc CLK_OSC32K>;
+ clock-names = "apb", "hosc", "losc";
+ gpio-controller;
+ #gpio-cells = <3>;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+
+ r_i2c_pins: r-i2c-pins {
+ pins = "PL0" ,"PL1";
+ allwinner,pinmux = <2>;
+ function = "r_i2c0";
+ };
+ };
+
+ r_i2c0: i2c@7081400 {
+ compatible = "allwinner,sun55i-a523-i2c",
+ "allwinner,sun8i-v536-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x07081400 0x400>;
+ interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&r_ccu CLK_BUS_R_I2C0>;
+ resets = <&r_ccu RST_BUS_R_I2C0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&r_i2c_pins>;
+ status = "disabled";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ rtc: rtc@7090000 {
+ compatible = "allwinner,sun55i-a523-rtc",
+ "allwinner,sun50i-r329-rtc";
+ reg = <0x7090000 0x400>;
+ interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&r_ccu CLK_BUS_R_RTC>,
+ <&osc24M>,
+ <&r_ccu CLK_R_AHB>;
+ clock-names = "bus", "hosc", "ahb";
+ #clock-cells = <1>;
+ };
+ };
+};
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 12/14] dt-bindings: vendor-prefixes: Add YuzukiHD name
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (10 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 11/14] arm64: dts: allwinner: Add Allwinner A523 .dtsi file Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:39 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 13/14] dt-bindings: arm: sunxi: Add Avaota A1 board Andre Przywara
` (2 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel
YuzukiHD provides Open Source Hardware designs, and also offers
ready-made builds of them: https://github.com/YuzukiHD
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index b320a39de7fe4..936dcafd6adeb 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1709,6 +1709,8 @@ patternProperties:
description: Shenzhen Yashi Changhua Intelligent Technology Co., Ltd.
"^ysoft,.*":
description: Y Soft Corporation a.s.
+ "^yuzukihd,.*":
+ description: YuzukiHD Open Source Hardware
"^zarlink,.*":
description: Zarlink Semiconductor
"^zealz,.*":
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 13/14] dt-bindings: arm: sunxi: Add Avaota A1 board
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (11 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 12/14] dt-bindings: vendor-prefixes: Add YuzukiHD name Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 20:39 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 14/14] arm64: dts: allwinner: a523: add Avaota-A1 router support Andre Przywara
2024-11-11 15:32 ` [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Rob Herring (Arm)
14 siblings, 1 reply; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel
The Avaota A1 is an Open Source hardware router board using the
Allwinner T527 SoC.
Add its compatible name to the list.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
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 4aa15f3668e03..41d6509f48602 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -1070,4 +1070,9 @@ properties:
- const: xunlong,orangepi-zero3
- const: allwinner,sun50i-h618
+ - description: YuzukiHD Avaota A1
+ items:
+ - const: yuzukihd,avaota-a1
+ - const: allwinner,sun55i-t527
+
additionalProperties: true
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH 14/14] arm64: dts: allwinner: a523: add Avaota-A1 router support
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (12 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 13/14] dt-bindings: arm: sunxi: Add Avaota A1 board Andre Przywara
@ 2024-11-11 1:30 ` Andre Przywara
2024-11-11 15:32 ` [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Rob Herring (Arm)
14 siblings, 0 replies; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 1:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel
The Avaota A1 router board is an Open Source hardware board, designed
by YuzukiHD. Pine64 produces some boards. It uses the Allwinner T527 SoC,
and comes with the following features:
- Eight ARM Cortex-A55 cores, Mali-G57 MC1 GPU
- 1GiB/2GiB/4GiB LPDDR4 DRAM
- AXP717 + AXP323 PMIC
- Raspberry-Pi-2 compatible GPIO header
- 1 USB 2.0 type A host port, 1 USB 3.0 type A host post
- 1 USB 2.0 type C port (OTG + serial debug)
- MicroSD slot
- eMMC between 16 and 128 GiB
- on-board 16MiB bootable SPI NOR flash
- two 1Gbps Ethernet ports (via RTL8211F PHYs)
- HDMI port
- DP port
- camera and LCD connectors
- 3.5mm headphone jack
- (yet) unsupported WiFi/BT chip
- 1.3" LC display, connected via SPI
- 12 V barrel plug for power supply
Add the devicetree file describing the currently supported features.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../dts/allwinner/sun55i-t527-avaota-a1.dts | 311 ++++++++++++++++++
2 files changed, 312 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index 00bed412ee31c..0d678a7499e3c 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -52,3 +52,4 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-2024.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-h.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-sp.dtb
+dtb-$(CONFIG_ARCH_SUNXI) += sun55i-t527-avaota-a1.dtb
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
new file mode 100644
index 0000000000000..ac3e4a55231c7
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
@@ -0,0 +1,311 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
+// Copyright (C) 2024 Arm Ltd.
+
+/dts-v1/;
+
+#include "sun55i-a523.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ model = "Avaota A1";
+ compatible = "yuzukihd,avaota-a1", "allwinner,sun55i-t527";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ /* For now, until we have mainline components living in SRAM */
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /* 128 KiB reserved for Trusted Firmware-A (BL31). */
+ secmon@48000000 {
+ reg = <0x0 0x48000000 0x0 0x20000>;
+ no-map;
+ };
+
+ /* 256 KiB reserved for the SCP. */
+ secmon@48100000 {
+ reg = <0x0 0x48100000 0x0 0x40000>;
+ no-map;
+ };
+ };
+
+ reg_vcc12v: vcc12v {
+ /* DC input jack */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-12v";
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+ regulator-always-on;
+ };
+
+ reg_vcc5v: vcc5v {
+ /* board wide 5V supply from the 12V->5V regulator */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-5v";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <®_vcc12v>;
+ regulator-always-on;
+ };
+
+ reg_vcc3v3: vcc3v3 {
+ /* 3.3V dummy supply for the SD card */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <®_vcc5v>;
+ regulator-always-on;
+ };
+
+ reg_usb_vbus: vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usb-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <®_vcc5v>;
+ gpio = <&pio 8 12 GPIO_ACTIVE_HIGH>; /* PI12 */
+ enable-active-high;
+ };
+};
+
+&ehci0 {
+ status = "okay";
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&mmc0 {
+ vmmc-supply = <®_vcc3v3>;
+ cd-gpios = <&pio 5 6 (GPIO_ACTIVE_LOW | GPIO_PULL_DOWN)>; /* PF6 */
+ bus-width = <4>;
+ status = "okay";
+};
+
+&ohci0 {
+ status = "okay";
+};
+
+&ohci1 {
+ status = "okay";
+};
+
+&pio {
+ vcc-pb-supply = <®_cldo3>; /* via VCC-IO */
+ vcc-pc-supply = <®_cldo1>;
+ vcc-pd-supply = <®_dcdc4>;
+ vcc-pe-supply = <®_dcdc4>;
+ vcc-pf-supply = <®_cldo3>; /* actually switchable */
+ vcc-pg-supply = <®_bldo1>;
+ vcc-ph-supply = <®_cldo3>; /* via VCC-IO */
+ vcc-pi-supply = <®_dcdc4>;
+ vcc-pj-supply = <®_dcdc4>;
+ vcc-pk-supply = <®_bldo3>;
+};
+
+&r_i2c0 {
+ status = "okay";
+
+ axp717: pmic@35 {
+ compatible = "x-powers,axp717";
+ reg = <0x35>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ interrupt-parent = <&nmi_intc>;
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+
+ vin1-supply = <®_vcc5v>;
+ vin2-supply = <®_vcc5v>;
+ vin3-supply = <®_vcc5v>;
+ vin4-supply = <®_vcc5v>;
+ aldoin-supply = <®_vcc5v>;
+ bldoin-supply = <®_vcc5v>;
+ cldoin-supply = <®_vcc5v>;
+
+ regulators {
+ /* Supplies the "little" cluster (1.4 GHz cores) */
+ reg_dcdc1: dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1160000>;
+ regulator-name = "vdd-cpul";
+ };
+
+ reg_dcdc2: dcdc2 {
+ regulator-always-on;
+ regulator-min-microvolt = <920000>;
+ regulator-max-microvolt = <920000>;
+ regulator-name = "vdd-gpu-sys";
+ };
+
+ reg_dcdc3: dcdc3 {
+ regulator-always-on;
+ regulator-min-microvolt = <1160000>;
+ regulator-max-microvolt = <1160000>;
+ regulator-name = "vdd-dram";
+ };
+
+ reg_dcdc4: dcdc4 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vdd-io";
+ };
+
+ reg_aldo1: aldo1 {
+ /* not connected */
+ };
+
+ reg_aldo2: aldo2 {
+ /* not connected */
+ };
+
+ reg_aldo3: aldo3 {
+ /* supplies the I2C pins for this PMIC */
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-pl-pm";
+ };
+
+ reg_aldo4: aldo4 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-pll-dxco-avcc";
+ };
+
+ reg_bldo1: bldo1 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-pg-wifi-lvds";
+ };
+
+ reg_bldo2: bldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-dram-1v8";
+ };
+
+ reg_bldo3: bldo3 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-cvp-pk-vid1v8";
+ };
+
+ reg_bldo4: bldo4 {
+ /* not connected */
+ };
+
+ reg_cldo1: cldo1 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-pc";
+ };
+
+ reg_cldo2: cldo2 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-efuse";
+ };
+
+ reg_cldo3: cldo3 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-io-mmc-spi-ana";
+ };
+
+ reg_cldo4: cldo4 {
+ /* not connected */
+ };
+
+ reg_cpusldo: cpusldo {
+ /* supplies the management core */
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <900000>;
+ regulator-name = "vdd-cpus";
+ };
+ };
+ };
+
+ axp323: pmic@36 {
+ compatible = "x-powers,axp323";
+ reg = <0x36>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupt-parent = <&nmi_intc>;
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+ status = "okay";
+
+ vin1-supply = <®_vcc5v>;
+ vin2-supply = <®_vcc5v>;
+ vin3-supply = <®_vcc5v>;
+
+ regulators {
+ aldo1 {
+ /* not connected */
+ };
+
+ dldo1 {
+ /* not connected */
+ };
+
+ /* Supplies the "big" cluster (1.8 GHz cores) */
+ reg_dcdc1_323: dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1160000>;
+ regulator-name = "vdd-cpub";
+ };
+
+ /* DCDC2 is polyphased with DCDC1 */
+
+ /* Some RISC-V management core related voltage */
+ reg_dcdc3_323: dcdc3 {
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <900000>;
+ regulator-name = "vdd-dnr";
+ };
+ };
+ };
+};
+
+&r_pio {
+/*
+ * Specifying the supply would create a circular dependency.
+ *
+ * vcc-pl-supply = <®_aldo3>;
+ */
+ vcc-pm-supply = <®_aldo3>;
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_pb_pins>;
+ status = "okay";
+};
+
+&usb_otg {
+ dr_mode = "otg";
+ status = "okay";
+};
+
+&usbphy {
+ usb0_vbus-supply = <®_usb_vbus>;
+ usb0_vbus_det-gpios = <&pio 8 13 GPIO_ACTIVE_HIGH>; /* PI13 */
+ status = "okay";
+};
--
2.46.2
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
` (13 preceding siblings ...)
2024-11-11 1:30 ` [PATCH 14/14] arm64: dts: allwinner: a523: add Avaota-A1 router support Andre Przywara
@ 2024-11-11 15:32 ` Rob Herring (Arm)
2024-11-11 17:42 ` Andre Przywara
14 siblings, 1 reply; 33+ messages in thread
From: Rob Herring (Arm) @ 2024-11-11 15:32 UTC (permalink / raw)
To: Andre Przywara
Cc: Krzysztof Kozlowski, linux-phy, linux-mmc, Gregory CLEMENT,
Alexandre Belloni, Wim Van Sebroeck, Greg Kroah-Hartman,
devicetree, linux-rtc, linux-kernel, linux-sunxi,
linux-arm-kernel, linux-i2c, Andi Shyti, Vinod Koul,
linux-watchdog, Thomas Gleixner, Chen-Yu Tsai, Samuel Holland,
Ulf Hansson, linux-usb, Jernej Skrabec, Guenter Roeck,
Conor Dooley, Kishon Vijay Abraham I
On Mon, 11 Nov 2024 01:30:19 +0000, Andre Przywara wrote:
> Hi,
>
> this series adds basic DT support for the Allwinner A523 SoC, plus the
> Avaota-A1 router board using the T527 package variant of that SoC.[1]
> Functionality-wise it relies on the pinctrl[2] and clock[3] support
> series, though there is no direct code dependency series to this series
> (apart from the respective binding patches in the two series').
>
> Most of the patches add DT binding documentation for the most basic
> peripherals, the vast majority of them actually being already supported,
> courtesy of identical IP being used. This includes MMC and USB 2.0, so
> with the above mentioned clock and pinctrl support this gives an already
> somewhat usable mainline support for this new SoC family.
> The watchdog is not completely compatible, but is an easy addition, so
> this bit is included in here as well.
>
> The A523 features 8 Arm Cortex-A55 cores, organised in two clusters,
> clocked separately, with different OPP limits, in some kind of
> little/LITTLE configuration. The GPU is a Arm Mali G57 MC01, and the chip
> also features a single PCIe 2.1 lane, sharing a PHY with some USB 3.1
> controller - which means only one of the two can be used.
> The rest of the SoC is the usual soup of multimedia SoC IP, with eDP
> support and two Gigabit Ethernet MACs among the highlights.
>
> The main feature is patch 11/14, which adds the SoC .dtsi. This for now
> is limited to the parts that are supported and could be tested. At the
> moment there is no PSCI firmware, even the TF-A port from the BSP does
> not seem to work for me. That's why the secondary cores have been omitted
> for now, among other instances of some IP that I couldn't test yet.
> I plan to add them in one of the next revisions.
>
> The last patch adds basic support for the Avaota-A1 router board,
> designed by YuzukiHD, with some boards now built by Pine64.
>
> The mainline firmware side in general is somewhat lacking still: I have
> basic U-Boot support working (including MMC and USB), although still
> without DRAM support. This is for now covered by some binary blob found
> in the (otherwise Open Source) Syterkit firmware, which also provides
> the BSP versions of TF-A and the required (RISC-V) management core
> firmware. Fortunately we have indications that DRAM support is not that
> tricky, as the IP blocks are very similar to already supported, and dev
> boards are on their way to the right people.
>
> Meanwhile I would like people to have a look at those DT bits here. Please
> compare them to the available user manual, and test them if you have access
> to hardware.
>
> Based on v6.12-rc1.
> I pushed a branch with all the three series combined here:
> https://github.com/apritzel/linux/commits/a523-v1/
>
> Cheers,
> Andre
>
> [1] https://linux-sunxi.org/A523#Family_of_sun55iw3
> [2] https://lore.kernel.org/linux-sunxi/20241111005750.13071-1-andre.przywara@arm.com/T/#t
> [3] https://lore.kernel.org/linux-sunxi/20241111004722.10130-1-andre.przywara@arm.com/T/#t
>
> Andre Przywara (14):
> dt-bindings: mmc: sunxi: Simplify compatible string listing
> dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523
> dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string
> watchdog: sunxi_wdt: Add support for Allwinner A523
> dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string
> dt-bindings: irq: sun7i-nmi: document the Allwinner A523 NMI
> controller
> dt-bindings: phy: document Allwinner A523 USB-2.0 PHY
> dt-bindings: usb: sunxi-musb: add Allwinner A523 compatible string
> dt-bindings: usb: add A523 compatible string for EHCI and OCHI
> dt-bindings: rtc: sun6i: Add Allwinner A523 support
> arm64: dts: allwinner: Add Allwinner A523 .dtsi file
> dt-bindings: vendor-prefixes: Add YuzukiHD name
> dt-bindings: arm: sunxi: Add Avaota A1 board
> arm64: dts: allwinner: a523: add Avaota-A1 router support
>
> .../devicetree/bindings/arm/sunxi.yaml | 5 +
> .../bindings/i2c/marvell,mv64xxx-i2c.yaml | 1 +
> .../allwinner,sun7i-a20-sc-nmi.yaml | 1 +
> .../bindings/mmc/allwinner,sun4i-a10-mmc.yaml | 40 +-
> .../phy/allwinner,sun50i-a64-usb-phy.yaml | 10 +-
> .../bindings/rtc/allwinner,sun6i-a31-rtc.yaml | 4 +-
> .../usb/allwinner,sun4i-a10-musb.yaml | 1 +
> .../devicetree/bindings/usb/generic-ehci.yaml | 1 +
> .../devicetree/bindings/usb/generic-ohci.yaml | 1 +
> .../devicetree/bindings/vendor-prefixes.yaml | 2 +
> .../watchdog/allwinner,sun4i-a10-wdt.yaml | 2 +
> arch/arm64/boot/dts/allwinner/Makefile | 1 +
> .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 386 ++++++++++++++++++
> .../dts/allwinner/sun55i-t527-avaota-a1.dts | 311 ++++++++++++++
> drivers/watchdog/sunxi_wdt.c | 11 +
> 15 files changed, 751 insertions(+), 26 deletions(-)
> create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
> create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
>
> --
> 2.46.2
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y allwinner/sun55i-t527-avaota-a1.dtb' for 20241111013033.22793-1-andre.przywara@arm.com:
In file included from arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts:6:
arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi:6:10: fatal error: dt-bindings/clock/sun55i-a523-ccu.h: No such file or directory
6 | #include <dt-bindings/clock/sun55i-a523-ccu.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.dtbs:129: arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dtb] Error 1
make[2]: *** [scripts/Makefile.build:478: arch/arm64/boot/dts/allwinner] Error 2
make[2]: Target 'arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dtb' not remade because of errors.
make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1399: allwinner/sun55i-t527-avaota-a1.dtb] Error 2
make: *** [Makefile:224: __sub-make] Error 2
make: Target 'allwinner/sun55i-t527-avaota-a1.dtb' not remade because of errors.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support
2024-11-11 15:32 ` [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Rob Herring (Arm)
@ 2024-11-11 17:42 ` Andre Przywara
0 siblings, 0 replies; 33+ messages in thread
From: Andre Przywara @ 2024-11-11 17:42 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: Krzysztof Kozlowski, linux-phy, linux-mmc, Gregory CLEMENT,
Alexandre Belloni, Wim Van Sebroeck, Greg Kroah-Hartman,
devicetree, linux-rtc, linux-kernel, linux-sunxi,
linux-arm-kernel, linux-i2c, Andi Shyti, Vinod Koul,
linux-watchdog, Thomas Gleixner, Chen-Yu Tsai, Samuel Holland,
Ulf Hansson, linux-usb, Jernej Skrabec, Guenter Roeck,
Conor Dooley, Kishon Vijay Abraham I
On Mon, 11 Nov 2024 09:32:53 -0600
"Rob Herring (Arm)" <robh@kernel.org> wrote:
Hi Rob,
> On Mon, 11 Nov 2024 01:30:19 +0000, Andre Przywara wrote:
> > Hi,
> >
> > this series adds basic DT support for the Allwinner A523 SoC, plus the
> > Avaota-A1 router board using the T527 package variant of that SoC.[1]
> > Functionality-wise it relies on the pinctrl[2] and clock[3] support
> > series, though there is no direct code dependency series to this series
> > (apart from the respective binding patches in the two series').
> >
> > Most of the patches add DT binding documentation for the most basic
> > peripherals, the vast majority of them actually being already supported,
> > courtesy of identical IP being used. This includes MMC and USB 2.0, so
> > with the above mentioned clock and pinctrl support this gives an already
> > somewhat usable mainline support for this new SoC family.
> > The watchdog is not completely compatible, but is an easy addition, so
> > this bit is included in here as well.
> >
> > The A523 features 8 Arm Cortex-A55 cores, organised in two clusters,
> > clocked separately, with different OPP limits, in some kind of
> > little/LITTLE configuration. The GPU is a Arm Mali G57 MC01, and the chip
> > also features a single PCIe 2.1 lane, sharing a PHY with some USB 3.1
> > controller - which means only one of the two can be used.
> > The rest of the SoC is the usual soup of multimedia SoC IP, with eDP
> > support and two Gigabit Ethernet MACs among the highlights.
> >
> > The main feature is patch 11/14, which adds the SoC .dtsi. This for now
> > is limited to the parts that are supported and could be tested. At the
> > moment there is no PSCI firmware, even the TF-A port from the BSP does
> > not seem to work for me. That's why the secondary cores have been omitted
> > for now, among other instances of some IP that I couldn't test yet.
> > I plan to add them in one of the next revisions.
> >
> > The last patch adds basic support for the Avaota-A1 router board,
> > designed by YuzukiHD, with some boards now built by Pine64.
> >
> > The mainline firmware side in general is somewhat lacking still: I have
> > basic U-Boot support working (including MMC and USB), although still
> > without DRAM support. This is for now covered by some binary blob found
> > in the (otherwise Open Source) Syterkit firmware, which also provides
> > the BSP versions of TF-A and the required (RISC-V) management core
> > firmware. Fortunately we have indications that DRAM support is not that
> > tricky, as the IP blocks are very similar to already supported, and dev
> > boards are on their way to the right people.
> >
> > Meanwhile I would like people to have a look at those DT bits here. Please
> > compare them to the available user manual, and test them if you have access
> > to hardware.
> >
> > Based on v6.12-rc1.
> > I pushed a branch with all the three series combined here:
> > https://github.com/apritzel/linux/commits/a523-v1/
> >
> > Cheers,
> > Andre
> >
> > [1] https://linux-sunxi.org/A523#Family_of_sun55iw3
> > [2] https://lore.kernel.org/linux-sunxi/20241111005750.13071-1-andre.przywara@arm.com/T/#t
> > [3] https://lore.kernel.org/linux-sunxi/20241111004722.10130-1-andre.przywara@arm.com/T/#t
> >
> > Andre Przywara (14):
> > dt-bindings: mmc: sunxi: Simplify compatible string listing
> > dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523
> > dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string
> > watchdog: sunxi_wdt: Add support for Allwinner A523
> > dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string
> > dt-bindings: irq: sun7i-nmi: document the Allwinner A523 NMI
> > controller
> > dt-bindings: phy: document Allwinner A523 USB-2.0 PHY
> > dt-bindings: usb: sunxi-musb: add Allwinner A523 compatible string
> > dt-bindings: usb: add A523 compatible string for EHCI and OCHI
> > dt-bindings: rtc: sun6i: Add Allwinner A523 support
> > arm64: dts: allwinner: Add Allwinner A523 .dtsi file
> > dt-bindings: vendor-prefixes: Add YuzukiHD name
> > dt-bindings: arm: sunxi: Add Avaota A1 board
> > arm64: dts: allwinner: a523: add Avaota-A1 router support
> >
> > .../devicetree/bindings/arm/sunxi.yaml | 5 +
> > .../bindings/i2c/marvell,mv64xxx-i2c.yaml | 1 +
> > .../allwinner,sun7i-a20-sc-nmi.yaml | 1 +
> > .../bindings/mmc/allwinner,sun4i-a10-mmc.yaml | 40 +-
> > .../phy/allwinner,sun50i-a64-usb-phy.yaml | 10 +-
> > .../bindings/rtc/allwinner,sun6i-a31-rtc.yaml | 4 +-
> > .../usb/allwinner,sun4i-a10-musb.yaml | 1 +
> > .../devicetree/bindings/usb/generic-ehci.yaml | 1 +
> > .../devicetree/bindings/usb/generic-ohci.yaml | 1 +
> > .../devicetree/bindings/vendor-prefixes.yaml | 2 +
> > .../watchdog/allwinner,sun4i-a10-wdt.yaml | 2 +
> > arch/arm64/boot/dts/allwinner/Makefile | 1 +
> > .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 386 ++++++++++++++++++
> > .../dts/allwinner/sun55i-t527-avaota-a1.dts | 311 ++++++++++++++
> > drivers/watchdog/sunxi_wdt.c | 11 +
> > 15 files changed, 751 insertions(+), 26 deletions(-)
> > create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
> > create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
> >
> > --
> > 2.46.2
> >
> >
> >
>
>
> My bot found new DTB warnings on the .dts files added or changed in this
> series.
>
> Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
> are fixed by another series. Ultimately, it is up to the platform
> maintainer whether these warnings are acceptable or not. No need to reply
> unless the platform maintainer has comments.
>
> If you already ran DT checks and didn't see these error(s), then
> make sure dt-schema is up to date:
>
> pip3 install dtschema --upgrade
>
>
> New warnings running 'make CHECK_DTBS=y allwinner/sun55i-t527-avaota-a1.dtb' for 20241111013033.22793-1-andre.przywara@arm.com:
>
> In file included from arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts:6:
> arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi:6:10: fatal error: dt-bindings/clock/sun55i-a523-ccu.h: No such file or directory
> 6 | #include <dt-bindings/clock/sun55i-a523-ccu.h>
Argh, the headers, forgot about them! I was hoping there would only be a
complaint about the undocumented compatible strings, and I didn't want to
tie the three series together unnecessarily, to avoid a harder to handle
28-patch series.
I hope this doesn't prevent actual review by people, my github has
the combined story, in case people want to avoid the issue:
https://github.com/apritzel/linux/commits/a523-v1/
Cheers,
Andre
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> make[3]: *** [scripts/Makefile.dtbs:129: arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dtb] Error 1
> make[2]: *** [scripts/Makefile.build:478: arch/arm64/boot/dts/allwinner] Error 2
> make[2]: Target 'arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dtb' not remade because of errors.
> make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1399: allwinner/sun55i-t527-avaota-a1.dtb] Error 2
> make: *** [Makefile:224: __sub-make] Error 2
> make: Target 'allwinner/sun55i-t527-avaota-a1.dtb' not remade because of errors.
>
>
>
>
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 01/14] dt-bindings: mmc: sunxi: Simplify compatible string listing
2024-11-11 1:30 ` [PATCH 01/14] dt-bindings: mmc: sunxi: Simplify compatible string listing Andre Przywara
@ 2024-11-11 20:34 ` Conor Dooley
0 siblings, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:34 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Ulf Hansson, devicetree,
linux-arm-kernel, linux-sunxi, linux-kernel, linux-mmc
[-- Attachment #1: Type: text/plain, Size: 581 bytes --]
On Mon, Nov 11, 2024 at 01:30:20AM +0000, Andre Przywara wrote:
> New Allwinner SoCs only occasionally update their MMC IP, leading to many
> pairs of compatible strings, though there are sometimes a number of them
> being compatible with one particular SoC.
>
> Collate the compatible string listing in the binding, to group those
> being compatible together. This makes the list more readable, and allows
> for easier addition of new SoC's MMC devices.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 02/14] dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523
2024-11-11 1:30 ` [PATCH 02/14] dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523 Andre Przywara
@ 2024-11-11 20:35 ` Conor Dooley
0 siblings, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:35 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Ulf Hansson, devicetree,
linux-arm-kernel, linux-sunxi, linux-kernel, linux-mmc
[-- Attachment #1: Type: text/plain, Size: 684 bytes --]
On Mon, Nov 11, 2024 at 01:30:21AM +0000, Andre Przywara wrote:
> The Allwinner A523 uses the same MMC IP as the D1.
>
> Introduce the new specific compatible strings, and use them with
> fallbacks to the D1 strings.
>
> Also it turned out that the A100 is not compatible to the H616, instead
> it is the same as the D1. For compatibility we cannot change the fallback
> chain, but any drivers are from now on supposed to match on the H616
> string directly. Mark this fallback chain as deprecated, to avoid new
> users to be added.
tbh, I think this should be split out into a fix commit of its own.
Split,
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 03/14] dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string
2024-11-11 1:30 ` [PATCH 03/14] dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string Andre Przywara
@ 2024-11-11 20:35 ` Conor Dooley
2025-01-18 11:47 ` Jernej Škrabec
1 sibling, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:35 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Wim Van Sebroeck, Guenter Roeck,
devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-watchdog
[-- Attachment #1: Type: text/plain, Size: 484 bytes --]
On Mon, Nov 11, 2024 at 01:30:22AM +0000, Andre Przywara wrote:
> The Allwinner A523 SoC features a watchdog similar to the one used in
> previous SoCs, but moves some registers around (by just one word), making
> it incompatible to existing IPs.
>
> Add the new name to the list of compatible string, and also to the list
> of IP requiring two clock inputs.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 05/14] dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string
2024-11-11 1:30 ` [PATCH 05/14] dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string Andre Przywara
@ 2024-11-11 20:36 ` Conor Dooley
2024-11-18 23:07 ` Andi Shyti
1 sibling, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:36 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Gregory CLEMENT, Andi Shyti,
devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-i2c
[-- Attachment #1: Type: text/plain, Size: 449 bytes --]
On Mon, Nov 11, 2024 at 01:30:24AM +0000, Andre Przywara wrote:
> The I2C controller IP used in the Allwinner A523/T527 SoCs is
> compatible with the ones used in the other recent Allwinner SoCs.
>
> Add the A523 specific compatible string to the list of existing names
> falling back to the allwinner,sun8i-v536-i2c string.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 07/14] dt-bindings: phy: document Allwinner A523 USB-2.0 PHY
2024-11-11 1:30 ` [PATCH 07/14] dt-bindings: phy: document Allwinner A523 USB-2.0 PHY Andre Przywara
@ 2024-11-11 20:38 ` Conor Dooley
0 siblings, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:38 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Vinod Koul,
Kishon Vijay Abraham I, devicetree, linux-arm-kernel, linux-sunxi,
linux-kernel, linux-phy
[-- Attachment #1: Type: text/plain, Size: 472 bytes --]
On Mon, Nov 11, 2024 at 01:30:26AM +0000, Andre Przywara wrote:
> The Allwinner A523 SoC contains a USB-2.0 PHY fully compatible to the
> one used in the D1/T113s SoCs. This PHY controls the two USB-2.0 ports,
> there is a separate and quite different PHY for the USB-3.0 port.
>
> Add the new compatible string, with a fallback to the D1 version.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 08/14] dt-bindings: usb: sunxi-musb: add Allwinner A523 compatible string
2024-11-11 1:30 ` [PATCH 08/14] dt-bindings: usb: sunxi-musb: add Allwinner A523 compatible string Andre Przywara
@ 2024-11-11 20:38 ` Conor Dooley
0 siblings, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:38 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Greg Kroah-Hartman, devicetree,
linux-arm-kernel, linux-sunxi, linux-kernel, linux-usb
[-- Attachment #1: Type: text/plain, Size: 373 bytes --]
On Mon, Nov 11, 2024 at 01:30:27AM +0000, Andre Przywara wrote:
> The Allwinner A523/T527 SoCs have a MUSB controller fully compatible to
> the D1 (and ultimately the A33), with five endpoints.
>
> Add the new name to the list of compatible strings.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 09/14] dt-bindings: usb: add A523 compatible string for EHCI and OCHI
2024-11-11 1:30 ` [PATCH 09/14] dt-bindings: usb: add A523 compatible string for EHCI and OCHI Andre Przywara
@ 2024-11-11 20:38 ` Conor Dooley
0 siblings, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:38 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Greg Kroah-Hartman, devicetree,
linux-arm-kernel, linux-sunxi, linux-kernel, linux-usb
[-- Attachment #1: Type: text/plain, Size: 396 bytes --]
On Mon, Nov 11, 2024 at 01:30:28AM +0000, Andre Przywara wrote:
> The Allwinner A523/T527 feature generic EHCI and OHCI compatible USB-2.0
> host controllers (in addition to an MUSB and an XHCI controller).
>
> Add the new name to the list of supported compatible strings.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 10/14] dt-bindings: rtc: sun6i: Add Allwinner A523 support
2024-11-11 1:30 ` [PATCH 10/14] dt-bindings: rtc: sun6i: Add Allwinner A523 support Andre Przywara
@ 2024-11-11 20:39 ` Conor Dooley
2024-11-11 20:49 ` (subset) " Alexandre Belloni
1 sibling, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:39 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Alexandre Belloni, devicetree,
linux-arm-kernel, linux-sunxi, linux-kernel, linux-rtc
[-- Attachment #1: Type: text/plain, Size: 309 bytes --]
On Mon, Nov 11, 2024 at 01:30:29AM +0000, Andre Przywara wrote:
> The RTC in the Allwinner A523 SoC is compatible to the D1 and R329, so
> just add its name and use the R329 as a fallback.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 12/14] dt-bindings: vendor-prefixes: Add YuzukiHD name
2024-11-11 1:30 ` [PATCH 12/14] dt-bindings: vendor-prefixes: Add YuzukiHD name Andre Przywara
@ 2024-11-11 20:39 ` Conor Dooley
0 siblings, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:39 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 307 bytes --]
On Mon, Nov 11, 2024 at 01:30:31AM +0000, Andre Przywara wrote:
> YuzukiHD provides Open Source Hardware designs, and also offers
> ready-made builds of them: https://github.com/YuzukiHD
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 13/14] dt-bindings: arm: sunxi: Add Avaota A1 board
2024-11-11 1:30 ` [PATCH 13/14] dt-bindings: arm: sunxi: Add Avaota A1 board Andre Przywara
@ 2024-11-11 20:39 ` Conor Dooley
0 siblings, 0 replies; 33+ messages in thread
From: Conor Dooley @ 2024-11-11 20:39 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 316 bytes --]
On Mon, Nov 11, 2024 at 01:30:32AM +0000, Andre Przywara wrote:
> The Avaota A1 is an Open Source hardware router board using the
> Allwinner T527 SoC.
>
> Add its compatible name to the list.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: (subset) [PATCH 10/14] dt-bindings: rtc: sun6i: Add Allwinner A523 support
2024-11-11 1:30 ` [PATCH 10/14] dt-bindings: rtc: sun6i: Add Allwinner A523 support Andre Przywara
2024-11-11 20:39 ` Conor Dooley
@ 2024-11-11 20:49 ` Alexandre Belloni
1 sibling, 0 replies; 33+ messages in thread
From: Alexandre Belloni @ 2024-11-11 20:49 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Andre Przywara
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-rtc
On Mon, 11 Nov 2024 01:30:29 +0000, Andre Przywara wrote:
> The RTC in the Allwinner A523 SoC is compatible to the D1 and R329, so
> just add its name and use the R329 as a fallback.
>
>
Applied, thanks!
[10/14] dt-bindings: rtc: sun6i: Add Allwinner A523 support
https://git.kernel.org/abelloni/c/9beeecbd63d5
Best regards,
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 05/14] dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string
2024-11-11 1:30 ` [PATCH 05/14] dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string Andre Przywara
2024-11-11 20:36 ` Conor Dooley
@ 2024-11-18 23:07 ` Andi Shyti
1 sibling, 0 replies; 33+ messages in thread
From: Andi Shyti @ 2024-11-18 23:07 UTC (permalink / raw)
To: Andre Przywara
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Gregory CLEMENT, devicetree,
linux-arm-kernel, linux-sunxi, linux-kernel, linux-i2c
Hi Andre,
On Mon, Nov 11, 2024 at 01:30:24AM +0000, Andre Przywara wrote:
> The I2C controller IP used in the Allwinner A523/T527 SoCs is
> compatible with the ones used in the other recent Allwinner SoCs.
>
> Add the A523 specific compatible string to the list of existing names
> falling back to the allwinner,sun8i-v536-i2c string.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Just this patch 5, pushed to i2c/i2c-host.
Thanks,
Andi
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 04/14] watchdog: sunxi_wdt: Add support for Allwinner A523
2024-11-11 1:30 ` [PATCH 04/14] watchdog: sunxi_wdt: Add support for Allwinner A523 Andre Przywara
@ 2025-01-18 11:45 ` Jernej Škrabec
0 siblings, 0 replies; 33+ messages in thread
From: Jernej Škrabec @ 2025-01-18 11:45 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Samuel Holland, Wim Van Sebroeck, Guenter Roeck, Andre Przywara
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-watchdog
Dne ponedeljek, 11. november 2024 ob 02:30:23 Srednjeevropski standardni čas je Andre Przywara napisal(a):
> The Allwinner A523 SoC comes with a watchdog very similar to the ones in
> the previous Allwinner SoCs, but oddly enough moves the first half of its
> registers up by one word. Since we have different offsets for these
> registers across the other SoCs as well, this can simply be modelled by
> just stating the new offsets in our per-SoC struct.
> The rest of the IP is the same as in the D1, although the A523 moves its
> watchdog to a separate MMIO frame, so it's not embedded in the timer
> anymore. The driver can be ignorant of this, because the DT will take
> care of this.
>
> Add a new struct for the A523, specifying the SoC-specific details, and
> tie the new DT compatible string to it.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 03/14] dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string
2024-11-11 1:30 ` [PATCH 03/14] dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string Andre Przywara
2024-11-11 20:35 ` Conor Dooley
@ 2025-01-18 11:47 ` Jernej Škrabec
1 sibling, 0 replies; 33+ messages in thread
From: Jernej Škrabec @ 2025-01-18 11:47 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Samuel Holland, Wim Van Sebroeck, Guenter Roeck, Andre Przywara
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-watchdog
Dne ponedeljek, 11. november 2024 ob 02:30:22 Srednjeevropski standardni čas je Andre Przywara napisal(a):
> The Allwinner A523 SoC features a watchdog similar to the one used in
> previous SoCs, but moves some registers around (by just one word), making
> it incompatible to existing IPs.
>
> Add the new name to the list of compatible string, and also to the list
> of IP requiring two clock inputs.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
> ---
> .../devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml b/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml
> index 64c8f73938099..b35ac03d51727 100644
> --- a/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml
> @@ -32,6 +32,7 @@ properties:
> - items:
> - const: allwinner,sun20i-d1-wdt-reset
> - const: allwinner,sun20i-d1-wdt
> + - const: allwinner,sun55i-a523-wdt
>
> reg:
> maxItems: 1
> @@ -60,6 +61,7 @@ if:
> - allwinner,sun20i-d1-wdt-reset
> - allwinner,sun50i-r329-wdt
> - allwinner,sun50i-r329-wdt-reset
> + - allwinner,sun55i-a523-wdt
>
> then:
> properties:
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 06/14] dt-bindings: irq: sun7i-nmi: document the Allwinner A523 NMI controller
2024-11-11 1:30 ` [PATCH 06/14] dt-bindings: irq: sun7i-nmi: document the Allwinner A523 NMI controller Andre Przywara
@ 2025-01-18 13:17 ` Jernej Škrabec
0 siblings, 0 replies; 33+ messages in thread
From: Jernej Škrabec @ 2025-01-18 13:17 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Samuel Holland, Thomas Gleixner, Andre Przywara
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel
Dne ponedeljek, 11. november 2024 ob 02:30:25 Srednjeevropski standardni čas je Andre Przywara napisal(a):
> The Allwinner A523 SoC contains an NMI controller compatible to one used
> in the recent Allwinner SoCs.
>
> Add the A523 specific name to the list of allowed compatible strings.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 11/14] arm64: dts: allwinner: Add Allwinner A523 .dtsi file
2024-11-11 1:30 ` [PATCH 11/14] arm64: dts: allwinner: Add Allwinner A523 .dtsi file Andre Przywara
@ 2025-01-18 16:28 ` Jernej Škrabec
0 siblings, 0 replies; 33+ messages in thread
From: Jernej Škrabec @ 2025-01-18 16:28 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Samuel Holland, Andre Przywara
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel
Dne ponedeljek, 11. november 2024 ob 02:30:30 Srednjeevropski standardni čas je Andre Przywara napisal(a):
> The Allwinner A523, and its siblings A527 and T527, which share the same
> die, are a new family of SoCs introduced in 2023. They features eight
> Arm Cortex-A55 cores, and, among the other usual peripherals, a PCIe and
> USB 3.0 controller.
>
> Add the basic SoC devicetree .dtsi for the chip, describing the
> fundamental peripherals: the cores, GIC, timer, RTC, CCU and pinctrl.
> Also some other peripherals are fully compatible with previous IP, so
> add the USB and MMC nodes as well.
> The other peripherals will be added in the future, once we understand
> their compatibility and DT requirements.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
> .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 386 ++++++++++++++++++
> 1 file changed, 386 insertions(+)
> create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
> new file mode 100644
> index 0000000000000..96072cea10da4
> --- /dev/null
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
> @@ -0,0 +1,386 @@
> +// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
> +// Copyright (C) 2023-2024 Arm Ltd.
> +
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/clock/sun6i-rtc.h>
> +#include <dt-bindings/clock/sun55i-a523-ccu.h>
> +#include <dt-bindings/clock/sun55i-a523-r-ccu.h>
> +#include <dt-bindings/reset/sun55i-a523-ccu.h>
> +#include <dt-bindings/reset/sun55i-a523-r-ccu.h>
> +
> +/ {
> + interrupt-parent = <&gic>;
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + cpus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + cpu0: cpu@0 {
> + compatible = "arm,cortex-a55";
> + device_type = "cpu";
> + reg = <0x000>;
> + };
> + };
> +
> + ext_osc32k: ext-osc32k-clk {
> + #clock-cells = <0>;
> + compatible = "fixed-clock";
> + clock-frequency = <32768>;
> + clock-output-names = "ext_osc32k";
> + };
osc32k should be part of the board DT. It's not mandatory, and some boards,
at least with older generations of SoCs, don't have it.
Best regards,
Jernej
> +
> + osc24M: osc24M-clk {
> + #clock-cells = <0>;
> + compatible = "fixed-clock";
> + clock-frequency = <24000000>;
> + clock-output-names = "osc24M";
> + };
> +
> + pmu {
> + compatible = "arm,cortex-a55-pmu";
> + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
> + };
> +
> + timer {
> + compatible = "arm,armv8-timer";
> + arm,no-tick-in-suspend;
> + interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
> + };
> +
> + soc {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x0 0x0 0x0 0x40000000>;
> +
> + pio: pinctrl@2000000 {
> + compatible = "allwinner,sun55i-a523-pinctrl";
> + reg = <0x2000000 0x800>;
> + interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc CLK_OSC32K>;
> + clock-names = "apb", "hosc", "losc";
> + gpio-controller;
> + #gpio-cells = <3>;
> + interrupt-controller;
> + #interrupt-cells = <3>;
> +
> + mmc0_pins: mmc0-pins {
> + pins = "PF0" ,"PF1", "PF2", "PF3", "PF4", "PF5";
> + allwinner,pinmux = <2>;
> + function = "mmc0";
> + drive-strength = <30>;
> + bias-pull-up;
> + };
> +
> + /omit-if-no-ref/
> + mmc1_pins: mmc1-pins {
> + pins = "PG0" ,"PG1", "PG2", "PG3", "PG4", "PG5";
> + allwinner,pinmux = <2>;
> + function = "mmc1";
> + drive-strength = <30>;
> + bias-pull-up;
> + };
> +
> + mmc2_pins: mmc2-pins {
> + pins = "PC1" ,"PC5", "PC6", "PC8", "PC9",
> + "PC10", "PC11", "PC13", "PC14", "PC15",
> + "PC16";
> + allwinner,pinmux = <3>;
> + function = "mmc2";
> + drive-strength = <30>;
> + bias-pull-up;
> + };
> +
> + uart0_pb_pins: uart0-pb-pins {
> + pins = "PB9", "PB10";
> + allwinner,pinmux = <2>;
> + function = "uart0";
> + };
> + };
> +
> + ccu: clock@2001000 {
> + compatible = "allwinner,sun55i-a523-ccu";
> + reg = <0x02001000 0x1000>;
> + clocks = <&osc24M>, <&rtc CLK_OSC32K>, <&rtc CLK_IOSC>;
> + clock-names = "hosc", "losc", "iosc";
> + #clock-cells = <1>;
> + #reset-cells = <1>;
> + };
> +
> + mmc0: mmc@4020000 {
> + compatible = "allwinner,sun55i-a523-mmc",
> + "allwinner,sun20i-d1-mmc";
> + reg = <0x04020000 0x1000>;
> + clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
> + clock-names = "ahb", "mmc";
> + resets = <&ccu RST_BUS_MMC0>;
> + reset-names = "ahb";
> + interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc0_pins>;
> + status = "disabled";
> +
> + max-frequency = <150000000>;
> + cap-sd-highspeed;
> + cap-mmc-highspeed;
> + cap-sdio-irq;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + mmc2: mmc@4022000 {
> + compatible = "allwinner,sun55i-a523-mmc",
> + "allwinner,sun20i-d1-mmc";
> + reg = <0x04022000 0x1000>;
> + clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
> + clock-names = "ahb", "mmc";
> + resets = <&ccu RST_BUS_MMC2>;
> + reset-names = "ahb";
> + interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc2_pins>;
> + status = "disabled";
> +
> + max-frequency = <150000000>;
> + cap-sd-highspeed;
> + cap-mmc-highspeed;
> + cap-sdio-irq;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + wdt: watchdog@2050000 {
> + compatible = "allwinner,sun55i-a523-wdt";
> + reg = <0x2050000 0x20>;
> + interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&osc24M>, <&rtc CLK_OSC32K>;
> + clock-names = "hosc", "losc";
> + status = "okay";
> + };
> +
> + uart0: serial@2500000 {
> + compatible = "snps,dw-apb-uart";
> + reg = <0x02500000 0x400>;
> + interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
> + reg-shift = <2>;
> + reg-io-width = <4>;
> + clocks = <&ccu CLK_BUS_UART0>;
> + resets = <&ccu RST_BUS_UART0>;
> + status = "disabled";
> + };
> +
> + i2c0: i2c@2502000 {
> + compatible = "allwinner,sun55i-a523-i2c",
> + "allwinner,sun8i-v536-i2c",
> + "allwinner,sun6i-a31-i2c";
> + reg = <0x2502000 0x400>;
> + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_BUS_I2C0>;
> + resets = <&ccu RST_BUS_I2C0>;
> + status = "disabled";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + gic: interrupt-controller@3400000 {
> + compatible = "arm,gic-v3";
> + #address-cells = <1>;
> + #interrupt-cells = <3>;
> + #size-cells = <1>;
> + ranges;
> + interrupt-controller;
> + reg = <0x3400000 0x10000>,
> + <0x3460000 0x100000>;
> + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
> + dma-noncoherent;
> +
> + its: msi-controller@3440000 {
> + compatible = "arm,gic-v3-its";
> + reg = <0x3440000 0x20000>;
> + msi-controller;
> + #msi-cells = <1>;
> + dma-noncoherent;
> + };
> + };
> +
> + usb_otg: usb@4100000 {
> + compatible = "allwinner,sun55i-a523-musb",
> + "allwinner,sun8i-a33-musb";
> + reg = <0x4100000 0x400>;
> + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "mc";
> + clocks = <&ccu CLK_BUS_OTG>;
> + resets = <&ccu RST_BUS_OTG>;
> + extcon = <&usbphy 0>;
> + phys = <&usbphy 0>;
> + phy-names = "usb";
> + status = "disabled";
> + };
> +
> + usbphy: phy@4100400 {
> + compatible = "allwinner,sun55i-a523-usb-phy",
> + "allwinner,sun20i-d1-usb-phy";
> + reg = <0x4100400 0x100>,
> + <0x4101800 0x100>,
> + <0x4200800 0x100>;
> + reg-names = "phy_ctrl",
> + "pmu0",
> + "pmu1";
> + clocks = <&osc24M>,
> + <&osc24M>;
> + clock-names = "usb0_phy",
> + "usb1_phy";
> + resets = <&ccu RST_USB_PHY0>,
> + <&ccu RST_USB_PHY1>;
> + reset-names = "usb0_reset",
> + "usb1_reset";
> + status = "disabled";
> + #phy-cells = <1>;
> + };
> +
> + ehci0: usb@4101000 {
> + compatible = "allwinner,sun55i-a523-ehci",
> + "generic-ehci";
> + reg = <0x4101000 0x100>;
> + interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_BUS_OHCI0>,
> + <&ccu CLK_BUS_EHCI0>,
> + <&ccu CLK_USB_OHCI0>;
> + resets = <&ccu RST_BUS_OHCI0>,
> + <&ccu RST_BUS_EHCI0>;
> + phys = <&usbphy 0>;
> + phy-names = "usb";
> + status = "disabled";
> + };
> +
> + ohci0: usb@4101400 {
> + compatible = "allwinner,sun55i-a523-ohci",
> + "generic-ohci";
> + reg = <0x4101400 0x100>;
> + interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_BUS_OHCI0>,
> + <&ccu CLK_USB_OHCI0>;
> + resets = <&ccu RST_BUS_OHCI0>;
> + phys = <&usbphy 0>;
> + phy-names = "usb";
> + status = "disabled";
> + };
> +
> + ehci1: usb@4200000 {
> + compatible = "allwinner,sun55i-a523-ehci",
> + "generic-ehci";
> + reg = <0x4200000 0x100>;
> + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_BUS_OHCI1>,
> + <&ccu CLK_BUS_EHCI1>,
> + <&ccu CLK_USB_OHCI1>;
> + resets = <&ccu RST_BUS_OHCI1>,
> + <&ccu RST_BUS_EHCI1>;
> + phys = <&usbphy 1>;
> + phy-names = "usb";
> + status = "disabled";
> + };
> +
> + ohci1: usb@4200400 {
> + compatible = "allwinner,sun55i-a523-ohci",
> + "generic-ohci";
> + reg = <0x4200400 0x100>;
> + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_BUS_OHCI1>,
> + <&ccu CLK_USB_OHCI1>;
> + resets = <&ccu RST_BUS_OHCI1>;
> + phys = <&usbphy 1>;
> + phy-names = "usb";
> + status = "disabled";
> + };
> +
> + r_ccu: clock-controller@7010000 {
> + compatible = "allwinner,sun55i-a523-r-ccu";
> + reg = <0x7010000 0x250>;
> + clocks = <&osc24M>,
> + <&rtc CLK_OSC32K>,
> + <&rtc CLK_IOSC>,
> + <&ccu CLK_PLL_PERIPH0_200M>,
> + <&ccu CLK_PLL_AUDIO0_4X>;
> + clock-names = "hosc",
> + "losc",
> + "iosc",
> + "pll-periph",
> + "pll-audio";
> + #clock-cells = <1>;
> + #reset-cells = <1>;
> + };
> +
> + nmi_intc: interrupt-controller@7010320 {
> + compatible = "allwinner,sun55i-a523-nmi",
> + "allwinner,sun9i-a80-nmi";
> + reg = <0x07010320 0xc>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
> + };
> +
> + r_pio: pinctrl@7022000 {
> + compatible = "allwinner,sun55i-a523-r-pinctrl";
> + reg = <0x7022000 0x800>;
> + interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&r_ccu CLK_R_APB0>,
> + <&osc24M>,
> + <&rtc CLK_OSC32K>;
> + clock-names = "apb", "hosc", "losc";
> + gpio-controller;
> + #gpio-cells = <3>;
> + interrupt-controller;
> + #interrupt-cells = <3>;
> +
> + r_i2c_pins: r-i2c-pins {
> + pins = "PL0" ,"PL1";
> + allwinner,pinmux = <2>;
> + function = "r_i2c0";
> + };
> + };
> +
> + r_i2c0: i2c@7081400 {
> + compatible = "allwinner,sun55i-a523-i2c",
> + "allwinner,sun8i-v536-i2c",
> + "allwinner,sun6i-a31-i2c";
> + reg = <0x07081400 0x400>;
> + interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&r_ccu CLK_BUS_R_I2C0>;
> + resets = <&r_ccu RST_BUS_R_I2C0>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&r_i2c_pins>;
> + status = "disabled";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + rtc: rtc@7090000 {
> + compatible = "allwinner,sun55i-a523-rtc",
> + "allwinner,sun50i-r329-rtc";
> + reg = <0x7090000 0x400>;
> + interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&r_ccu CLK_BUS_R_RTC>,
> + <&osc24M>,
> + <&r_ccu CLK_R_AHB>;
> + clock-names = "bus", "hosc", "ahb";
> + #clock-cells = <1>;
> + };
> + };
> +};
>
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2025-01-18 16:28 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-11 1:30 [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Andre Przywara
2024-11-11 1:30 ` [PATCH 01/14] dt-bindings: mmc: sunxi: Simplify compatible string listing Andre Przywara
2024-11-11 20:34 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 02/14] dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523 Andre Przywara
2024-11-11 20:35 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 03/14] dt-bindings: watchdog: sunxi: add Allwinner A523 compatible string Andre Przywara
2024-11-11 20:35 ` Conor Dooley
2025-01-18 11:47 ` Jernej Škrabec
2024-11-11 1:30 ` [PATCH 04/14] watchdog: sunxi_wdt: Add support for Allwinner A523 Andre Przywara
2025-01-18 11:45 ` Jernej Škrabec
2024-11-11 1:30 ` [PATCH 05/14] dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string Andre Przywara
2024-11-11 20:36 ` Conor Dooley
2024-11-18 23:07 ` Andi Shyti
2024-11-11 1:30 ` [PATCH 06/14] dt-bindings: irq: sun7i-nmi: document the Allwinner A523 NMI controller Andre Przywara
2025-01-18 13:17 ` Jernej Škrabec
2024-11-11 1:30 ` [PATCH 07/14] dt-bindings: phy: document Allwinner A523 USB-2.0 PHY Andre Przywara
2024-11-11 20:38 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 08/14] dt-bindings: usb: sunxi-musb: add Allwinner A523 compatible string Andre Przywara
2024-11-11 20:38 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 09/14] dt-bindings: usb: add A523 compatible string for EHCI and OCHI Andre Przywara
2024-11-11 20:38 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 10/14] dt-bindings: rtc: sun6i: Add Allwinner A523 support Andre Przywara
2024-11-11 20:39 ` Conor Dooley
2024-11-11 20:49 ` (subset) " Alexandre Belloni
2024-11-11 1:30 ` [PATCH 11/14] arm64: dts: allwinner: Add Allwinner A523 .dtsi file Andre Przywara
2025-01-18 16:28 ` Jernej Škrabec
2024-11-11 1:30 ` [PATCH 12/14] dt-bindings: vendor-prefixes: Add YuzukiHD name Andre Przywara
2024-11-11 20:39 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 13/14] dt-bindings: arm: sunxi: Add Avaota A1 board Andre Przywara
2024-11-11 20:39 ` Conor Dooley
2024-11-11 1:30 ` [PATCH 14/14] arm64: dts: allwinner: a523: add Avaota-A1 router support Andre Przywara
2024-11-11 15:32 ` [PATCH 00/14] arm64: dts: allwinner: Add basic Allwinner A523 support Rob Herring (Arm)
2024-11-11 17:42 ` Andre Przywara
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).