Skip to content

Commit

Permalink
arm64: dts: ti: k3*: Introduce reg definition for interrupt routers
Browse files Browse the repository at this point in the history
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: Tero Kristo <kristo@kernel.org>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210511194821.13919-1-nm@ti.com
  • Loading branch information
Nishanth Menon committed May 14, 2021
1 parent 9ecdb6d commit cab12ba
Showing 8 changed files with 22 additions and 11 deletions.
3 changes: 2 additions & 1 deletion arch/arm64/boot/dts/ti/k3-am64-main.dtsi
Original file line number Diff line number Diff line change
@@ -373,8 +373,9 @@
clocks = <&k3_clks 145 0>;
};

main_gpio_intr: interrupt-controller0 {
main_gpio_intr: interrupt-controller@a00000 {
compatible = "ti,sci-intr";
reg = <0x00 0x00a00000 0x00 0x800>;
ti,intr-trigger-type = <1>;
interrupt-controller;
interrupt-parent = <&gic500>;
3 changes: 2 additions & 1 deletion arch/arm64/boot/dts/ti/k3-am64-mcu.dtsi
Original file line number Diff line number Diff line change
@@ -74,8 +74,9 @@
clocks = <&k3_clks 148 0>;
};

mcu_gpio_intr: interrupt-controller1 {
mcu_gpio_intr: interrupt-controller@4210000 {
compatible = "ti,sci-intr";
reg = <0x00 0x04210000 0x00 0x200>;
ti,intr-trigger-type = <1>;
interrupt-controller;
interrupt-parent = <&gic500>;
6 changes: 4 additions & 2 deletions arch/arm64/boot/dts/ti/k3-am65-main.dtsi
Original file line number Diff line number Diff line change
@@ -433,8 +433,9 @@
#phy-cells = <0>;
};

intr_main_gpio: interrupt-controller0 {
intr_main_gpio: interrupt-controller@a00000 {
compatible = "ti,sci-intr";
reg = <0x0 0x00a00000 0x0 0x400>;
ti,intr-trigger-type = <1>;
interrupt-controller;
interrupt-parent = <&gic500>;
@@ -454,8 +455,9 @@

ti,sci-dev-id = <118>;

intr_main_navss: interrupt-controller1 {
intr_main_navss: interrupt-controller@310e0000 {
compatible = "ti,sci-intr";
reg = <0x0 0x310e0000 0x0 0x2000>;
ti,intr-trigger-type = <4>;
interrupt-controller;
interrupt-parent = <&gic500>;
3 changes: 2 additions & 1 deletion arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
Original file line number Diff line number Diff line change
@@ -69,8 +69,9 @@
power-domains = <&k3_pds 115 TI_SCI_PD_EXCLUSIVE>;
};

intr_wkup_gpio: interrupt-controller2 {
intr_wkup_gpio: interrupt-controller@42200000 {
compatible = "ti,sci-intr";
reg = <0x42200000 0x200>;
ti,intr-trigger-type = <1>;
interrupt-controller;
interrupt-parent = <&gic500>;
6 changes: 4 additions & 2 deletions arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
Original file line number Diff line number Diff line change
@@ -68,8 +68,9 @@
};
};

main_gpio_intr: interrupt-controller0 {
main_gpio_intr: interrupt-controller@a00000 {
compatible = "ti,sci-intr";
reg = <0x00 0x00a00000 0x00 0x800>;
ti,intr-trigger-type = <1>;
interrupt-controller;
interrupt-parent = <&gic500>;
@@ -88,8 +89,9 @@
dma-coherent;
dma-ranges;

main_navss_intr: interrupt-controller1 {
main_navss_intr: interrupt-controller@310e0000 {
compatible = "ti,sci-intr";
reg = <0x00 0x310e0000 0x00 0x4000>;
ti,intr-trigger-type = <4>;
interrupt-controller;
interrupt-parent = <&gic500>;
3 changes: 2 additions & 1 deletion arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
Original file line number Diff line number Diff line change
@@ -96,8 +96,9 @@
clock-names = "fclk";
};

wkup_gpio_intr: interrupt-controller2 {
wkup_gpio_intr: interrupt-controller@42200000 {
compatible = "ti,sci-intr";
reg = <0x00 0x42200000 0x00 0x400>;
ti,intr-trigger-type = <1>;
interrupt-controller;
interrupt-parent = <&gic500>;
6 changes: 4 additions & 2 deletions arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
Original file line number Diff line number Diff line change
@@ -76,8 +76,9 @@
};
};

main_gpio_intr: interrupt-controller0 {
main_gpio_intr: interrupt-controller@a00000 {
compatible = "ti,sci-intr";
reg = <0x00 0x00a00000 0x00 0x800>;
ti,intr-trigger-type = <1>;
interrupt-controller;
interrupt-parent = <&gic500>;
@@ -97,8 +98,9 @@

ti,sci-dev-id = <199>;

main_navss_intr: interrupt-controller1 {
main_navss_intr: interrupt-controller@310e0000 {
compatible = "ti,sci-intr";
reg = <0x0 0x310e0000 0x0 0x4000>;
ti,intr-trigger-type = <4>;
interrupt-controller;
interrupt-parent = <&gic500>;
3 changes: 2 additions & 1 deletion arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
Original file line number Diff line number Diff line change
@@ -96,8 +96,9 @@
clock-names = "fclk";
};

wkup_gpio_intr: interrupt-controller2 {
wkup_gpio_intr: interrupt-controller@42200000 {
compatible = "ti,sci-intr";
reg = <0x00 0x42200000 0x00 0x400>;
ti,intr-trigger-type = <1>;
interrupt-controller;
interrupt-parent = <&gic500>;

0 comments on commit cab12ba

Please sign in to comment.