* [PATCH v2 0/3] t7: add some nodes for Amlogc t7.
@ 2026-09-24 5:51 Xianwei Zhao via B4 Relay
2026-09-24 5:51 ` [PATCH v2 1/3] spi: dt-bindings: amlogic,meson-gx-spicc: add T7 compatible Xianwei Zhao via B4 Relay
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Xianwei Zhao via B4 Relay @ 2026-09-24 5:51 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni
Cc: linux-spi, devicetree, linux-arm-kernel, linux-amlogic,
linux-kernel, netdev, Xianwei Zhao
Add device tree descriptions for the peripherals on the Amlogic T7
SoC and the T7 A311D2 AN400 board.
Add the Amlogic T7 SPICC compatible to the device tree binding.
Add the T7 compatible to the Meson DWMAC binding
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
Changes in v2:
- Make some modifications according to the Sashiko AI's reviews.
- Link to v1: https://lore.kernel.org/r/20260920-t7-node-new-v1-0-e6e0840c1b0b@amlogic.com
---
Xianwei Zhao (3):
spi: dt-bindings: amlogic,meson-gx-spicc: add T7 compatible
dt-bindings: net: meson-dwmac: add T7 support
arm64: dts: amlogic: add T7 peripheral nodes
.../bindings/net/amlogic,meson-dwmac.yaml | 17 +
.../bindings/spi/amlogic,meson-gx-spicc.yaml | 13 +-
.../boot/dts/amlogic/amlogic-t7-a311d2-an400.dts | 153 +++++++
arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi | 462 +++++++++++++++++++++
4 files changed, 641 insertions(+), 4 deletions(-)
---
base-commit: a2530c83c458a503e55219966217dfd1c36a385e
change-id: 20260920-t7-node-new-381d1cf5d807
Best regards,
--
Xianwei Zhao <xianwei.zhao@amlogic.com>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH v2 1/3] spi: dt-bindings: amlogic,meson-gx-spicc: add T7 compatible 2026-09-24 5:51 [PATCH v2 0/3] t7: add some nodes for Amlogc t7 Xianwei Zhao via B4 Relay @ 2026-09-24 5:51 ` Xianwei Zhao via B4 Relay 2026-09-24 5:51 ` [PATCH v2 2/3] dt-bindings: net: meson-dwmac: add T7 support Xianwei Zhao via B4 Relay ` (2 subsequent siblings) 3 siblings, 0 replies; 10+ messages in thread From: Xianwei Zhao via B4 Relay @ 2026-09-24 5:51 UTC (permalink / raw) To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni Cc: linux-spi, devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, netdev, Xianwei Zhao From: Xianwei Zhao <xianwei.zhao@amlogic.com> Add the Amlogic T7 SPICC compatible to the device tree binding. The T7 controller is compatible with the existing G12A SPICC implementation, so require amlogic,meson-g12a-spicc as a fallback compatible for T7 devices. Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> --- .../devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml b/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml index 4e28e6e9d8e0..f0ba15402a4c 100644 --- a/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml +++ b/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml @@ -16,10 +16,15 @@ description: | properties: compatible: - enum: - - amlogic,meson-gx-spicc # SPICC controller on Amlogic GX and compatible SoCs - - amlogic,meson-axg-spicc # SPICC controller on Amlogic AXG and compatible SoCs - - amlogic,meson-g12a-spicc # SPICC controller on Amlogic G12A and compatible SoCs + oneOf: + - items: + - enum: + - amlogic,t7-spicc + - const: amlogic,meson-g12a-spicc + - enum: + - amlogic,meson-gx-spicc # SPICC controller on Amlogic GX and compatible SoCs + - amlogic,meson-axg-spicc # SPICC controller on Amlogic AXG and compatible SoCs + - amlogic,meson-g12a-spicc # SPICC controller on Amlogic G12A and compatible SoCs interrupts: maxItems: 1 -- 2.52.0 _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 2/3] dt-bindings: net: meson-dwmac: add T7 support 2026-09-24 5:51 [PATCH v2 0/3] t7: add some nodes for Amlogc t7 Xianwei Zhao via B4 Relay 2026-09-24 5:51 ` [PATCH v2 1/3] spi: dt-bindings: amlogic,meson-gx-spicc: add T7 compatible Xianwei Zhao via B4 Relay @ 2026-09-24 5:51 ` Xianwei Zhao via B4 Relay 2026-09-24 17:21 ` Conor Dooley 2026-09-24 5:51 ` [PATCH v2 3/3] arm64: dts: amlogic: add T7 peripheral nodes Xianwei Zhao via B4 Relay 2026-09-28 16:29 ` (subset) [PATCH v2 0/3] t7: add some nodes for Amlogc t7 Mark Brown 3 siblings, 1 reply; 10+ messages in thread From: Xianwei Zhao via B4 Relay @ 2026-09-24 5:51 UTC (permalink / raw) To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni Cc: linux-spi, devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, netdev, Xianwei Zhao From: Xianwei Zhao <xianwei.zhao@amlogic.com> Add the T7 compatible to the Meson DWMAC binding. The T7 DWMAC controller requires the following compatible combination: amlogic,t7-dwmac amlogic,meson-axg-dwmac snps,dwmac-4.00 Add a conditional schema check to enforce this compatible combination when amlogic,t7-dwmac is used. Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> --- .../devicetree/bindings/net/amlogic,meson-dwmac.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml index 5c91716d1f21..b529ca5577a9 100644 --- a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml @@ -23,11 +23,24 @@ select: - amlogic,meson-gxbb-dwmac - amlogic,meson-axg-dwmac - amlogic,meson-g12a-dwmac + - amlogic,t7-dwmac required: - compatible allOf: - $ref: snps,dwmac.yaml# + - if: + properties: + compatible: + contains: + const: amlogic,t7-dwmac + then: + properties: + compatible: + items: + - const: amlogic,t7-dwmac + - const: amlogic,meson-axg-dwmac + - const: snps,dwmac-4.00 - if: properties: compatible: @@ -38,6 +51,7 @@ allOf: - amlogic,meson-gxbb-dwmac - amlogic,meson-axg-dwmac - amlogic,meson-g12a-dwmac + - amlogic,t7-dwmac then: properties: @@ -93,6 +107,7 @@ allOf: - amlogic,meson8m2-dwmac - amlogic,meson-gxbb-dwmac - amlogic,meson-axg-dwmac + - amlogic,t7-dwmac then: properties: rx-internal-delay-ps: @@ -139,8 +154,10 @@ properties: - amlogic,meson-gxbb-dwmac - amlogic,meson-axg-dwmac - amlogic,meson-g12a-dwmac + - amlogic,t7-dwmac contains: enum: + - snps,dwmac-4.00 - snps,dwmac-3.70a - snps,dwmac -- 2.52.0 _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: net: meson-dwmac: add T7 support 2026-09-24 5:51 ` [PATCH v2 2/3] dt-bindings: net: meson-dwmac: add T7 support Xianwei Zhao via B4 Relay @ 2026-09-24 17:21 ` Conor Dooley 2026-10-04 14:06 ` Lucas Tanure 0 siblings, 1 reply; 10+ messages in thread From: Conor Dooley @ 2026-09-24 17:21 UTC (permalink / raw) To: xianwei.zhao Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, linux-spi, devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, netdev [-- Attachment #1.1: Type: text/plain, Size: 3509 bytes --] On Thu, Sep 24, 2026 at 05:51:09AM +0000, Xianwei Zhao via B4 Relay wrote: > From: Xianwei Zhao <xianwei.zhao@amlogic.com> > > Add the T7 compatible to the Meson DWMAC binding. > > The T7 DWMAC controller requires the following compatible combination: > > amlogic,t7-dwmac > amlogic,meson-axg-dwmac > snps,dwmac-4.00 > > Add a conditional schema check to enforce this compatible combination > when amlogic,t7-dwmac is used. > > Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> > --- > .../devicetree/bindings/net/amlogic,meson-dwmac.yaml | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml > index 5c91716d1f21..b529ca5577a9 100644 > --- a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml > +++ b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml > @@ -23,11 +23,24 @@ select: > - amlogic,meson-gxbb-dwmac > - amlogic,meson-axg-dwmac > - amlogic,meson-g12a-dwmac > + - amlogic,t7-dwmac > required: > - compatible > > allOf: > - $ref: snps,dwmac.yaml# > + - if: > + properties: > + compatible: > + contains: > + const: amlogic,t7-dwmac > + then: > + properties: > + compatible: > + items: > + - const: amlogic,t7-dwmac > + - const: amlogic,meson-axg-dwmac > + - const: snps,dwmac-4.00 This is not how fallback compatibles are described. Instead of doing this, which affects all other compatibles in the file by allowing dwmac-4.00 for all devices, please do this the normal way. dwmac isn't special, it's just this binding that's weird! Can whats currently in the binding (before this patch) be largely replaced by just doing: compatible: oneOf: - items: - enum: - amlogic,meson8b-dwmac - amlogic,meson-gxbb-dwmac - amlogic,meson-axg-dwmac - amlogic,meson-g12a-dwmac - const: snps,dwmac-3.70a - const: snps,dwmac - items: - enum: - amlogic,meson6-dwmac - amlogic,meson8m2-dwmac - const: snps,dwmac You'll have to check this yourself against the amlogic devicetrees and see if this is correct, but with this you should be able to add your new device without doing anything special. pw-bot: changes-requested Thanks, Conor. > - if: > properties: > compatible: > @@ -38,6 +51,7 @@ allOf: > - amlogic,meson-gxbb-dwmac > - amlogic,meson-axg-dwmac > - amlogic,meson-g12a-dwmac > + - amlogic,t7-dwmac > > then: > properties: > @@ -93,6 +107,7 @@ allOf: > - amlogic,meson8m2-dwmac > - amlogic,meson-gxbb-dwmac > - amlogic,meson-axg-dwmac > + - amlogic,t7-dwmac > then: > properties: > rx-internal-delay-ps: > @@ -139,8 +154,10 @@ properties: > - amlogic,meson-gxbb-dwmac > - amlogic,meson-axg-dwmac > - amlogic,meson-g12a-dwmac > + - amlogic,t7-dwmac > contains: > enum: > + - snps,dwmac-4.00 > - snps,dwmac-3.70a > - snps,dwmac > > > -- > 2.52.0 > > [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 167 bytes --] _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: net: meson-dwmac: add T7 support 2026-09-24 17:21 ` Conor Dooley @ 2026-10-04 14:06 ` Lucas Tanure 2026-10-04 15:35 ` Lucas Tanure 0 siblings, 1 reply; 10+ messages in thread From: Lucas Tanure @ 2026-10-04 14:06 UTC (permalink / raw) To: Conor Dooley, xianwei.zhao Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, linux-spi, devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, netdev On 24/09/2026 18:21, Conor Dooley wrote: > On Thu, Sep 24, 2026 at 05:51:09AM +0000, Xianwei Zhao via B4 Relay wrote: >> From: Xianwei Zhao <xianwei.zhao@amlogic.com> >> >> Add the T7 compatible to the Meson DWMAC binding. >> >> The T7 DWMAC controller requires the following compatible combination: >> >> amlogic,t7-dwmac >> amlogic,meson-axg-dwmac >> snps,dwmac-4.00 >> >> Add a conditional schema check to enforce this compatible combination >> when amlogic,t7-dwmac is used. >> >> Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> >> --- >> .../devicetree/bindings/net/amlogic,meson-dwmac.yaml | 17 +++++++++++++++++ >> 1 file changed, 17 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml >> index 5c91716d1f21..b529ca5577a9 100644 >> --- a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml >> +++ b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml >> @@ -23,11 +23,24 @@ select: >> - amlogic,meson-gxbb-dwmac >> - amlogic,meson-axg-dwmac >> - amlogic,meson-g12a-dwmac >> + - amlogic,t7-dwmac >> required: >> - compatible >> >> allOf: >> - $ref: snps,dwmac.yaml# >> + - if: >> + properties: >> + compatible: >> + contains: >> + const: amlogic,t7-dwmac >> + then: >> + properties: >> + compatible: >> + items: >> + - const: amlogic,t7-dwmac >> + - const: amlogic,meson-axg-dwmac >> + - const: snps,dwmac-4.00 > > This is not how fallback compatibles are described. > > Instead of doing this, which affects all other compatibles in the file > by allowing dwmac-4.00 for all devices, please do this the normal way. > dwmac isn't special, it's just this binding that's weird! > Can whats currently in the binding (before this patch) be largely > replaced by just doing: > compatible: > oneOf: > - items: > - enum: > - amlogic,meson8b-dwmac > - amlogic,meson-gxbb-dwmac > - amlogic,meson-axg-dwmac > - amlogic,meson-g12a-dwmac > - const: snps,dwmac-3.70a > - const: snps,dwmac > - items: > - enum: > - amlogic,meson6-dwmac > - amlogic,meson8m2-dwmac > - const: snps,dwmac > > You'll have to check this yourself against the amlogic devicetrees and > see if this is correct, but with this you should be able to add your new > device without doing anything special. I have the same patch in my T7 work and checked it against the amlogic device trees: meson6 and meson8m2 use the two entry form, the rest add snps,dwmac-3.70a. dt_binding_check and dtbs_check are clean. The example needs fixing. Xianwei, from my VIM4: the MAC reports Synopsys ID 0x51, DWMAC_CORE_5_10 in common.h, so the core is 5.10a, not 4.00. And the controller reaches DRAM through a pipeline stage. Nothing claims its gate, sys_ampipe_eth, so clk_disable_unused switches it off. My node lists it as a fourth clock. Does the AN400 differ? I will send my series today so the code is on the list. Not a race: I will drop or rebase whatever overlaps once you tell me. Thanks, Lucas > > pw-bot: changes-requested > > Thanks, > Conor. > >> - if: >> properties: >> compatible: >> @@ -38,6 +51,7 @@ allOf: >> - amlogic,meson-gxbb-dwmac >> - amlogic,meson-axg-dwmac >> - amlogic,meson-g12a-dwmac >> + - amlogic,t7-dwmac >> >> then: >> properties: >> @@ -93,6 +107,7 @@ allOf: >> - amlogic,meson8m2-dwmac >> - amlogic,meson-gxbb-dwmac >> - amlogic,meson-axg-dwmac >> + - amlogic,t7-dwmac >> then: >> properties: >> rx-internal-delay-ps: >> @@ -139,8 +154,10 @@ properties: >> - amlogic,meson-gxbb-dwmac >> - amlogic,meson-axg-dwmac >> - amlogic,meson-g12a-dwmac >> + - amlogic,t7-dwmac >> contains: >> enum: >> + - snps,dwmac-4.00 >> - snps,dwmac-3.70a >> - snps,dwmac >> >> >> -- >> 2.52.0 >> >> _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: net: meson-dwmac: add T7 support 2026-10-04 14:06 ` Lucas Tanure @ 2026-10-04 15:35 ` Lucas Tanure 0 siblings, 0 replies; 10+ messages in thread From: Lucas Tanure @ 2026-10-04 15:35 UTC (permalink / raw) To: Conor Dooley, xianwei.zhao Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, linux-spi, devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, netdev On 04/10/2026 15:06, Lucas Tanure wrote: > On 24/09/2026 18:21, Conor Dooley wrote: >> On Thu, Sep 24, 2026 at 05:51:09AM +0000, Xianwei Zhao via B4 Relay >> wrote: >>> From: Xianwei Zhao <xianwei.zhao@amlogic.com> >>> >>> Add the T7 compatible to the Meson DWMAC binding. >>> >>> The T7 DWMAC controller requires the following compatible combination: >>> >>> amlogic,t7-dwmac >>> amlogic,meson-axg-dwmac >>> snps,dwmac-4.00 >>> >>> Add a conditional schema check to enforce this compatible combination >>> when amlogic,t7-dwmac is used. >>> >>> Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> >>> --- >>> .../devicetree/bindings/net/amlogic,meson-dwmac.yaml | 17 ++++++ >>> +++++++++++ >>> 1 file changed, 17 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/net/amlogic,meson- >>> dwmac.yaml b/Documentation/devicetree/bindings/net/amlogic,meson- >>> dwmac.yaml >>> index 5c91716d1f21..b529ca5577a9 100644 >>> --- a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml >>> +++ b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml >>> @@ -23,11 +23,24 @@ select: >>> - amlogic,meson-gxbb-dwmac >>> - amlogic,meson-axg-dwmac >>> - amlogic,meson-g12a-dwmac >>> + - amlogic,t7-dwmac >>> required: >>> - compatible >>> allOf: >>> - $ref: snps,dwmac.yaml# >>> + - if: >>> + properties: >>> + compatible: >>> + contains: >>> + const: amlogic,t7-dwmac >>> + then: >>> + properties: >>> + compatible: >>> + items: >>> + - const: amlogic,t7-dwmac >>> + - const: amlogic,meson-axg-dwmac >>> + - const: snps,dwmac-4.00 >> >> This is not how fallback compatibles are described. >> >> Instead of doing this, which affects all other compatibles in the file >> by allowing dwmac-4.00 for all devices, please do this the normal way. >> dwmac isn't special, it's just this binding that's weird! >> Can whats currently in the binding (before this patch) be largely >> replaced by just doing: >> compatible: >> oneOf: >> - items: >> - enum: >> - amlogic,meson8b-dwmac >> - amlogic,meson-gxbb-dwmac >> - amlogic,meson-axg-dwmac >> - amlogic,meson-g12a-dwmac >> - const: snps,dwmac-3.70a >> - const: snps,dwmac >> - items: >> - enum: >> - amlogic,meson6-dwmac >> - amlogic,meson8m2-dwmac >> - const: snps,dwmac >> >> You'll have to check this yourself against the amlogic devicetrees and >> see if this is correct, but with this you should be able to add your new >> device without doing anything special. > > I have the same patch in my T7 work and checked it against the amlogic > device trees: meson6 and meson8m2 use the two entry form, the rest add > snps,dwmac-3.70a. dt_binding_check and dtbs_check are clean. The example > needs fixing. > > Xianwei, from my VIM4: the MAC reports Synopsys ID 0x51, DWMAC_CORE_5_10 > in common.h, so the core is 5.10a, not 4.00. And the controller reaches > DRAM through a pipeline stage. Nothing claims its gate, sys_ampipe_eth, > so clk_disable_unused switches it off. My node lists it as a fourth > clock. Does the AN400 differ? > > I will send my series today so the code is on the list. Not a race: I > will drop or rebase whatever overlaps once you tell me. > > Thanks, > Lucas My Ethernet patches https://lore.kernel.org/linux-amlogic/20261004144046.391444-1-tanure@linux.com > >> >> pw-bot: changes-requested >> >> Thanks, >> Conor. >> >>> - if: >>> properties: >>> compatible: >>> @@ -38,6 +51,7 @@ allOf: >>> - amlogic,meson-gxbb-dwmac >>> - amlogic,meson-axg-dwmac >>> - amlogic,meson-g12a-dwmac >>> + - amlogic,t7-dwmac >>> then: >>> properties: >>> @@ -93,6 +107,7 @@ allOf: >>> - amlogic,meson8m2-dwmac >>> - amlogic,meson-gxbb-dwmac >>> - amlogic,meson-axg-dwmac >>> + - amlogic,t7-dwmac >>> then: >>> properties: >>> rx-internal-delay-ps: >>> @@ -139,8 +154,10 @@ properties: >>> - amlogic,meson-gxbb-dwmac >>> - amlogic,meson-axg-dwmac >>> - amlogic,meson-g12a-dwmac >>> + - amlogic,t7-dwmac >>> contains: >>> enum: >>> + - snps,dwmac-4.00 >>> - snps,dwmac-3.70a >>> - snps,dwmac >>> >>> -- >>> 2.52.0 >>> >>> _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 3/3] arm64: dts: amlogic: add T7 peripheral nodes 2026-09-24 5:51 [PATCH v2 0/3] t7: add some nodes for Amlogc t7 Xianwei Zhao via B4 Relay 2026-09-24 5:51 ` [PATCH v2 1/3] spi: dt-bindings: amlogic,meson-gx-spicc: add T7 compatible Xianwei Zhao via B4 Relay 2026-09-24 5:51 ` [PATCH v2 2/3] dt-bindings: net: meson-dwmac: add T7 support Xianwei Zhao via B4 Relay @ 2026-09-24 5:51 ` Xianwei Zhao via B4 Relay 2026-09-24 11:33 ` Ronald Claveau 2026-09-25 5:51 ` sashiko-bot 2026-09-28 16:29 ` (subset) [PATCH v2 0/3] t7: add some nodes for Amlogc t7 Mark Brown 3 siblings, 2 replies; 10+ messages in thread From: Xianwei Zhao via B4 Relay @ 2026-09-24 5:51 UTC (permalink / raw) To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni Cc: linux-spi, devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, netdev, Xianwei Zhao From: Xianwei Zhao <xianwei.zhao@amlogic.com> Add device tree descriptions for the peripherals on the Amlogic T7 SoC and the T7 A311D2 AN400 board. Add support for the T7 Ethernet controller, SPI controllers, I2C controllers, UARTs, pinctrl groups, regulators, and reserved memory. Also enable the Ethernet controller on the AN400 board. Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> --- .../boot/dts/amlogic/amlogic-t7-a311d2-an400.dts | 153 +++++++ arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi | 462 +++++++++++++++++++++ 2 files changed, 615 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts b/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts index ca7536f772ff..50df961fba75 100644 --- a/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts +++ b/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts @@ -24,12 +24,159 @@ memory@0 { 0x00000001 0x00000000 0x00000000 0x20000000>; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* 3 MiB reserved for ARM Trusted Firmware (BL31) */ + secmon_reserved: secmon@5000000 { + reg = <0x0 0x05000000 0x0 0x300000>; + no-map; + }; + + /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ + secmon_reserved_bl32: secmon@5300000 { + reg = <0x0 0x05300000 0x0 0x2000000>; + no-map; + }; + }; + xtal: xtal-clk { compatible = "fixed-clock"; clock-frequency = <24000000>; clock-output-names = "xtal"; #clock-cells = <0>; }; + + dc_in: regulator-dc-in { + compatible = "regulator-fixed"; + regulator-name = "12V"; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + regulator-boot-on; + regulator-always-on; + }; + + vcc_5v: regulator-vcc-5v { + compatible = "regulator-fixed"; + vin-supply = <&dc_in>; + regulator-name = "VCC5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio GPIOH_1 GPIO_ACTIVE_HIGH>; + startup-delay-us = <70000>; + enable-active-high; + regulator-boot-on; + regulator-always-on; + }; + + vddao_3v3: regulator-vddao-3v3 { + vin-supply = <&dc_in>; + compatible = "regulator-fixed"; + regulator-name = "VDDAO_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + startup-delay-us = <70000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd1v8_reg: regulator-vdd-1v8 { + vin-supply = <&dc_in>; + compatible = "regulator-fixed"; + regulator-name = "VDDIO_1V8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + startup-delay-us = <70000>; + regulator-boot-on; + regulator-always-on; + }; + + vddao_1v8: regulator-vddao-1v8 { + compatible = "regulator-fixed"; + vin-supply = <&vddao_3v3>; + regulator-name = "VDDAO_1V8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + vddio_3v3: regulator-vddio-3v3 { + compatible = "regulator-fixed"; + vin-supply = <&vddao_3v3>; + regulator-name = "VDDIO_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio GPIO_TEST_N GPIO_ACTIVE_HIGH>; + startup-delay-us = <70000>; + enable-active-high; + regulator-boot-on; + regulator-always-on; + }; + + sd_3v3: regulator-sd-3v3 { + compatible = "regulator-fixed"; + regulator-name = "SD_3V3: SD/TF"; + vin-supply = <&vddao_3v3>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio GPIOD_11 GPIO_ACTIVE_LOW>; /* 0R */ + regulator-boot-on; + regulator-always-on; + }; + + vddio_c: regulator-sd-1v8-3v3 { + compatible = "regulator-gpio"; + vin-supply = <&vddio_3v3>; + regulator-name = "VDDIO_C: SD/TF."; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + gpios = <&gpio GPIOE_2 GPIO_ACTIVE_HIGH>; + gpios-states = <1>; + + /* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */ + states = <1800000 1 + 3300000 0>; + }; + + vddq_1v1: regulator-vddq-1v1 { + compatible = "regulator-fixed"; + vin-supply = <&dc_in>; + regulator-name = "VDDQ_1V1"; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + gpio = <&gpio GPIOD_10 GPIO_ACTIVE_HIGH>; + startup-delay-us = <70000>; + enable-active-high; + regulator-boot-on; + regulator-always-on; + }; + + vddqlp_0v6: regulator-vddqlp-0v6 { + vin-supply = <&dc_in>; + compatible = "regulator-fixed"; + regulator-name = "VDDQLP_0V6"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <600000>; + startup-delay-us = <70000>; + enable-active-high; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ddr: regulator-vdd-ddr { + vin-supply = <&dc_in>; + compatible = "regulator-fixed"; + regulator-name = "VDD_DDR"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <800000>; + startup-delay-us = <70000>; + enable-active-high; + regulator-boot-on; + regulator-always-on; + }; }; &uart_a { @@ -37,3 +184,9 @@ &uart_a { clock-names = "xtal", "pclk", "baud"; status = "okay"; }; + +ðmac { + status = "okay"; + phy-handle = <&internal_ephy>; + phy-mode = "rmii"; +}; diff --git a/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi index 8f3f1c0579a0..33b0f09a85a4 100644 --- a/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi +++ b/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi @@ -5,10 +5,12 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/power/amlogic,t7-pwrc.h> +#include <dt-bindings/gpio/gpio.h> #include "amlogic-t7-reset.h" #include <dt-bindings/clock/amlogic,t7-scmi.h> #include <dt-bindings/clock/amlogic,t7-pll-clkc.h> #include <dt-bindings/clock/amlogic,t7-peripherals-clkc.h> +#include <dt-bindings/gpio/amlogic,t7-periphs-pinctrl.h> / { interrupt-parent = <&gic>; @@ -238,6 +240,30 @@ soc { #size-cells = <2>; ranges; + ethmac: ethernet@fdc00000 { + compatible = "amlogic,t7-dwmac", + "amlogic,meson-axg-dwmac", + "snps,dwmac-4.00"; + reg = <0x0 0xfdc00000 0x0 0x10000>, + <0x0 0xfe024000 0x0 0x8>; + interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "macirq"; + power-domains = <&pwrc PWRC_T7_ETH_ID>; + clocks = <&clkc_periphs CLKID_SYS_ETH>, + <&scmi_clk CLKID_FCLK_DIV2>, + <&scmi_clk CLKID_FCLK_50M>; + clock-names = "stmmaceth", "clkin0", "clkin1"; + rx-fifo-depth = <4096>; + tx-fifo-depth = <2048>; + status = "disabled"; + + mdio0: mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + }; + }; + gic: interrupt-controller@fff01000 { compatible = "arm,gic-400"; #interrupt-cells = <3>; @@ -386,6 +412,206 @@ mux { }; }; + i2c0_ao_pins2: i2c0-ao-pins2 { + mux { + groups = "i2c0_ao_sda_e", + "i2c0_ao_sck_e"; + function = "i2c0_ao"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c1_ao_pins: i2c1-ao-pins { + mux { + groups = "i2c1_ao_sda", + "i2c1_ao_sck"; + function = "i2c1_ao"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c0_pins1: i2c0-pins1 { + mux { + groups = "i2c0_sda_t", + "i2c0_sck_t"; + function = "i2c0"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c0_pins2: i2c0-pins2 { + mux { + groups = "i2c0_sda_h", + "i2c0_sck_h"; + function = "i2c0"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c1_pins1: i2c1-pins1 { + mux { + groups = "i2c1_sda", + "i2c1_sck"; + function = "i2c1"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c2_pins1: i2c2-pins1 { + mux { + groups = "i2c2_sda_x", + "i2c2_sck_x"; + function = "i2c2"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c2_pins2: i2c2-pins2 { + mux { + groups = "i2c2_sda_t", + "i2c2_sck_t"; + function = "i2c2"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c2_pins3: i2c2-pins3 { + mux { + groups = "i2c2_sda_m", + "i2c2_sck_m"; + function = "i2c2"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c3_pins1: i2c3-pins1 { + mux { + groups = "i2c3_sda_m", + "i2c3_sck_m"; + function = "i2c3"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c3_pins2: i2c3-pins2 { + mux { + groups = "i2c3_sda_h", + "i2c3_sck_h"; + function = "i2c3"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c4_pins1: i2c4-pins1 { + mux { + groups = "i2c4_sda_y", + "i2c4_sck_y"; + function = "i2c4"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c4_pins2: i2c4-pins2 { + mux { + groups = "i2c4_sda_h", + "i2c4_sck_h"; + function = "i2c4"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + i2c5_pins1: i2c5-pins1 { + mux { + groups = "i2c5_sda", + "i2c5_sck"; + function = "i2c5"; + drive-strength-microamp = <3000>; + bias-disable; + }; + }; + + spicc0_pins: spicc0-pins { + mux { + groups = "spi0_mosi", + "spi0_miso", + "spi0_sclk"; + function = "spi0"; + drive-strength-microamp = <2000>; + }; + }; + + spicc1_pins1: spicc1-pins1 { + mux { + groups = "spi1_mosi_c", + "spi1_miso_c", + "spi1_sclk_c"; + function = "spi1"; + drive-strength-microamp = <2000>; + }; + }; + + spicc1_pins2: spicc1-pins2 { + mux { + groups = "spi1_mosi_m", + "spi1_miso_m", + "spi1_sclk_m"; + function = "spi1"; + drive-strength-microamp = <2000>; + }; + }; + + spicc2_pins: spicc2-pins { + mux { + groups = "spi2_mosi", + "spi2_miso", + "spi2_sclk"; + function = "spi2"; + drive-strength-microamp = <2000>; + }; + }; + + spicc3_pins: spicc3-pins { + mux { + groups = "spi3_mosi", + "spi3_miso", + "spi3_sclk"; + function = "spi3"; + drive-strength-microamp = <2000>; + }; + }; + + spicc4_pins: spicc4-pins { + mux { + groups = "spi4_mosi", + "spi4_miso", + "spi4_sclk"; + function = "spi4"; + drive-strength-microamp = <2000>; + }; + }; + + spicc5_pins: spicc5-pins { + mux { + groups = "spi5_mosi", + "spi5_miso", + "spi5_sclk"; + function = "spi5"; + drive-strength-microamp = <2000>; + }; + }; + pwm_a_pins: pwm-a { mux { groups = "pwm_a"; @@ -622,6 +848,51 @@ uart_a: serial@78000 { status = "disabled"; }; + uart_b: serial@7a000 { + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; + reg = <0x0 0x7a000 0x0 0x18>; + interrupts = <GIC_SPI 169 IRQ_TYPE_EDGE_RISING>; + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_B>, <&xtal>; + clock-names = "xtal", "pclk", "baud"; + status = "disabled"; + }; + + uart_c: serial@7c000 { + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; + reg = <0x0 0x7c000 0x0 0x18>; + interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>; + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_C>, <&xtal>; + clock-names = "xtal", "pclk", "baud"; + status = "disabled"; + }; + + uart_d: serial@7e000 { + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; + reg = <0x0 0x7e000 0x0 0x18>; + interrupts = <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>; + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_D>, <&xtal>; + clock-names = "xtal", "pclk", "baud"; + status = "disabled"; + }; + + uart_e: serial@80000 { + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; + reg = <0x0 0x80000 0x0 0x18>; + interrupts = <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>; + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_E>, <&xtal>; + clock-names = "xtal", "pclk", "baud"; + status = "disabled"; + }; + + uart_f: serial@82000 { + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; + reg = <0x0 0x82000 0x0 0x18>; + interrupts = <GIC_SPI 173 IRQ_TYPE_EDGE_RISING>; + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_F>, <&xtal>; + clock-names = "xtal", "pclk", "baud"; + status = "disabled"; + }; + gp0: clock-controller@8080 { compatible = "amlogic,t7-gp0-pll"; reg = <0x0 0x8080 0x0 0x20>; @@ -688,6 +959,39 @@ sec_ao: ao-secure@10220 { amlogic,has-chip-id; }; + eth_phy: mdio-multiplexer@28000 { + compatible = "amlogic,g12a-mdio-mux"; + reg = <0x0 0x28000 0x0 0xa4>; + + clocks = <&clkc_periphs CLKID_SYS_ETHPHY>, + <&xtal>, + <&scmi_clk CLKID_FCLK_50M>; + clock-names = "pclk", "clkin0", "clkin1"; + mdio-parent-bus = <&mdio0>; + #address-cells = <1>; + #size-cells = <0>; + + ext_mdio: mdio@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + }; + + int_mdio: mdio@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + internal_ephy: ethernet-phy@8 { + compatible = "ethernet-phy-id0180.3301", + "ethernet-phy-ieee802.3-c22"; + interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>; + reg = <8>; + max-speed = <100>; + }; + }; + }; + pwm_ao_ef: pwm@30000 { compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm"; reg = <0x0 0x30000 0x0 0x24>; @@ -711,6 +1015,84 @@ clock-measurer@48000 { reg = <0x0 0x48000 0x0 0x1c>; }; + spicc3: spi@4a000 { + compatible = "amlogic,t7-spicc", "amlogic,meson-g12a-spicc"; + reg = <0x0 0x4a000 0x0 0x44>; + power-domains = <&pwrc PWRC_T7_SPICC3_ID>; + interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc_periphs CLKID_SYS_SPICC3>, + <&clkc_periphs CLKID_SPICC3>; + clock-names = "core", "pclk"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spicc4: spi@4c000 { + compatible = "amlogic,t7-spicc", "amlogic,meson-g12a-spicc"; + reg = <0x0 0x4c000 0x0 0x44>; + power-domains = <&pwrc PWRC_T7_SPICC4_ID>; + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc_periphs CLKID_SYS_SPICC4>, + <&clkc_periphs CLKID_SPICC4>; + clock-names = "core", "pclk"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spicc5: spi@4e000 { + compatible = "amlogic,t7-spicc", "amlogic,meson-g12a-spicc"; + reg = <0x0 0x4e000 0x0 0x44>; + power-domains = <&pwrc PWRC_T7_SPICC5_ID>; + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc_periphs CLKID_SYS_SPICC5>, + <&clkc_periphs CLKID_SPICC5>; + clock-names = "core", "pclk"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spicc0: spi@50000 { + compatible = "amlogic,t7-spicc", "amlogic,meson-g12a-spicc"; + reg = <0x0 0x50000 0x0 0x44>; + power-domains = <&pwrc PWRC_T7_SPICC0_ID>; + interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc_periphs CLKID_SYS_SPICC0>, + <&clkc_periphs CLKID_SPICC0>; + clock-names = "core", "pclk"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spicc1: spi@52000 { + compatible = "amlogic,t7-spicc", "amlogic,meson-g12a-spicc"; + reg = <0x0 0x52000 0x0 0x44>; + power-domains = <&pwrc PWRC_T7_SPICC1_ID>; + interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc_periphs CLKID_SYS_SPICC1>, + <&clkc_periphs CLKID_SPICC1>; + clock-names = "core", "pclk"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spicc2: spi@54000 { + compatible = "amlogic,t7-spicc", "amlogic,meson-g12a-spicc"; + reg = <0x0 0x54000 0x0 0x44>; + power-domains = <&pwrc PWRC_T7_SPICC2_ID>; + interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc_periphs CLKID_SYS_SPICC2>, + <&clkc_periphs CLKID_SPICC2>; + clock-names = "core", "pclk"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + pwm_ab: pwm@58000 { compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm"; reg = <0x0 0x58000 0x0 0x24>; @@ -756,6 +1138,86 @@ pwm_ao_cd: pwm@60000 { status = "disabled"; }; + i2c0: i2c@66000 { + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; + reg = <0x0 0x66000 0x0 0x48>; + interrupts = <GIC_SPI 160 IRQ_TYPE_EDGE_RISING>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&clkc_periphs CLKID_SYS_I2C_M_A>; + status = "disabled"; + }; + + i2c1: i2c@68000 { + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; + reg = <0x0 0x68000 0x0 0x48>; + interrupts = <GIC_SPI 161 IRQ_TYPE_EDGE_RISING>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&clkc_periphs CLKID_SYS_I2C_M_B>; + status = "disabled"; + }; + + i2c2: i2c@6a000 { + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; + reg = <0x0 0x6a000 0x0 0x48>; + interrupts = <GIC_SPI 162 IRQ_TYPE_EDGE_RISING>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&clkc_periphs CLKID_SYS_I2C_M_C>; + status = "disabled"; + }; + + i2c3: i2c@6c000 { + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; + reg = <0x0 0x6c000 0x0 0x48>; + interrupts = <GIC_SPI 163 IRQ_TYPE_EDGE_RISING>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&clkc_periphs CLKID_SYS_I2C_M_D>; + status = "disabled"; + }; + + i2c4: i2c@6e000 { + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; + reg = <0x0 0x6e000 0x0 0x48>; + interrupts = <GIC_SPI 164 IRQ_TYPE_EDGE_RISING>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&clkc_periphs CLKID_SYS_I2C_M_E>; + status = "disabled"; + }; + + i2c5: i2c@70000 { + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; + reg = <0x0 0x070000 0x0 0x48>; + interrupts = <GIC_SPI 165 IRQ_TYPE_EDGE_RISING>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&clkc_periphs CLKID_SYS_I2C_M_F>; + status = "disabled"; + }; + + i2c_ao_a: i2c@76000 { + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; + reg = <0x0 0x076000 0x0 0x48>; + interrupts = <GIC_SPI 330 IRQ_TYPE_EDGE_RISING>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&clkc_periphs CLKID_SYS_I2C_AO_A>; + status = "disabled"; + }; + + i2c_ao_b: i2c@86000 { + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; + reg = <0x0 0x086000 0x0 0x48>; + interrupts = <GIC_SPI 331 IRQ_TYPE_EDGE_RISING>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&clkc_periphs CLKID_SYS_I2C_AO_B>; + status = "disabled"; + }; + sd_emmc_a: mmc@88000 { compatible = "amlogic,t7-mmc", "amlogic,meson-axg-mmc"; reg = <0x0 0x88000 0x0 0x800>; -- 2.52.0 _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: amlogic: add T7 peripheral nodes 2026-09-24 5:51 ` [PATCH v2 3/3] arm64: dts: amlogic: add T7 peripheral nodes Xianwei Zhao via B4 Relay @ 2026-09-24 11:33 ` Ronald Claveau 2026-09-25 5:51 ` sashiko-bot 1 sibling, 0 replies; 10+ messages in thread From: Ronald Claveau @ 2026-09-24 11:33 UTC (permalink / raw) To: xianwei.zhao Cc: linux-spi, devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, netdev, Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni On 9/24/26 7:51 AM, Xianwei Zhao via B4 Relay wrote: > From: Xianwei Zhao <xianwei.zhao@amlogic.com> > > Add device tree descriptions for the peripherals on the Amlogic T7 > SoC and the T7 A311D2 AN400 board. > > Add support for the T7 Ethernet controller, SPI controllers, I2C > controllers, UARTs, pinctrl groups, regulators, and reserved memory. > Also enable the Ethernet controller on the AN400 board. > > Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> > --- > .../boot/dts/amlogic/amlogic-t7-a311d2-an400.dts | 153 +++++++ > arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi | 462 +++++++++++++++++++++ > 2 files changed, 615 insertions(+) > --snip-- > + > pwm_a_pins: pwm-a { > mux { > groups = "pwm_a"; > @@ -622,6 +848,51 @@ uart_a: serial@78000 { > status = "disabled"; > }; > > + uart_b: serial@7a000 { > + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; > + reg = <0x0 0x7a000 0x0 0x18>; > + interrupts = <GIC_SPI 169 IRQ_TYPE_EDGE_RISING>; > + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_B>, <&xtal>; > + clock-names = "xtal", "pclk", "baud"; > + status = "disabled"; > + }; > + > + uart_c: serial@7c000 { > + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; > + reg = <0x0 0x7c000 0x0 0x18>; > + interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>; > + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_C>, <&xtal>; > + clock-names = "xtal", "pclk", "baud"; > + status = "disabled"; > + }; > + > + uart_d: serial@7e000 { > + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; > + reg = <0x0 0x7e000 0x0 0x18>; > + interrupts = <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>; > + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_D>, <&xtal>; > + clock-names = "xtal", "pclk", "baud"; > + status = "disabled"; > + }; > + > + uart_e: serial@80000 { > + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; > + reg = <0x0 0x80000 0x0 0x18>; > + interrupts = <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>; > + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_E>, <&xtal>; > + clock-names = "xtal", "pclk", "baud"; > + status = "disabled"; > + }; > + > + uart_f: serial@82000 { > + compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; > + reg = <0x0 0x82000 0x0 0x18>; > + interrupts = <GIC_SPI 173 IRQ_TYPE_EDGE_RISING>; > + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_F>, <&xtal>; > + clock-names = "xtal", "pclk", "baud"; > + status = "disabled"; > + }; > + Thank you for this change Xianwei. Can you please move the UARTs in the right place between i2c_ao_a and i2c_ao_b ? > gp0: clock-controller@8080 { > compatible = "amlogic,t7-gp0-pll"; > reg = <0x0 0x8080 0x0 0x20>; > @@ -688,6 +959,39 @@ sec_ao: ao-secure@10220 { > amlogic,has-chip-id; > }; > --snip-- > pwm_ab: pwm@58000 { > compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm"; > reg = <0x0 0x58000 0x0 0x24>; > @@ -756,6 +1138,86 @@ pwm_ao_cd: pwm@60000 { > status = "disabled"; > }; > > + i2c0: i2c@66000 { > + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; > + reg = <0x0 0x66000 0x0 0x48>; > + interrupts = <GIC_SPI 160 IRQ_TYPE_EDGE_RISING>; > + #address-cells = <1>; > + #size-cells = <0>; > + clocks = <&clkc_periphs CLKID_SYS_I2C_M_A>; > + status = "disabled"; > + }; > + > + i2c1: i2c@68000 { > + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; > + reg = <0x0 0x68000 0x0 0x48>; > + interrupts = <GIC_SPI 161 IRQ_TYPE_EDGE_RISING>; > + #address-cells = <1>; > + #size-cells = <0>; > + clocks = <&clkc_periphs CLKID_SYS_I2C_M_B>; > + status = "disabled"; > + }; > + > + i2c2: i2c@6a000 { > + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; > + reg = <0x0 0x6a000 0x0 0x48>; > + interrupts = <GIC_SPI 162 IRQ_TYPE_EDGE_RISING>; > + #address-cells = <1>; > + #size-cells = <0>; > + clocks = <&clkc_periphs CLKID_SYS_I2C_M_C>; > + status = "disabled"; > + }; > + > + i2c3: i2c@6c000 { > + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; > + reg = <0x0 0x6c000 0x0 0x48>; > + interrupts = <GIC_SPI 163 IRQ_TYPE_EDGE_RISING>; > + #address-cells = <1>; > + #size-cells = <0>; > + clocks = <&clkc_periphs CLKID_SYS_I2C_M_D>; > + status = "disabled"; > + }; > + > + i2c4: i2c@6e000 { > + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; > + reg = <0x0 0x6e000 0x0 0x48>; > + interrupts = <GIC_SPI 164 IRQ_TYPE_EDGE_RISING>; > + #address-cells = <1>; > + #size-cells = <0>; > + clocks = <&clkc_periphs CLKID_SYS_I2C_M_E>; > + status = "disabled"; > + }; > + > + i2c5: i2c@70000 { > + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; > + reg = <0x0 0x070000 0x0 0x48>; > + interrupts = <GIC_SPI 165 IRQ_TYPE_EDGE_RISING>; > + #address-cells = <1>; > + #size-cells = <0>; > + clocks = <&clkc_periphs CLKID_SYS_I2C_M_F>; > + status = "disabled"; > + }; > + > + i2c_ao_a: i2c@76000 { > + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; > + reg = <0x0 0x076000 0x0 0x48>; > + interrupts = <GIC_SPI 330 IRQ_TYPE_EDGE_RISING>; > + #address-cells = <1>; > + #size-cells = <0>; > + clocks = <&clkc_periphs CLKID_SYS_I2C_AO_A>; > + status = "disabled"; > + }; > + > + i2c_ao_b: i2c@86000 { > + compatible = "amlogic,t7-i2c", "amlogic,meson-axg-i2c"; > + reg = <0x0 0x086000 0x0 0x48>; > + interrupts = <GIC_SPI 331 IRQ_TYPE_EDGE_RISING>; > + #address-cells = <1>; > + #size-cells = <0>; > + clocks = <&clkc_periphs CLKID_SYS_I2C_AO_B>; > + status = "disabled"; > + }; > + > sd_emmc_a: mmc@88000 { > compatible = "amlogic,t7-mmc", "amlogic,meson-axg-mmc"; > reg = <0x0 0x88000 0x0 0x800>; > -- Best regards, Ronald _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: amlogic: add T7 peripheral nodes 2026-09-24 5:51 ` [PATCH v2 3/3] arm64: dts: amlogic: add T7 peripheral nodes Xianwei Zhao via B4 Relay 2026-09-24 11:33 ` Ronald Claveau @ 2026-09-25 5:51 ` sashiko-bot 1 sibling, 0 replies; 10+ messages in thread From: sashiko-bot @ 2026-09-25 5:51 UTC (permalink / raw) To: Xianwei Zhao; +Cc: robh, neil.armstrong, linux-amlogic, devicetree, conor+dt Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Low] dts: useless regulator properties without gpio -- commit 61a44d137e93474e04a70d0ea481b570b8e6131c Author: Xianwei Zhao <xianwei.zhao@amlogic.com> arm64: dts: amlogic: add T7 peripheral nodes This patch adds device tree descriptions for the peripherals on the Amlogic T7 SoC and the T7 A311D2 AN400 board. It introduces support for the T7 Ethernet controller, SPI controllers, I2C controllers, UARTs, pinctrl groups, regulators, and reserved memory. > diff --git a/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts b/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts > index ca7536f772ff1..50df961fba75b 100644 > --- a/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts > +++ b/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts > @@ -24,12 +24,159 @@ memory@0 { [ ... ] > + vddqlp_0v6: regulator-vddqlp-0v6 { > + vin-supply = <&dc_in>; > + compatible = "regulator-fixed"; > + regulator-name = "VDDQLP_0V6"; > + regulator-min-microvolt = <600000>; > + regulator-max-microvolt = <600000>; > + startup-delay-us = <70000>; > + enable-active-high; > + regulator-boot-on; > + regulator-always-on; > + }; [Severity: Low] Is it intentional to include enable-active-high and startup-delay-us properties for vddqlp_0v6 without defining a control gpio? Without a gpio defined, the regulator core has no mechanism to toggle the regulator, meaning enable-active-high has no effect. This appears to be a device tree schema violation, although it does not cause a failure since the regulator is marked regulator-always-on. > + > + vdd_ddr: regulator-vdd-ddr { > + vin-supply = <&dc_in>; > + compatible = "regulator-fixed"; > + regulator-name = "VDD_DDR"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <800000>; > + startup-delay-us = <70000>; > + enable-active-high; > + regulator-boot-on; > + regulator-always-on; > + }; [Severity: Low] Does vdd_ddr also need a control gpio? Like vddqlp_0v6 above, it specifies enable-active-high and startup-delay-us but lacks a gpio property. -- Sashiko AI review · https://sashiko.dev/#/patchset/20260924-t7-node-new-v2-0-319d3c19b4b2@amlogic.com?part=3 _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: (subset) [PATCH v2 0/3] t7: add some nodes for Amlogc t7. 2026-09-24 5:51 [PATCH v2 0/3] t7: add some nodes for Amlogc t7 Xianwei Zhao via B4 Relay ` (2 preceding siblings ...) 2026-09-24 5:51 ` [PATCH v2 3/3] arm64: dts: amlogic: add T7 peripheral nodes Xianwei Zhao via B4 Relay @ 2026-09-28 16:29 ` Mark Brown 3 siblings, 0 replies; 10+ messages in thread From: Mark Brown @ 2026-09-28 16:29 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Xianwei Zhao Cc: linux-spi, devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, netdev On Thu, 24 Sep 2026 05:51:07 +0000, Xianwei Zhao wrote: > t7: add some nodes for Amlogc t7. > > Add device tree descriptions for the peripherals on the Amlogic T7 > SoC and the T7 A311D2 AN400 board. > > Add the Amlogic T7 SPICC compatible to the device tree binding. > Add the T7 compatible to the Meson DWMAC binding > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-7.4 Thanks! [1/3] spi: dt-bindings: amlogic,meson-gx-spicc: add T7 compatible https://git.kernel.org/broonie/spi/c/2ec5d38037b8 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-10-04 15:35 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2026-09-24 5:51 [PATCH v2 0/3] t7: add some nodes for Amlogc t7 Xianwei Zhao via B4 Relay 2026-09-24 5:51 ` [PATCH v2 1/3] spi: dt-bindings: amlogic,meson-gx-spicc: add T7 compatible Xianwei Zhao via B4 Relay 2026-09-24 5:51 ` [PATCH v2 2/3] dt-bindings: net: meson-dwmac: add T7 support Xianwei Zhao via B4 Relay 2026-09-24 17:21 ` Conor Dooley 2026-10-04 14:06 ` Lucas Tanure 2026-10-04 15:35 ` Lucas Tanure 2026-09-24 5:51 ` [PATCH v2 3/3] arm64: dts: amlogic: add T7 peripheral nodes Xianwei Zhao via B4 Relay 2026-09-24 11:33 ` Ronald Claveau 2026-09-25 5:51 ` sashiko-bot 2026-09-28 16:29 ` (subset) [PATCH v2 0/3] t7: add some nodes for Amlogc t7 Mark Brown
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®