[PATCH v7 00/10] arm64: dts: Add Arm Morello support

Vincenzo Frascino posted 10 patches 9 months, 3 weeks ago
.../devicetree/bindings/arm/arm,morello.yaml  |  35 ++
.../devicetree/bindings/arm/cpus.yaml         |   1 +
.../devicetree/bindings/arm/pmu.yaml          |   1 +
MAINTAINERS                                   |   7 +
arch/arm64/Kconfig.platforms                  |   5 +-
arch/arm64/boot/dts/arm/Makefile              |   1 +
arch/arm64/boot/dts/arm/morello-fvp.dts       |  77 +++++
arch/arm64/boot/dts/arm/morello-sdp.dts       | 157 +++++++++
arch/arm64/boot/dts/arm/morello.dtsi          | 323 ++++++++++++++++++
drivers/perf/arm_pmuv3.c                      |   2 +
10 files changed, 606 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/arm,morello.yaml
create mode 100644 arch/arm64/boot/dts/arm/morello-fvp.dts
create mode 100644 arch/arm64/boot/dts/arm/morello-sdp.dts
create mode 100644 arch/arm64/boot/dts/arm/morello.dtsi
[PATCH v7 00/10] arm64: dts: Add Arm Morello support
Posted by Vincenzo Frascino 9 months, 3 weeks ago
The Morello architecture is an experimental extension to Armv8.2-A,
which extends the AArch64 state with the principles proposed in
version 7 of the Capability Hardware Enhanced RISC Instructions
(CHERI) ISA [1].

This series adds dts support for the Arm Morello System Development
Platform.

[1] https://www.morello-project.org/

To simplify the testing a linux tree rebased on 6.14-rc4 is accessible
at [2].

[2] https://codeberg.org/vincenzo/linux/src/branch/morello/dts/v6

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org> 
Cc: Russell King <linux@armlinux.org.uk>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Jessica Clarke <jrtc27@jrtc27.com>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>

Changes
=======
v7:
  - Rebased on 6.14-rc4.
  - Added review info.
v6:
  - Introduce arm,morello.yml.
  - Split pmu patch.
  - Address review comments.
v5:
  - Add support for fvp.
  - Add support for pmu.
  - Address review comments.
  - Rebase on 6.14-rc1.
v4:
  - Add cache information.
  - Address review comments.
v3:
  - Address review comments.
  - Rebase on 6.13-rc5.
v2:
  - Addressed review comments.
  - Rebased on 6.13-rc4.
  - Renamed arm,morello to arm,morello-sdp for clarity.

Vincenzo Frascino (10):
  arm64: Kconfig: Update description for CONFIG_ARCH_VEXPRESS
  dt-bindings: arm: Add Morello compatibility
  dt-bindings: arm: Add Morello fvp compatibility
  dt-bindings: arm: Add Rainier compatibility
  dt-bindings: arm-pmu: Add support for ARM Rainier PMU
  perf: arm_pmuv3: Add support for ARM Rainier PMU
  arm64: dts: morello: Add support for common functionalities
  arm64: dts: morello: Add support for soc dts
  arm64: dts: morello: Add support for fvp dts
  MAINTAINERS: Add Vincenzo Frascino as Arm Morello Maintainer

 .../devicetree/bindings/arm/arm,morello.yaml  |  35 ++
 .../devicetree/bindings/arm/cpus.yaml         |   1 +
 .../devicetree/bindings/arm/pmu.yaml          |   1 +
 MAINTAINERS                                   |   7 +
 arch/arm64/Kconfig.platforms                  |   5 +-
 arch/arm64/boot/dts/arm/Makefile              |   1 +
 arch/arm64/boot/dts/arm/morello-fvp.dts       |  77 +++++
 arch/arm64/boot/dts/arm/morello-sdp.dts       | 157 +++++++++
 arch/arm64/boot/dts/arm/morello.dtsi          | 323 ++++++++++++++++++
 drivers/perf/arm_pmuv3.c                      |   2 +
 10 files changed, 606 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/arm,morello.yaml
 create mode 100644 arch/arm64/boot/dts/arm/morello-fvp.dts
 create mode 100644 arch/arm64/boot/dts/arm/morello-sdp.dts
 create mode 100644 arch/arm64/boot/dts/arm/morello.dtsi

-- 
2.43.0
Re: [PATCH v7 00/10] arm64: dts: Add Arm Morello support
Posted by Mark Rutland 9 months, 3 weeks ago
Hi Vincenzo,

