OSDN Git Service

ARM: dts: lpc32xx: reparent SIC1 and SIC2 interrupts from MIC
authorVladimir Zapolskiy <vz@mleia.com>
Mon, 25 Apr 2016 21:02:23 +0000 (00:02 +0300)
committerVladimir Zapolskiy <vz@mleia.com>
Wed, 27 Apr 2016 21:37:15 +0000 (00:37 +0300)
The change adds separate device nodes for SIC1 and SIC2 interrupt
controllers and reparents all defined SIC1 and SIC2 interrupt
producers to the correspondent interrupt controller, this is needed to
perform switching to a new LPC32xx MIC/SIC interrupt controller driver.

Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
arch/arm/boot/dts/lpc32xx.dtsi

index 73c4746..e295e1e 100644 (file)
@@ -92,7 +92,8 @@
                        ohci: ohci@0 {
                                compatible = "nxp,ohci-nxp", "usb-ohci";
                                reg = <0x0 0x300>;
-                               interrupts = <59 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-parent = <&sic1>;
+                               interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&usbclk LPC32XX_USB_CLK_HOST>;
                                status = "disabled";
                        };
                        usbd: usbd@0 {
                                compatible = "nxp,lpc3220-udc";
                                reg = <0x0 0x300>;
-                               interrupts = <61 IRQ_TYPE_LEVEL_HIGH>,
-                                            <62 IRQ_TYPE_LEVEL_HIGH>,
-                                            <60 IRQ_TYPE_LEVEL_HIGH>,
-                                            <58 IRQ_TYPE_LEVEL_LOW>;
+                               interrupt-parent = <&sic1>;
+                               interrupts = <29 IRQ_TYPE_LEVEL_HIGH>,
+                                            <30 IRQ_TYPE_LEVEL_HIGH>,
+                                            <28 IRQ_TYPE_LEVEL_HIGH>,
+                                            <26 IRQ_TYPE_LEVEL_LOW>;
                                clocks = <&usbclk LPC32XX_USB_CLK_DEVICE>;
                                status = "disabled";
                        };
                        i2cusb: i2c@300 {
                                compatible = "nxp,pnx-i2c";
                                reg = <0x300 0x100>;
-                               interrupts = <63 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-parent = <&sic1>;
+                               interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&usbclk LPC32XX_USB_CLK_I2C>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                        i2c1: i2c@400A0000 {
                                compatible = "nxp,pnx-i2c";
                                reg = <0x400A0000 0x100>;
-                               interrupts = <51 IRQ_TYPE_LEVEL_LOW>;
+                               interrupt-parent = <&sic1>;
+                               interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                pnx,timeout = <0x64>;
                        i2c2: i2c@400A8000 {
                                compatible = "nxp,pnx-i2c";
                                reg = <0x400A8000 0x100>;
-                               interrupts = <50 IRQ_TYPE_LEVEL_LOW>;
+                               interrupt-parent = <&sic1>;
+                               interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                pnx,timeout = <0x64>;
                                };
                        };
 
-                       /*
-                        * MIC Interrupt controller includes:
-                        *   MIC @40008000
-                        *   SIC1 @4000C000
-                        *   SIC2 @40010000
-                        */
                        mic: interrupt-controller@40008000 {
                                compatible = "nxp,lpc3220-mic";
+                               reg = <0x40008000 0x4000>;
                                interrupt-controller;
-                               reg = <0x40008000 0xC000>;
                                #interrupt-cells = <2>;
                        };
 
+                       sic1: interrupt-controller@4000c000 {
+                               compatible = "nxp,lpc3220-sic";
+                               reg = <0x4000c000 0x4000>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+
+                               interrupt-parent = <&mic>;
+                               interrupts = <0 IRQ_TYPE_LEVEL_LOW>,
+                                            <30 IRQ_TYPE_LEVEL_LOW>;
+                               };
+
+                       sic2: interrupt-controller@40010000 {
+                               compatible = "nxp,lpc3220-sic";
+                               reg = <0x40010000 0x4000>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+
+                               interrupt-parent = <&mic>;
+                               interrupts = <1 IRQ_TYPE_LEVEL_LOW>,
+                                            <31 IRQ_TYPE_LEVEL_LOW>;
+                       };
+
                        uart1: serial@40014000 {
                                compatible = "nxp,lpc3220-hsuart";
                                reg = <0x40014000 0x1000>;
                        rtc: rtc@40024000 {
                                compatible = "nxp,lpc3220-rtc";
                                reg = <0x40024000 0x1000>;
-                               interrupts = <52 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-parent = <&sic1>;
+                               interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clk LPC32XX_CLK_RTC>;
                        };
 
                        adc: adc@40048000 {
                                compatible = "nxp,lpc3220-adc";
                                reg = <0x40048000 0x1000>;
-                               interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-parent = <&sic1>;
+                               interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clk LPC32XX_CLK_ADC>;
                                status = "disabled";
                        };
                        tsc: tsc@40048000 {
                                compatible = "nxp,lpc3220-tsc";
                                reg = <0x40048000 0x1000>;
-                               interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-parent = <&sic1>;
+                               interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clk LPC32XX_CLK_ADC>;
                                status = "disabled";
                        };