Commit cab12bad authored by Nishanth Menon's avatar Nishanth Menon

arm64: dts: ti: k3*: Introduce reg definition for interrupt routers

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.
Reviewed-by: default avatarTero Kristo <kristo@kernel.org>
Reviewed-by: default avatarLokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: default avatarNishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210511194821.13919-1-nm@ti.com
parent 9ecdb6d6
...@@ -373,8 +373,9 @@ main_spi4: spi@20140000 { ...@@ -373,8 +373,9 @@ main_spi4: spi@20140000 {
clocks = <&k3_clks 145 0>; clocks = <&k3_clks 145 0>;
}; };
main_gpio_intr: interrupt-controller0 { main_gpio_intr: interrupt-controller@a00000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x00 0x00a00000 0x00 0x800>;
ti,intr-trigger-type = <1>; ti,intr-trigger-type = <1>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
......
...@@ -74,8 +74,9 @@ mcu_spi1: spi@4b10000 { ...@@ -74,8 +74,9 @@ mcu_spi1: spi@4b10000 {
clocks = <&k3_clks 148 0>; clocks = <&k3_clks 148 0>;
}; };
mcu_gpio_intr: interrupt-controller1 { mcu_gpio_intr: interrupt-controller@4210000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x00 0x04210000 0x00 0x200>;
ti,intr-trigger-type = <1>; ti,intr-trigger-type = <1>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
......
...@@ -433,8 +433,9 @@ usb1_phy: phy@4110000 { ...@@ -433,8 +433,9 @@ usb1_phy: phy@4110000 {
#phy-cells = <0>; #phy-cells = <0>;
}; };
intr_main_gpio: interrupt-controller0 { intr_main_gpio: interrupt-controller@a00000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x0 0x00a00000 0x0 0x400>;
ti,intr-trigger-type = <1>; ti,intr-trigger-type = <1>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
...@@ -454,8 +455,9 @@ main_navss: bus@30800000 { ...@@ -454,8 +455,9 @@ main_navss: bus@30800000 {
ti,sci-dev-id = <118>; ti,sci-dev-id = <118>;
intr_main_navss: interrupt-controller1 { intr_main_navss: interrupt-controller@310e0000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x0 0x310e0000 0x0 0x2000>;
ti,intr-trigger-type = <4>; ti,intr-trigger-type = <4>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
......
...@@ -69,8 +69,9 @@ wkup_i2c0: i2c@42120000 { ...@@ -69,8 +69,9 @@ wkup_i2c0: i2c@42120000 {
power-domains = <&k3_pds 115 TI_SCI_PD_EXCLUSIVE>; power-domains = <&k3_pds 115 TI_SCI_PD_EXCLUSIVE>;
}; };
intr_wkup_gpio: interrupt-controller2 { intr_wkup_gpio: interrupt-controller@42200000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x42200000 0x200>;
ti,intr-trigger-type = <1>; ti,intr-trigger-type = <1>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
......
...@@ -68,8 +68,9 @@ gic_its: msi-controller@1820000 { ...@@ -68,8 +68,9 @@ gic_its: msi-controller@1820000 {
}; };
}; };
main_gpio_intr: interrupt-controller0 { main_gpio_intr: interrupt-controller@a00000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x00 0x00a00000 0x00 0x800>;
ti,intr-trigger-type = <1>; ti,intr-trigger-type = <1>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
...@@ -88,8 +89,9 @@ main_navss: bus@30000000 { ...@@ -88,8 +89,9 @@ main_navss: bus@30000000 {
dma-coherent; dma-coherent;
dma-ranges; dma-ranges;
main_navss_intr: interrupt-controller1 { main_navss_intr: interrupt-controller@310e0000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x00 0x310e0000 0x00 0x4000>;
ti,intr-trigger-type = <4>; ti,intr-trigger-type = <4>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
......
...@@ -96,8 +96,9 @@ mcu_uart0: serial@40a00000 { ...@@ -96,8 +96,9 @@ mcu_uart0: serial@40a00000 {
clock-names = "fclk"; clock-names = "fclk";
}; };
wkup_gpio_intr: interrupt-controller2 { wkup_gpio_intr: interrupt-controller@42200000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x00 0x42200000 0x00 0x400>;
ti,intr-trigger-type = <1>; ti,intr-trigger-type = <1>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
......
...@@ -76,8 +76,9 @@ gic_its: msi-controller@1820000 { ...@@ -76,8 +76,9 @@ gic_its: msi-controller@1820000 {
}; };
}; };
main_gpio_intr: interrupt-controller0 { main_gpio_intr: interrupt-controller@a00000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x00 0x00a00000 0x00 0x800>;
ti,intr-trigger-type = <1>; ti,intr-trigger-type = <1>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
...@@ -97,8 +98,9 @@ main_navss: bus@30000000 { ...@@ -97,8 +98,9 @@ main_navss: bus@30000000 {
ti,sci-dev-id = <199>; ti,sci-dev-id = <199>;
main_navss_intr: interrupt-controller1 { main_navss_intr: interrupt-controller@310e0000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x0 0x310e0000 0x0 0x4000>;
ti,intr-trigger-type = <4>; ti,intr-trigger-type = <4>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
......
...@@ -96,8 +96,9 @@ mcu_uart0: serial@40a00000 { ...@@ -96,8 +96,9 @@ mcu_uart0: serial@40a00000 {
clock-names = "fclk"; clock-names = "fclk";
}; };
wkup_gpio_intr: interrupt-controller2 { wkup_gpio_intr: interrupt-controller@42200000 {
compatible = "ti,sci-intr"; compatible = "ti,sci-intr";
reg = <0x00 0x42200000 0x00 0x400>;
ti,intr-trigger-type = <1>; ti,intr-trigger-type = <1>;
interrupt-controller; interrupt-controller;
interrupt-parent = <&gic500>; interrupt-parent = <&gic500>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment