Re: [PATCH] arm64: dts: ti: k3*: Introduce reg definition for interrupt routers

From: Lokesh Vutla
Date: Tue May 11 2021 - 12:24:12 EST




On 10/05/21 8:25 pm, Nishanth Menon wrote:
> Interrupt routers are memory mapped peripherals, that are organized
> in our dts bus hierarchy to closely represents the actual hardware
> behavior.
>
> However, without explicitly calling out the reg property, using
> 2021.03+ dt-schema package, this exposes the following problem with
> dtbs_check:
>
> /arch/arm64/boot/dts/ti/k3-am654-base-board.dt.yaml: bus@100000:
> interrupt-controller0: {'type': 'object'} is not allowed for
> {'compatible': ['ti,sci-intr'], .....
>
> Even though we don't use interrupt router directly via memory mapped
> registers and have to use it via the system controller, the hardware
> block is memory mapped, so describe the base address in device tree.
>
> This is a valid, comprehensive description of hardware and permitted
> by the existing ti,sci-intr schema.
>
> Signed-off-by: Nishanth Menon <nm@xxxxxx>
> ---
>
> if possible, I'd like to pick this fixup for 5.13 window..
>
> arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 3 ++-
> arch/arm64/boot/dts/ti/k3-am64-mcu.dtsi | 3 ++-
> arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 6 ++++--
> arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi | 3 ++-
> arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 6 ++++--
> arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 3 ++-
> arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 6 ++++--
> arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 3 ++-
> 8 files changed, 22 insertions(+), 11 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> index b2bcbf23eefd..a49e41021573 100644
> --- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> @@ -373,8 +373,9 @@ main_spi4: spi@20140000 {
> clocks = <&k3_clks 145 0>;
> };
>
> - main_gpio_intr: interrupt-controller0 {
> + main_gpio_intr: interrupt-controller@a00000 {
> compatible = "ti,sci-intr";
> + reg = <0x00 0xa00000 0x00 0x800>;

IIRC, we are going with 0x00a00000 (0x%8x) for all regs. With that fixed for all
regs:

Reviewed-by: Lokesh Vutla <lokeshvutla@xxxxxx>

Thanks and regards,
Lokesh