The patch "pinctrl: samsung: Parse pin banks from DT" introduced platform-specific data parsing from DT. This patch adds all necessary nodes and properties to exynos4210 device tree sources. Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> --- arch/arm/boot/dts/exynos4210-pinctrl-banks.dtsi | 605 ++++++++++++++++++++++++ arch/arm/boot/dts/exynos4210-pinctrl.dtsi | 2 + arch/arm/boot/dts/exynos4210.dtsi | 12 + 3 files changed, 619 insertions(+) create mode 100644 arch/arm/boot/dts/exynos4210-pinctrl-banks.dtsi diff --git a/arch/arm/boot/dts/exynos4210-pinctrl-banks.dtsi b/arch/arm/boot/dts/exynos4210-pinctrl-banks.dtsi new file mode 100644 index 0000000..cac7f71 --- /dev/null +++ b/arch/arm/boot/dts/exynos4210-pinctrl-banks.dtsi @@ -0,0 +1,605 @@ +/* + * Samsung's Exynos4210 SoC pinctrl banks device tree source + * + * Copyright (c) 2012 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * + * Samsung's Exynos4210 SoC pin banks are listed as device tree nodes + * in this file. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +/ { + pinctrl@11400000 { + gpa0: pin-bank@0 { + gpio-controller; + samsung,pctl-offset = <0x000>; + samsung,pin-bank = "gpa0"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x00>; + }; + + gpa1: pin-bank@1 { + gpio-controller; + samsung,pctl-offset = <0x020>; + samsung,pin-bank = "gpa1"; + samsung,pin-count = <6>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x04>; + }; + + gpb: pin-bank@2 { + gpio-controller; + samsung,pctl-offset = <0x040>; + samsung,pin-bank = "gpb"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x08>; + }; + + gpc0: pin-bank@3 { + gpio-controller; + samsung,pctl-offset = <0x060>; + samsung,pin-bank = "gpc0"; + samsung,pin-count = <5>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x0C>; + }; + + gpc1: pin-bank@4 { + gpio-controller; + samsung,pctl-offset = <0x080>; + samsung,pin-bank = "gpc1"; + samsung,pin-count = <5>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x10>; + }; + + gpd0: pin-bank@5 { + gpio-controller; + samsung,pctl-offset = <0x0A0>; + samsung,pin-bank = "gpd0"; + samsung,pin-count = <4>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x14>; + }; + + gpd1: pin-bank@6 { + gpio-controller; + samsung,pctl-offset = <0x0C0>; + samsung,pin-bank = "gpd1"; + samsung,pin-count = <4>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x18>; + }; + + gpe0: pin-bank@7 { + gpio-controller; + samsung,pctl-offset = <0x0E0>; + samsung,pin-bank = "gpe0"; + samsung,pin-count = <4>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x1C>; + }; + + gpe1: pin-bank@8 { + gpio-controller; + samsung,pctl-offset = <0x100>; + samsung,pin-bank = "gpe1"; + samsung,pin-count = <4>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x20>; + }; + + gpe2: pin-bank@9 { + gpio-controller; + samsung,pctl-offset = <0x120>; + samsung,pin-bank = "gpe2"; + samsung,pin-count = <4>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x24>; + }; + + gpe3: pin-bank@10 { + gpio-controller; + samsung,pctl-offset = <0x140>; + samsung,pin-bank = "gpe3"; + samsung,pin-count = <4>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x28>; + }; + + gpe4: pin-bank@11 { + gpio-controller; + samsung,pctl-offset = <0x160>; + samsung,pin-bank = "gpe4"; + samsung,pin-count = <4>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x2C>; + }; + + gpf0: pin-bank@12 { + gpio-controller; + samsung,pctl-offset = <0x180>; + samsung,pin-bank = "gpf0"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x30>; + }; + + gpf1: pin-bank@13 { + gpio-controller; + samsung,pctl-offset = <0x1A0>; + samsung,pin-bank = "gpf1"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x34>; + }; + + gpf2: pin-bank@14 { + gpio-controller; + samsung,pctl-offset = <0x1C0>; + samsung,pin-bank = "gpf2"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x38>; + }; + + gpf3: pin-bank@15 { + gpio-controller; + samsung,pctl-offset = <0x1E0>; + samsung,pin-bank = "gpf3"; + samsung,pin-count = <6>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x3C>; + }; + }; + + pinctrl@11000000 { + gpj0: pin-bank@0 { + gpio-controller; + samsung,pctl-offset = <0x000>; + samsung,pin-bank = "gpj0"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x00>; + }; + + gpj1: pin-bank@1 { + gpio-controller; + samsung,pctl-offset = <0x020>; + samsung,pin-bank = "gpj1"; + samsung,pin-count = <5>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x04>; + }; + + gpk0: pin-bank@2 { + gpio-controller; + samsung,pctl-offset = <0x040>; + samsung,pin-bank = "gpk0"; + samsung,pin-count = <7>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x08>; + }; + + gpk1: pin-bank@3 { + gpio-controller; + samsung,pctl-offset = <0x060>; + samsung,pin-bank = "gpk1"; + samsung,pin-count = <7>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x0C>; + }; + + gpk2: pin-bank@4 { + gpio-controller; + samsung,pctl-offset = <0x080>; + samsung,pin-bank = "gpk2"; + samsung,pin-count = <7>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x10>; + }; + + gpk3: pin-bank@5 { + gpio-controller; + samsung,pctl-offset = <0x0A0>; + samsung,pin-bank = "gpk3"; + samsung,pin-count = <7>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x14>; + }; + + gpl0: pin-bank@6 { + gpio-controller; + samsung,pctl-offset = <0x0C0>; + samsung,pin-bank = "gpl0"; + samsung,pin-count = <7>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x18>; + }; + + gpl1: pin-bank@7 { + gpio-controller; + samsung,pctl-offset = <0x0E0>; + samsung,pin-bank = "gpl1"; + samsung,pin-count = <2>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x1C>; + }; + + gpl2: pin-bank@8 { + gpio-controller; + samsung,pctl-offset = <0x100>; + samsung,pin-bank = "gpl2"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x20>; + }; + + gpm0: pin-bank@9 { + gpio-controller; + samsung,pctl-offset = <0x260>; + samsung,pin-bank = "gpm0"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x24>; + }; + + gpm1: pin-bank@10 { + gpio-controller; + samsung,pctl-offset = <0x280>; + samsung,pin-bank = "gpm1"; + samsung,pin-count = <7>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x28>; + }; + + gpm2: pin-bank@11 { + gpio-controller; + samsung,pctl-offset = <0x2A0>; + samsung,pin-bank = "gpm2"; + samsung,pin-count = <5>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x2C>; + }; + + gpm3: pin-bank@12 { + gpio-controller; + samsung,pctl-offset = <0x2C0>; + samsung,pin-bank = "gpm3"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x30>; + }; + + gpm4: pin-bank@13 { + gpio-controller; + samsung,pctl-offset = <0x2E0>; + samsung,pin-bank = "gpm4"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + + interrupt-controller; + samsung,eint-offset = <0x34>; + }; + + gpy0: pin-bank@14 { + gpio-controller; + samsung,pctl-offset = <0x120>; + samsung,pin-bank = "gpy0"; + samsung,pin-count = <6>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + }; + + gpy1: pin-bank@15 { + gpio-controller; + samsung,pctl-offset = <0x140>; + samsung,pin-bank = "gpy1"; + samsung,pin-count = <4>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + }; + + gpy2: pin-bank@16 { + gpio-controller; + samsung,pctl-offset = <0x160>; + samsung,pin-bank = "gpy2"; + samsung,pin-count = <6>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + }; + + gpy3: pin-bank@17 { + gpio-controller; + samsung,pctl-offset = <0x180>; + samsung,pin-bank = "gpy3"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + }; + + gpy4: pin-bank@18 { + gpio-controller; + samsung,pctl-offset = <0x1A0>; + samsung,pin-bank = "gpy4"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + }; + + gpy5: pin-bank@19{ + gpio-controller; + samsung,pctl-offset = <0x1C0>; + samsung,pin-bank = "gpy5"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + }; + + gpy6: pin-bank@20 { + gpio-controller; + samsung,pctl-offset = <0x1E0>; + samsung,pin-bank = "gpy6"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + samsung,conpdn-width = <2>; + samsung,pudpdn-width = <2>; + }; + + gpx0: pin-bank@21 { + gpio-controller; + samsung,pctl-offset = <0xC00>; + samsung,pin-bank = "gpx0"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + }; + + gpx1: pin-bank@22 { + gpio-controller; + samsung,pctl-offset = <0xC20>; + samsung,pin-bank = "gpx1"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + }; + + gpx2: pin-bank@23 { + gpio-controller; + samsung,pctl-offset = <0xC40>; + samsung,pin-bank = "gpx2"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + }; + + gpx3: pin-bank@24 { + gpio-controller; + samsung,pctl-offset = <0xC60>; + samsung,pin-bank = "gpx3"; + samsung,pin-count = <8>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + }; + }; + + pinctrl@03860000 { + gpz: pin-bank@0 { + gpio-controller; + samsung,pctl-offset = <0x000>; + samsung,pin-bank = "gpz"; + samsung,pin-count = <7>; + samsung,func-width = <4>; + samsung,pud-width = <2>; + samsung,drv-width = <2>; + }; + }; +}; diff --git a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi index b12cf27..94846d5 100644 --- a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi @@ -14,6 +14,8 @@ * published by the Free Software Foundation. */ +/include/ "exynos4210-pinctrl-banks.dtsi" + / { pinctrl@11400000 { uart0_data: uart0-data { diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi index ecbc707..0e93717 100644 --- a/arch/arm/boot/dts/exynos4210.dtsi +++ b/arch/arm/boot/dts/exynos4210.dtsi @@ -59,6 +59,10 @@ reg = <0x11400000 0x1000>; interrupts = <0 47 0>; interrupt-controller; + samsung,geint-con = <0x700>; + samsung,geint-mask = <0x900>; + samsung,geint-pend = <0xA00>; + samsung,svc = <0xB08>; #interrupt-cells = <2>; }; @@ -67,6 +71,10 @@ reg = <0x11000000 0x1000>; interrupts = <0 46 0>; interrupt-controller; + samsung,geint-con = <0x700>; + samsung,geint-mask = <0x900>; + samsung,geint-pend = <0xA00>; + samsung,svc = <0xB08>; #interrupt-cells = <2>; wakup_eint: wakeup-interrupt-controller { @@ -79,6 +87,10 @@ <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>, <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>, <0 32 0>; + samsung,weint-count = <32>; + samsung,weint-con = <0xE00>; + samsung,weint-mask = <0xF00>; + samsung,weint-pend = <0xF40>; }; }; -- 1.7.12 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html