On Fri, Feb 21, 2025 at 06:03:39PM +0000, Vincenzo Frascino wrote:
> The Morello architecture is an experimental extension to Armv8.2-A,
> which extends the AArch64 state with the principles proposed in
> version 7 of the Capability Hardware Enhanced RISC Instructions
> (CHERI) ISA [1].

None of the CHERI stuff is supported upstream, so from upstream's PoV
this is a low-volume dev-board/SoC with an experimental ARMv8.2-A CPU.

> This series adds dts support for the Arm Morello System Development
> Platform.

Do we actually need the dts for this board?

I have one on my desk; it boots vanilla Debian 12 via UEFI + ACPI just
fine, with the Debian 6.1.0-13-arm64 kernel.

Is there something that we can only do with the DT? i.e. some
functionality that isn't exposed via ACPI?

How do you expect this DT to be used?

Mark.

> 
> [1] https://www.morello-project.org/
> 
> To simplify the testing a linux tree rebased on 6.14-rc4 is accessible
> at [2].
> 
> [2] https://codeberg.org/vincenzo/linux/src/branch/morello/dts/v6
> 
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
> Cc: Conor Dooley <conor+dt@kernel.org>
> Cc: Liviu Dudau <liviu.dudau@arm.com>
> Cc: Sudeep Holla <sudeep.holla@arm.com>
> Cc: Lorenzo Pieralisi <lpieralisi@kernel.org> 
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Will Deacon <will@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Jessica Clarke <jrtc27@jrtc27.com>
> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
> 
> Changes
> =======
> v7:
>   - Rebased on 6.14-rc4.
>   - Added review info.
> v6:
>   - Introduce arm,morello.yml.
>   - Split pmu patch.
>   - Address review comments.
> v5:
>   - Add support for fvp.
>   - Add support for pmu.
>   - Address review comments.
>   - Rebase on 6.14-rc1.
> v4:
>   - Add cache information.
>   - Address review comments.
> v3:
>   - Address review comments.
>   - Rebase on 6.13-rc5.
> v2:
>   - Addressed review comments.
>   - Rebased on 6.13-rc4.
>   - Renamed arm,morello to arm,morello-sdp for clarity.
> 
> Vincenzo Frascino (10):
>   arm64: Kconfig: Update description for CONFIG_ARCH_VEXPRESS
>   dt-bindings: arm: Add Morello compatibility
>   dt-bindings: arm: Add Morello fvp compatibility
>   dt-bindings: arm: Add Rainier compatibility
>   dt-bindings: arm-pmu: Add support for ARM Rainier PMU
>   perf: arm_pmuv3: Add support for ARM Rainier PMU
>   arm64: dts: morello: Add support for common functionalities
>   arm64: dts: morello: Add support for soc dts
>   arm64: dts: morello: Add support for fvp dts
>   MAINTAINERS: Add Vincenzo Frascino as Arm Morello Maintainer
> 
>  .../devicetree/bindings/arm/arm,morello.yaml  |  35 ++
>  .../devicetree/bindings/arm/cpus.yaml         |   1 +
>  .../devicetree/bindings/arm/pmu.yaml          |   1 +
>  MAINTAINERS                                   |   7 +
>  arch/arm64/Kconfig.platforms                  |   5 +-
>  arch/arm64/boot/dts/arm/Makefile              |   1 +
>  arch/arm64/boot/dts/arm/morello-fvp.dts       |  77 +++++
>  arch/arm64/boot/dts/arm/morello-sdp.dts       | 157 +++++++++
>  arch/arm64/boot/dts/arm/morello.dtsi          | 323 ++++++++++++++++++
>  drivers/perf/arm_pmuv3.c                      |   2 +
>  10 files changed, 606 insertions(+), 3 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/arm,morello.yaml
>  create mode 100644 arch/arm64/boot/dts/arm/morello-fvp.dts
>  create mode 100644 arch/arm64/boot/dts/arm/morello-sdp.dts
>  create mode 100644 arch/arm64/boot/dts/arm/morello.dtsi
> 
> -- 
> 2.43.0
>
Re: [PATCH v7 00/10] arm64: dts: Add Arm Morello support
Posted by Vincenzo Frascino 9 months, 3 weeks ago
Hello Mark,

On 21/02/2025 18:54, Mark Rutland wrote:
> Hi Vincenzo,
> 
> On Fri, Feb 21, 2025 at 06:03:39PM +0000, Vincenzo Frascino wrote:
>> The Morello architecture is an experimental extension to Armv8.2-A,
>> which extends the AArch64 state with the principles proposed in
>> version 7 of the Capability Hardware Enhanced RISC Instructions
>> (CHERI) ISA [1].
> 
> None of the CHERI stuff is supported upstream, so from upstream's PoV
> this is a low-volume dev-board/SoC with an experimental ARMv8.2-A CPU.
>

