ARM: dts: exynos: Fix invalid GIC interrupt flags in exynos4

Interrupt of type IRQ_TYPE_NONE is not allowed for GIC interrupts and
generates an error:
	genirq: Setting trigger mode 0 for irq 16 failed (gic_set_type+0x0/0x68)

The GIC requires shared interrupts to be edge rising or level high.
Platform declares support for both.  Arbitrarily choose level high
everywhere hoping it will work on each platform.

Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reported-by: Alban Browaeys <alban.browaeys@gmail.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
This commit is contained in:
Krzysztof Kozlowski 2016-09-16 21:42:42 +02:00
parent 1001354ca3
commit 63aee4fa75
1 changed files with 50 additions and 44 deletions

View File

@ -21,6 +21,7 @@
#include <dt-bindings/clock/exynos4.h> #include <dt-bindings/clock/exynos4.h>
#include <dt-bindings/clock/exynos-audss-clk.h> #include <dt-bindings/clock/exynos-audss-clk.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "exynos-syscon-restart.dtsi" #include "exynos-syscon-restart.dtsi"
/ { / {
@ -168,7 +169,7 @@ pmu_system_controller: system-controller@10020000 {
dsi_0: dsi@11C80000 { dsi_0: dsi@11C80000 {
compatible = "samsung,exynos4210-mipi-dsi"; compatible = "samsung,exynos4210-mipi-dsi";
reg = <0x11C80000 0x10000>; reg = <0x11C80000 0x10000>;
interrupts = <0 79 0>; interrupts = <0 79 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&pd_lcd0>; power-domains = <&pd_lcd0>;
phys = <&mipi_phy 1>; phys = <&mipi_phy 1>;
phy-names = "dsim"; phy-names = "dsim";
@ -191,7 +192,7 @@ camera {
fimc_0: fimc@11800000 { fimc_0: fimc@11800000 {
compatible = "samsung,exynos4210-fimc"; compatible = "samsung,exynos4210-fimc";
reg = <0x11800000 0x1000>; reg = <0x11800000 0x1000>;
interrupts = <0 84 0>; interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_FIMC0>, <&clock CLK_SCLK_FIMC0>; clocks = <&clock CLK_FIMC0>, <&clock CLK_SCLK_FIMC0>;
clock-names = "fimc", "sclk_fimc"; clock-names = "fimc", "sclk_fimc";
power-domains = <&pd_cam>; power-domains = <&pd_cam>;
@ -203,7 +204,7 @@ fimc_0: fimc@11800000 {
fimc_1: fimc@11810000 { fimc_1: fimc@11810000 {
compatible = "samsung,exynos4210-fimc"; compatible = "samsung,exynos4210-fimc";
reg = <0x11810000 0x1000>; reg = <0x11810000 0x1000>;
interrupts = <0 85 0>; interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_FIMC1>, <&clock CLK_SCLK_FIMC1>; clocks = <&clock CLK_FIMC1>, <&clock CLK_SCLK_FIMC1>;
clock-names = "fimc", "sclk_fimc"; clock-names = "fimc", "sclk_fimc";
power-domains = <&pd_cam>; power-domains = <&pd_cam>;
@ -215,7 +216,7 @@ fimc_1: fimc@11810000 {
fimc_2: fimc@11820000 { fimc_2: fimc@11820000 {
compatible = "samsung,exynos4210-fimc"; compatible = "samsung,exynos4210-fimc";
reg = <0x11820000 0x1000>; reg = <0x11820000 0x1000>;
interrupts = <0 86 0>; interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_FIMC2>, <&clock CLK_SCLK_FIMC2>; clocks = <&clock CLK_FIMC2>, <&clock CLK_SCLK_FIMC2>;
clock-names = "fimc", "sclk_fimc"; clock-names = "fimc", "sclk_fimc";
power-domains = <&pd_cam>; power-domains = <&pd_cam>;
@ -227,7 +228,7 @@ fimc_2: fimc@11820000 {
fimc_3: fimc@11830000 { fimc_3: fimc@11830000 {
compatible = "samsung,exynos4210-fimc"; compatible = "samsung,exynos4210-fimc";
reg = <0x11830000 0x1000>; reg = <0x11830000 0x1000>;
interrupts = <0 87 0>; interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_FIMC3>, <&clock CLK_SCLK_FIMC3>; clocks = <&clock CLK_FIMC3>, <&clock CLK_SCLK_FIMC3>;
clock-names = "fimc", "sclk_fimc"; clock-names = "fimc", "sclk_fimc";
power-domains = <&pd_cam>; power-domains = <&pd_cam>;
@ -239,7 +240,7 @@ fimc_3: fimc@11830000 {
csis_0: csis@11880000 { csis_0: csis@11880000 {
compatible = "samsung,exynos4210-csis"; compatible = "samsung,exynos4210-csis";
reg = <0x11880000 0x4000>; reg = <0x11880000 0x4000>;
interrupts = <0 78 0>; interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_CSIS0>, <&clock CLK_SCLK_CSIS0>; clocks = <&clock CLK_CSIS0>, <&clock CLK_SCLK_CSIS0>;
clock-names = "csis", "sclk_csis"; clock-names = "csis", "sclk_csis";
bus-width = <4>; bus-width = <4>;
@ -254,7 +255,7 @@ csis_0: csis@11880000 {
csis_1: csis@11890000 { csis_1: csis@11890000 {
compatible = "samsung,exynos4210-csis"; compatible = "samsung,exynos4210-csis";
reg = <0x11890000 0x4000>; reg = <0x11890000 0x4000>;
interrupts = <0 80 0>; interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_CSIS1>, <&clock CLK_SCLK_CSIS1>; clocks = <&clock CLK_CSIS1>, <&clock CLK_SCLK_CSIS1>;
clock-names = "csis", "sclk_csis"; clock-names = "csis", "sclk_csis";
bus-width = <2>; bus-width = <2>;
@ -270,7 +271,7 @@ csis_1: csis@11890000 {
watchdog: watchdog@10060000 { watchdog: watchdog@10060000 {
compatible = "samsung,s3c2410-wdt"; compatible = "samsung,s3c2410-wdt";
reg = <0x10060000 0x100>; reg = <0x10060000 0x100>;
interrupts = <0 43 0>; interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_WDT>; clocks = <&clock CLK_WDT>;
clock-names = "watchdog"; clock-names = "watchdog";
status = "disabled"; status = "disabled";
@ -280,7 +281,8 @@ rtc: rtc@10070000 {
compatible = "samsung,s3c6410-rtc"; compatible = "samsung,s3c6410-rtc";
reg = <0x10070000 0x100>; reg = <0x10070000 0x100>;
interrupt-parent = <&pmu_system_controller>; interrupt-parent = <&pmu_system_controller>;
interrupts = <0 44 0>, <0 45 0>; interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>,
<0 45 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_RTC>; clocks = <&clock CLK_RTC>;
clock-names = "rtc"; clock-names = "rtc";
status = "disabled"; status = "disabled";
@ -289,7 +291,7 @@ rtc: rtc@10070000 {
keypad: keypad@100A0000 { keypad: keypad@100A0000 {
compatible = "samsung,s5pv210-keypad"; compatible = "samsung,s5pv210-keypad";
reg = <0x100A0000 0x100>; reg = <0x100A0000 0x100>;
interrupts = <0 109 0>; interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_KEYIF>; clocks = <&clock CLK_KEYIF>;
clock-names = "keypad"; clock-names = "keypad";
status = "disabled"; status = "disabled";
@ -298,7 +300,7 @@ keypad: keypad@100A0000 {
sdhci_0: sdhci@12510000 { sdhci_0: sdhci@12510000 {
compatible = "samsung,exynos4210-sdhci"; compatible = "samsung,exynos4210-sdhci";
reg = <0x12510000 0x100>; reg = <0x12510000 0x100>;
interrupts = <0 73 0>; interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>; clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>;
clock-names = "hsmmc", "mmc_busclk.2"; clock-names = "hsmmc", "mmc_busclk.2";
status = "disabled"; status = "disabled";
@ -307,7 +309,7 @@ sdhci_0: sdhci@12510000 {
sdhci_1: sdhci@12520000 { sdhci_1: sdhci@12520000 {
compatible = "samsung,exynos4210-sdhci"; compatible = "samsung,exynos4210-sdhci";
reg = <0x12520000 0x100>; reg = <0x12520000 0x100>;
interrupts = <0 74 0>; interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_SDMMC1>, <&clock CLK_SCLK_MMC1>; clocks = <&clock CLK_SDMMC1>, <&clock CLK_SCLK_MMC1>;
clock-names = "hsmmc", "mmc_busclk.2"; clock-names = "hsmmc", "mmc_busclk.2";
status = "disabled"; status = "disabled";
@ -316,7 +318,7 @@ sdhci_1: sdhci@12520000 {
sdhci_2: sdhci@12530000 { sdhci_2: sdhci@12530000 {
compatible = "samsung,exynos4210-sdhci"; compatible = "samsung,exynos4210-sdhci";
reg = <0x12530000 0x100>; reg = <0x12530000 0x100>;
interrupts = <0 75 0>; interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_SDMMC2>, <&clock CLK_SCLK_MMC2>; clocks = <&clock CLK_SDMMC2>, <&clock CLK_SCLK_MMC2>;
clock-names = "hsmmc", "mmc_busclk.2"; clock-names = "hsmmc", "mmc_busclk.2";
status = "disabled"; status = "disabled";
@ -325,7 +327,7 @@ sdhci_2: sdhci@12530000 {
sdhci_3: sdhci@12540000 { sdhci_3: sdhci@12540000 {
compatible = "samsung,exynos4210-sdhci"; compatible = "samsung,exynos4210-sdhci";
reg = <0x12540000 0x100>; reg = <0x12540000 0x100>;
interrupts = <0 76 0>; interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_SDMMC3>, <&clock CLK_SCLK_MMC3>; clocks = <&clock CLK_SDMMC3>, <&clock CLK_SCLK_MMC3>;
clock-names = "hsmmc", "mmc_busclk.2"; clock-names = "hsmmc", "mmc_busclk.2";
status = "disabled"; status = "disabled";
@ -344,7 +346,7 @@ exynos_usbphy: exynos-usbphy@125B0000 {
hsotg: hsotg@12480000 { hsotg: hsotg@12480000 {
compatible = "samsung,s3c6400-hsotg"; compatible = "samsung,s3c6400-hsotg";
reg = <0x12480000 0x20000>; reg = <0x12480000 0x20000>;
interrupts = <0 71 0>; interrupts = <0 71 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_USB_DEVICE>; clocks = <&clock CLK_USB_DEVICE>;
clock-names = "otg"; clock-names = "otg";
phys = <&exynos_usbphy 0>; phys = <&exynos_usbphy 0>;
@ -355,7 +357,7 @@ hsotg: hsotg@12480000 {
ehci: ehci@12580000 { ehci: ehci@12580000 {
compatible = "samsung,exynos4210-ehci"; compatible = "samsung,exynos4210-ehci";
reg = <0x12580000 0x100>; reg = <0x12580000 0x100>;
interrupts = <0 70 0>; interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_USB_HOST>; clocks = <&clock CLK_USB_HOST>;
clock-names = "usbhost"; clock-names = "usbhost";
status = "disabled"; status = "disabled";
@ -381,7 +383,7 @@ port@2 {
ohci: ohci@12590000 { ohci: ohci@12590000 {
compatible = "samsung,exynos4210-ohci"; compatible = "samsung,exynos4210-ohci";
reg = <0x12590000 0x100>; reg = <0x12590000 0x100>;
interrupts = <0 70 0>; interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_USB_HOST>; clocks = <&clock CLK_USB_HOST>;
clock-names = "usbhost"; clock-names = "usbhost";
status = "disabled"; status = "disabled";
@ -423,7 +425,7 @@ i2s2: i2s@13970000 {
mfc: codec@13400000 { mfc: codec@13400000 {
compatible = "samsung,mfc-v5"; compatible = "samsung,mfc-v5";
reg = <0x13400000 0x10000>; reg = <0x13400000 0x10000>;
interrupts = <0 94 0>; interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&pd_mfc>; power-domains = <&pd_mfc>;
clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>; clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>;
clock-names = "mfc", "sclk_mfc"; clock-names = "mfc", "sclk_mfc";
@ -434,7 +436,7 @@ mfc: codec@13400000 {
serial_0: serial@13800000 { serial_0: serial@13800000 {
compatible = "samsung,exynos4210-uart"; compatible = "samsung,exynos4210-uart";
reg = <0x13800000 0x100>; reg = <0x13800000 0x100>;
interrupts = <0 52 0>; interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>; clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
dmas = <&pdma0 15>, <&pdma0 16>; dmas = <&pdma0 15>, <&pdma0 16>;
@ -445,7 +447,7 @@ serial_0: serial@13800000 {
serial_1: serial@13810000 { serial_1: serial@13810000 {
compatible = "samsung,exynos4210-uart"; compatible = "samsung,exynos4210-uart";
reg = <0x13810000 0x100>; reg = <0x13810000 0x100>;
interrupts = <0 53 0>; interrupts = <0 53 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>; clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
dmas = <&pdma1 15>, <&pdma1 16>; dmas = <&pdma1 15>, <&pdma1 16>;
@ -456,7 +458,7 @@ serial_1: serial@13810000 {
serial_2: serial@13820000 { serial_2: serial@13820000 {
compatible = "samsung,exynos4210-uart"; compatible = "samsung,exynos4210-uart";
reg = <0x13820000 0x100>; reg = <0x13820000 0x100>;
interrupts = <0 54 0>; interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>; clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
dmas = <&pdma0 17>, <&pdma0 18>; dmas = <&pdma0 17>, <&pdma0 18>;
@ -467,7 +469,7 @@ serial_2: serial@13820000 {
serial_3: serial@13830000 { serial_3: serial@13830000 {
compatible = "samsung,exynos4210-uart"; compatible = "samsung,exynos4210-uart";
reg = <0x13830000 0x100>; reg = <0x13830000 0x100>;
interrupts = <0 55 0>; interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>; clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
dmas = <&pdma1 17>, <&pdma1 18>; dmas = <&pdma1 17>, <&pdma1 18>;
@ -480,7 +482,7 @@ i2c_0: i2c@13860000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "samsung,s3c2440-i2c"; compatible = "samsung,s3c2440-i2c";
reg = <0x13860000 0x100>; reg = <0x13860000 0x100>;
interrupts = <0 58 0>; interrupts = <0 58 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_I2C0>; clocks = <&clock CLK_I2C0>;
clock-names = "i2c"; clock-names = "i2c";
pinctrl-names = "default"; pinctrl-names = "default";
@ -493,7 +495,7 @@ i2c_1: i2c@13870000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "samsung,s3c2440-i2c"; compatible = "samsung,s3c2440-i2c";
reg = <0x13870000 0x100>; reg = <0x13870000 0x100>;
interrupts = <0 59 0>; interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_I2C1>; clocks = <&clock CLK_I2C1>;
clock-names = "i2c"; clock-names = "i2c";
pinctrl-names = "default"; pinctrl-names = "default";
@ -506,7 +508,7 @@ i2c_2: i2c@13880000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "samsung,s3c2440-i2c"; compatible = "samsung,s3c2440-i2c";
reg = <0x13880000 0x100>; reg = <0x13880000 0x100>;
interrupts = <0 60 0>; interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_I2C2>; clocks = <&clock CLK_I2C2>;
clock-names = "i2c"; clock-names = "i2c";
pinctrl-names = "default"; pinctrl-names = "default";
@ -519,7 +521,7 @@ i2c_3: i2c@13890000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "samsung,s3c2440-i2c"; compatible = "samsung,s3c2440-i2c";
reg = <0x13890000 0x100>; reg = <0x13890000 0x100>;
interrupts = <0 61 0>; interrupts = <0 61 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_I2C3>; clocks = <&clock CLK_I2C3>;
clock-names = "i2c"; clock-names = "i2c";
pinctrl-names = "default"; pinctrl-names = "default";
@ -532,7 +534,7 @@ i2c_4: i2c@138A0000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "samsung,s3c2440-i2c"; compatible = "samsung,s3c2440-i2c";
reg = <0x138A0000 0x100>; reg = <0x138A0000 0x100>;
interrupts = <0 62 0>; interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_I2C4>; clocks = <&clock CLK_I2C4>;
clock-names = "i2c"; clock-names = "i2c";
pinctrl-names = "default"; pinctrl-names = "default";
@ -545,7 +547,7 @@ i2c_5: i2c@138B0000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "samsung,s3c2440-i2c"; compatible = "samsung,s3c2440-i2c";
reg = <0x138B0000 0x100>; reg = <0x138B0000 0x100>;
interrupts = <0 63 0>; interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_I2C5>; clocks = <&clock CLK_I2C5>;
clock-names = "i2c"; clock-names = "i2c";
pinctrl-names = "default"; pinctrl-names = "default";
@ -558,7 +560,7 @@ i2c_6: i2c@138C0000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "samsung,s3c2440-i2c"; compatible = "samsung,s3c2440-i2c";
reg = <0x138C0000 0x100>; reg = <0x138C0000 0x100>;
interrupts = <0 64 0>; interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_I2C6>; clocks = <&clock CLK_I2C6>;
clock-names = "i2c"; clock-names = "i2c";
pinctrl-names = "default"; pinctrl-names = "default";
@ -571,7 +573,7 @@ i2c_7: i2c@138D0000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "samsung,s3c2440-i2c"; compatible = "samsung,s3c2440-i2c";
reg = <0x138D0000 0x100>; reg = <0x138D0000 0x100>;
interrupts = <0 65 0>; interrupts = <0 65 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_I2C7>; clocks = <&clock CLK_I2C7>;
clock-names = "i2c"; clock-names = "i2c";
pinctrl-names = "default"; pinctrl-names = "default";
@ -584,7 +586,7 @@ i2c_8: i2c@138E0000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "samsung,s3c2440-hdmiphy-i2c"; compatible = "samsung,s3c2440-hdmiphy-i2c";
reg = <0x138E0000 0x100>; reg = <0x138E0000 0x100>;
interrupts = <0 93 0>; interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_I2C_HDMI>; clocks = <&clock CLK_I2C_HDMI>;
clock-names = "i2c"; clock-names = "i2c";
status = "disabled"; status = "disabled";
@ -598,7 +600,7 @@ hdmi_i2c_phy: hdmiphy@38 {
spi_0: spi@13920000 { spi_0: spi@13920000 {
compatible = "samsung,exynos4210-spi"; compatible = "samsung,exynos4210-spi";
reg = <0x13920000 0x100>; reg = <0x13920000 0x100>;
interrupts = <0 66 0>; interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&pdma0 7>, <&pdma0 6>; dmas = <&pdma0 7>, <&pdma0 6>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
#address-cells = <1>; #address-cells = <1>;
@ -613,7 +615,7 @@ spi_0: spi@13920000 {
spi_1: spi@13930000 { spi_1: spi@13930000 {
compatible = "samsung,exynos4210-spi"; compatible = "samsung,exynos4210-spi";
reg = <0x13930000 0x100>; reg = <0x13930000 0x100>;
interrupts = <0 67 0>; interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&pdma1 7>, <&pdma1 6>; dmas = <&pdma1 7>, <&pdma1 6>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
#address-cells = <1>; #address-cells = <1>;
@ -628,7 +630,7 @@ spi_1: spi@13930000 {
spi_2: spi@13940000 { spi_2: spi@13940000 {
compatible = "samsung,exynos4210-spi"; compatible = "samsung,exynos4210-spi";
reg = <0x13940000 0x100>; reg = <0x13940000 0x100>;
interrupts = <0 68 0>; interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&pdma0 9>, <&pdma0 8>; dmas = <&pdma0 9>, <&pdma0 8>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
#address-cells = <1>; #address-cells = <1>;
@ -643,7 +645,11 @@ spi_2: spi@13940000 {
pwm: pwm@139D0000 { pwm: pwm@139D0000 {
compatible = "samsung,exynos4210-pwm"; compatible = "samsung,exynos4210-pwm";
reg = <0x139D0000 0x1000>; reg = <0x139D0000 0x1000>;
interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>, <0 41 0>; interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>,
<0 38 IRQ_TYPE_LEVEL_HIGH>,
<0 39 IRQ_TYPE_LEVEL_HIGH>,
<0 40 IRQ_TYPE_LEVEL_HIGH>,
<0 41 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_PWM>; clocks = <&clock CLK_PWM>;
clock-names = "timers"; clock-names = "timers";
#pwm-cells = <3>; #pwm-cells = <3>;
@ -660,7 +666,7 @@ amba {
pdma0: pdma@12680000 { pdma0: pdma@12680000 {
compatible = "arm,pl330", "arm,primecell"; compatible = "arm,pl330", "arm,primecell";
reg = <0x12680000 0x1000>; reg = <0x12680000 0x1000>;
interrupts = <0 35 0>; interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_PDMA0>; clocks = <&clock CLK_PDMA0>;
clock-names = "apb_pclk"; clock-names = "apb_pclk";
#dma-cells = <1>; #dma-cells = <1>;
@ -671,7 +677,7 @@ pdma0: pdma@12680000 {
pdma1: pdma@12690000 { pdma1: pdma@12690000 {
compatible = "arm,pl330", "arm,primecell"; compatible = "arm,pl330", "arm,primecell";
reg = <0x12690000 0x1000>; reg = <0x12690000 0x1000>;
interrupts = <0 36 0>; interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_PDMA1>; clocks = <&clock CLK_PDMA1>;
clock-names = "apb_pclk"; clock-names = "apb_pclk";
#dma-cells = <1>; #dma-cells = <1>;
@ -682,7 +688,7 @@ pdma1: pdma@12690000 {
mdma1: mdma@12850000 { mdma1: mdma@12850000 {
compatible = "arm,pl330", "arm,primecell"; compatible = "arm,pl330", "arm,primecell";
reg = <0x12850000 0x1000>; reg = <0x12850000 0x1000>;
interrupts = <0 34 0>; interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_MDMA>; clocks = <&clock CLK_MDMA>;
clock-names = "apb_pclk"; clock-names = "apb_pclk";
#dma-cells = <1>; #dma-cells = <1>;
@ -712,7 +718,7 @@ tmu: tmu@100C0000 {
jpeg_codec: jpeg-codec@11840000 { jpeg_codec: jpeg-codec@11840000 {
compatible = "samsung,exynos4210-jpeg"; compatible = "samsung,exynos4210-jpeg";
reg = <0x11840000 0x1000>; reg = <0x11840000 0x1000>;
interrupts = <0 88 0>; interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_JPEG>; clocks = <&clock CLK_JPEG>;
clock-names = "jpeg"; clock-names = "jpeg";
power-domains = <&pd_cam>; power-domains = <&pd_cam>;
@ -722,7 +728,7 @@ jpeg_codec: jpeg-codec@11840000 {
rotator: rotator@12810000 { rotator: rotator@12810000 {
compatible = "samsung,exynos4210-rotator"; compatible = "samsung,exynos4210-rotator";
reg = <0x12810000 0x64>; reg = <0x12810000 0x64>;
interrupts = <0 83 0>; interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_ROTATOR>; clocks = <&clock CLK_ROTATOR>;
clock-names = "rotator"; clock-names = "rotator";
iommus = <&sysmmu_rotator>; iommus = <&sysmmu_rotator>;
@ -731,7 +737,7 @@ rotator: rotator@12810000 {
hdmi: hdmi@12D00000 { hdmi: hdmi@12D00000 {
compatible = "samsung,exynos4210-hdmi"; compatible = "samsung,exynos4210-hdmi";
reg = <0x12D00000 0x70000>; reg = <0x12D00000 0x70000>;
interrupts = <0 92 0>; interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy", clock-names = "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy",
"mout_hdmi"; "mout_hdmi";
clocks = <&clock CLK_HDMI>, <&clock CLK_SCLK_HDMI>, clocks = <&clock CLK_HDMI>, <&clock CLK_SCLK_HDMI>,
@ -746,7 +752,7 @@ hdmi: hdmi@12D00000 {
hdmicec: cec@100B0000 { hdmicec: cec@100B0000 {
compatible = "samsung,s5p-cec"; compatible = "samsung,s5p-cec";
reg = <0x100B0000 0x200>; reg = <0x100B0000 0x200>;
interrupts = <0 114 0>; interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_HDMI_CEC>; clocks = <&clock CLK_HDMI_CEC>;
clock-names = "hdmicec"; clock-names = "hdmicec";
samsung,syscon-phandle = <&pmu_system_controller>; samsung,syscon-phandle = <&pmu_system_controller>;
@ -757,7 +763,7 @@ hdmicec: cec@100B0000 {
mixer: mixer@12C10000 { mixer: mixer@12C10000 {
compatible = "samsung,exynos4210-mixer"; compatible = "samsung,exynos4210-mixer";
interrupts = <0 91 0>; interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>;
reg = <0x12C10000 0x2100>, <0x12c00000 0x300>; reg = <0x12C10000 0x2100>, <0x12c00000 0x300>;
power-domains = <&pd_tv>; power-domains = <&pd_tv>;
iommus = <&sysmmu_tv>; iommus = <&sysmmu_tv>;
@ -984,7 +990,7 @@ sysmmu_fimd0: sysmmu@11E20000 {
sss: sss@10830000 { sss: sss@10830000 {
compatible = "samsung,exynos4210-secss"; compatible = "samsung,exynos4210-secss";
reg = <0x10830000 0x300>; reg = <0x10830000 0x300>;
interrupts = <0 112 0>; interrupts = <0 112 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_SSS>; clocks = <&clock CLK_SSS>;
clock-names = "secss"; clock-names = "secss";
}; };