Agreed, I have no plans to upstream Morello support beyond the device tree.

>> This series adds dts support for the Arm Morello System Development
>> Platform.
> 
> Do we actually need the dts for this board?
> 
> I have one on my desk; it boots vanilla Debian 12 via UEFI + ACPI just
> fine, with the Debian 6.1.0-13-arm64 kernel.
> 
> Is there something that we can only do with the DT? i.e. some
> functionality that isn't exposed via ACPI?
> 
> How do you expect this DT to be used?
> 

There are functionalities that are not exposed via ACPI, e.g. gpu, dpu, i2c for
the phy, etc. My aim to have upstream support for all the hardware exposed by
the platform.

Note: This series contains only the basic infrastructure, the plan is add
progressively more features in the future.

Vincenzo

> Mark.
> 
>>
>> [1] https://www.morello-project.org/
>>
>> To simplify the testing a linux tree rebased on 6.14-rc4 is accessible
>> at [2].
>>
>> [2] https://codeberg.org/vincenzo/linux/src/branch/morello/dts/v6
>>
>> Cc: Linus Walleij <linus.walleij@linaro.org>
>> Cc: Rob Herring <robh@kernel.org>
>> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
>> Cc: Conor Dooley <conor+dt@kernel.org>
>> Cc: Liviu Dudau <liviu.dudau@arm.com>
>> Cc: Sudeep Holla <sudeep.holla@arm.com>
>> Cc: Lorenzo Pieralisi <lpieralisi@kernel.org> 
>> Cc: Russell King <linux@armlinux.org.uk>
>> Cc: Will Deacon <will@kernel.org>
>> Cc: Mark Rutland <mark.rutland@arm.com>
>> Cc: Jessica Clarke <jrtc27@jrtc27.com>
>> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
>>
>> Changes
>> =======
>> v7:
>>   - Rebased on 6.14-rc4.
>>   - Added review info.
>> v6:
>>   - Introduce arm,morello.yml.
>>   - Split pmu patch.
>>   - Address review comments.
>> v5:
>>   - Add support for fvp.
>>   - Add support for pmu.
>>   - Address review comments.
>>   - Rebase on 6.14-rc1.
>> v4:
>>   - Add cache information.
>>   - Address review comments.
>> v3:
>>   - Address review comments.
>>   - Rebase on 6.13-rc5.
>> v2:
>>   - Addressed review comments.
>>   - Rebased on 6.13-rc4.
>>   - Renamed arm,morello to arm,morello-sdp for clarity.
>>
>> Vincenzo Frascino (10):
>>   arm64: Kconfig: Update description for CONFIG_ARCH_VEXPRESS
>>   dt-bindings: arm: Add Morello compatibility
>>   dt-bindings: arm: Add Morello fvp compatibility
>>   dt-bindings: arm: Add Rainier compatibility
>>   dt-bindings: arm-pmu: Add support for ARM Rainier PMU
>>   perf: arm_pmuv3: Add support for ARM Rainier PMU
>>   arm64: dts: morello: Add support for common functionalities
>>   arm64: dts: morello: Add support for soc dts
>>   arm64: dts: morello: Add support for fvp dts
>>   MAINTAINERS: Add Vincenzo Frascino as Arm Morello Maintainer
>>
>>  .../devicetree/bindings/arm/arm,morello.yaml  |  35 ++
>>  .../devicetree/bindings/arm/cpus.yaml         |   1 +
>>  .../devicetree/bindings/arm/pmu.yaml          |   1 +
>>  MAINTAINERS                                   |   7 +
>>  arch/arm64/Kconfig.platforms                  |   5 +-
>>  arch/arm64/boot/dts/arm/Makefile              |   1 +
>>  arch/arm64/boot/dts/arm/morello-fvp.dts       |  77 +++++
>>  arch/arm64/boot/dts/arm/morello-sdp.dts       | 157 +++++++++
>>  arch/arm64/boot/dts/arm/morello.dtsi          | 323 ++++++++++++++++++
>>  drivers/perf/arm_pmuv3.c                      |   2 +
>>  10 files changed, 606 insertions(+), 3 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/arm/arm,morello.yaml
>>  create mode 100644 arch/arm64/boot/dts/arm/morello-fvp.dts
>>  create mode 100644 arch/arm64/boot/dts/arm/morello-sdp.dts
>>  create mode 100644 arch/arm64/boot/dts/arm/morello.dtsi
>>
>> -- 
>> 2.43.0
>>

-- 
Regards,
Vincenzo
Re: [PATCH v7 00/10] arm64: dts: Add Arm Morello support
Posted by Sudeep Holla 9 months, 3 weeks ago
Hi Mark,

Thanks for raising valid points/concerns.

On Mon, Feb 24, 2025 at 10:08:18AM +0000, Vincenzo Frascino wrote:
> Hello Mark,
>
> On 21/02/2025 18:54, Mark Rutland wrote:
> > Hi Vincenzo,
> >
> > On Fri, Feb 21, 2025 at 06:03:39PM +0000, Vincenzo Frascino wrote:
> >> The Morello architecture is an experimental extension to Armv8.2-A,
> >> which extends the AArch64 state with the principles proposed in
> >> version 7 of the Capability Hardware Enhanced RISC Instructions
> >> (CHERI) ISA [1].
> >
> > None of the CHERI stuff is supported upstream, so from upstream's PoV
> > this is a low-volume dev-board/SoC with an experimental ARMv8.2-A CPU.
> >

I understand and agree with your concerns.

>
> Agreed, I have no plans to upstream Morello support beyond the device tree.
>
> >> This series adds dts support for the Arm Morello System Development
> >> Platform.
> >
> > Do we actually need the dts for this board?
> >
> > I have one on my desk; it boots vanilla Debian 12 via UEFI + ACPI just
> > fine, with the Debian 6.1.0-13-arm64 kernel.
> >
> > Is there something that we can only do with the DT? i.e. some
> > functionality that isn't exposed via ACPI?
> >
> > How do you expect this DT to be used?
> >
>
> There are functionalities that are not exposed via ACPI, e.g. gpu, dpu, i2c for
> the phy, etc. My aim to have upstream support for all the hardware exposed by
> the platform.
>

Does this address some of your concerns ? I do understand some of these
are not well addressed in ACPI and hence people use DT as an alternative.

> Note: This series contains only the basic infrastructure, the plan is add
> progressively more features in the future.
>

I was thinking of queuing this in -next if all the bindings are acked.
Let me know if you still have concerns and would like to avoid getting
these merged. I will hold off then.

--
Regards,
Sudeep
Re: [PATCH v7 00/10] arm64: dts: Add Arm Morello support
Posted by Mark Rutland 9 months, 3 weeks ago
Hi Sudeep,

On Tue, Feb 25, 2025 at 12:07:16PM +0000, Sudeep Holla wrote:
> On Mon, Feb 24, 2025 at 10:08:18AM +0000, Vincenzo Frascino wrote:
> > On 21/02/2025 18:54, Mark Rutland wrote:
> > > On Fri, Feb 21, 2025 at 06:03:39PM +0000, Vincenzo Frascino wrote:
> > >> This series adds dts support for the Arm Morello System Development
> > >> Platform.
> > >
> > > Do we actually need the dts for this board?
> > >
> > > I have one on my desk; it boots vanilla Debian 12 via UEFI + ACPI just
> > > fine, with the Debian 6.1.0-13-arm64 kernel.
> > >
> > > Is there something that we can only do with the DT? i.e. some
> > > functionality that isn't exposed via ACPI?
> > >
> > > How do you expect this DT to be used?
> >
> > There are functionalities that are not exposed via ACPI, e.g. gpu, dpu, i2c for
> > the phy, etc. My aim to have upstream support for all the hardware exposed by
> > the platform.
> 
> Does this address some of your concerns ? I do understand some of these
> are not well addressed in ACPI and hence people use DT as an alternative.

Yep; I'm happy with this so long as there's an actual functional reason
to have the DT, which it seems there is.

It would have been nice for that to be spelled out a bit clearer in the
cover / commit messages, but that's not important and doesn't need a
respin.

> I was thinking of queuing this in -next if all the bindings are acked.
> Let me know if you still have concerns and would like to avoid getting
> these merged. I will hold off then.

No need to hold off.

Sorry for the confusion; I should have been clearer with my questions.

Mark.
Re: [PATCH v7 00/10] arm64: dts: Add Arm Morello support
Posted by Sudeep Holla 9 months, 3 weeks ago
On Tue, Feb 25, 2025 at 12:14:31PM +0000, Mark Rutland wrote:
> Hi Sudeep,
> 
> On Tue, Feb 25, 2025 at 12:07:16PM +0000, Sudeep Holla wrote:
> > On Mon, Feb 24, 2025 at 10:08:18AM +0000, Vincenzo Frascino wrote:
> > > On 21/02/2025 18:54, Mark Rutland wrote:
> > > > On Fri, Feb 21, 2025 at 06:03:39PM +0000, Vincenzo Frascino wrote:
> > > >> This series adds dts support for the Arm Morello System Development
> > > >> Platform.
> > > >
> > > > Do we actually need the dts for this board?
> > > >
> > > > I have one on my desk; it boots vanilla Debian 12 via UEFI + ACPI just
> > > > fine, with the Debian 6.1.0-13-arm64 kernel.
> > > >
> > > > Is there something that we can only do with the DT? i.e. some
> > > > functionality that isn't exposed via ACPI?
> > > >
> > > > How do you expect this DT to be used?
> > >
> > > There are functionalities that are not exposed via ACPI, e.g. gpu, dpu, i2c for
> > > the phy, etc. My aim to have upstream support for all the hardware exposed by
> > > the platform.
> > 
> > Does this address some of your concerns ? I do understand some of these
> > are not well addressed in ACPI and hence people use DT as an alternative.
> 
> Yep; I'm happy with this so long as there's an actual functional reason
> to have the DT, which it seems there is.
> 
> It would have been nice for that to be spelled out a bit clearer in the
> cover / commit messages, but that's not important and doesn't need a
> respin.
>

I can add that info in my pull request as it is very valid point. One needs
to know why we are pushing DTS now after couple of years after the boards
are available and why DT over ACPI which is shipped with the device.

> > I was thinking of queuing this in -next if all the bindings are acked.
> > Let me know if you still have concerns and would like to avoid getting
> > these merged. I will hold off then.
> 
> No need to hold off.
> 
> Sorry for the confusion; I should have been clearer with my questions.
> 

No confusion as such, good to ask explicitly and get the motivation for
this series captured on the list. Since I had gone through this motion
even with N1SDP which for some reasons I don't know didn't appear on the
list, I didn't ask it and implicitly assumed similar reasoning.

So, it is good that you asked and got it answered for wider audience here.

-- 
Regards,
Sudeep
Re: [PATCH v7 00/10] arm64: dts: Add Arm Morello support
Posted by Will Deacon 9 months, 2 weeks ago
On Fri, 21 Feb 2025 18:03:39 +0000, Vincenzo Frascino wrote:
> The Morello architecture is an experimental extension to Armv8.2-A,
> which extends the AArch64 state with the principles proposed in
> version 7 of the Capability Hardware Enhanced RISC Instructions
> (CHERI) ISA [1].
> 
> This series adds dts support for the Arm Morello System Development
> Platform.
> 
> [...]

Applied PMU driver change to will (for-next/perf), thanks!

[06/10] perf: arm_pmuv3: Add support for ARM Rainier PMU
        https://git.kernel.org/will/c/0424b1a81a42

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev
Re: (subset) [PATCH v7 00/10] arm64: dts: Add Arm Morello support
Posted by Sudeep Holla 9 months, 3 weeks ago
On Fri, 21 Feb 2025 18:03:39 +0000, Vincenzo Frascino wrote:
> The Morello architecture is an experimental extension to Armv8.2-A,
> which extends the AArch64 state with the principles proposed in
> version 7 of the Capability Hardware Enhanced RISC Instructions
> (CHERI) ISA [1].
> 
> This series adds dts support for the Arm Morello System Development
> Platform.
> 
> [...]

Applied to sudeep.holla/linux (for-next/juno/updates), thanks!

[01/10] arm64: Kconfig: Update description for CONFIG_ARCH_VEXPRESS
        https://git.kernel.org/sudeep.holla/c/a3b955ac911b
[02/10] dt-bindings: arm: Add Morello compatibility
        https://git.kernel.org/sudeep.holla/c/51e877f12d23
[03/10] dt-bindings: arm: Add Morello fvp compatibility
        https://git.kernel.org/sudeep.holla/c/73d251e7068c
[04/10] dt-bindings: arm: Add Rainier compatibility
        https://git.kernel.org/sudeep.holla/c/91ee16438965
[05/10] dt-bindings: arm-pmu: Add support for ARM Rainier PMU
        https://git.kernel.org/sudeep.holla/c/807945ae7325
[07/10] arm64: dts: morello: Add support for common functionalities
        https://git.kernel.org/sudeep.holla/c/8fc53e26fdd8
[08/10] arm64: dts: morello: Add support for soc dts
        https://git.kernel.org/sudeep.holla/c/7f6838da3c67
[09/10] arm64: dts: morello: Add support for fvp dts
        https://git.kernel.org/sudeep.holla/c/34f3b3745ce5
[10/10] MAINTAINERS: Add Vincenzo Frascino as Arm Morello Maintainer
        https://git.kernel.org/sudeep.holla/c/6ceb0dd64727
--
Regards,
Sudeep