diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-26 16:05:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-26 16:05:55 -0400 |
commit | 30b842889eea1bea02dff55b13d2ddf07a46ce78 (patch) | |
tree | 827d96b61384d5fe22ed7aeba02b34026648046e /Documentation | |
parent | 84a442b9a16ee69243ce7fce5d6f6f9c3fbdee68 (diff) | |
parent | 820f3dd7964f1889baaaaa0c2ba45d05bb619f66 (diff) |
Merge tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull arm-soc: soc specific changes (part 2) from Olof Johansson:
"This adds support for the spear13xx platform, which has first been
under review a long time ago and finally been completed after generic
spear work has gone into the clock, dt and pinctrl branches.
Also a number of updates for the samsung socs are part of this branch."
Fix up trivial conflicts in drivers/gpio/gpio-samsung.c that look much
worse than they are: the exonys5 init code was refactored in commit
fd454997d687 ("gpio: samsung: refactor gpiolib init for exynos4/5"), and
then commit f10590c9836c ("ARM: EXYNOS: add GPC4 bank instance") added a
new gpio chip define and did tiny updates to the init code.
So the conflict diff looks like hell, but it's actually a fairly simple
change.
* tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (34 commits)
ARM: exynos: fix building with CONFIG_OF disabled
ARM: EXYNOS: Add AUXDATA for i2c controllers
ARM: dts: Update device tree source files for EXYNOS5250
ARM: EXYNOS: Add device tree support for interrupt combiner
ARM: EXYNOS: Add irq_domain support for interrupt combiner
ARM: EXYNOS: Remove a new bus_type instance for EXYNOS5
ARM: EXYNOS: update irqs for EXYNOS5250 SoC
ARM: EXYNOS: Add pre-divider and fout mux clocks for bpll and mpll
ARM: EXYNOS: add GPC4 bank instance
ARM: EXYNOS: Redefine IRQ_MCT_L0,1 definition
ARM: EXYNOS: Modify the GIC physical address for static io-mapping
ARM: EXYNOS: Add watchdog timer clock instance
pinctrl: SPEAr1310: Fix pin numbers for clcd_high_res
SPEAr: Update MAINTAINERS and Documentation
SPEAr13xx: Add defconfig
SPEAr13xx: Add compilation support
SPEAr13xx: Add dts and dtsi files
pinctrl: Add SPEAr13xx pinctrl drivers
pinctrl: SPEAr: Create macro for declaring GPIO PINS
SPEAr13xx: Add common clock framework support
...
Diffstat (limited to 'Documentation')
4 files changed, 123 insertions, 22 deletions
diff --git a/Documentation/arm/SPEAr/overview.txt b/Documentation/arm/SPEAr/overview.txt index 28a9af953b9d..57aae7765c74 100644 --- a/Documentation/arm/SPEAr/overview.txt +++ b/Documentation/arm/SPEAr/overview.txt | |||
@@ -8,9 +8,8 @@ Introduction | |||
8 | weblink : http://www.st.com/spear | 8 | weblink : http://www.st.com/spear |
9 | 9 | ||
10 | The ST Microelectronics SPEAr range of ARM9/CortexA9 System-on-Chip CPUs are | 10 | The ST Microelectronics SPEAr range of ARM9/CortexA9 System-on-Chip CPUs are |
11 | supported by the 'spear' platform of ARM Linux. Currently SPEAr300, | 11 | supported by the 'spear' platform of ARM Linux. Currently SPEAr1310, |
12 | SPEAr310, SPEAr320 and SPEAr600 SOCs are supported. Support for the SPEAr13XX | 12 | SPEAr1340, SPEAr300, SPEAr310, SPEAr320 and SPEAr600 SOCs are supported. |
13 | series is in progress. | ||
14 | 13 | ||
15 | Hierarchy in SPEAr is as follows: | 14 | Hierarchy in SPEAr is as follows: |
16 | 15 | ||
@@ -26,33 +25,36 @@ Introduction | |||
26 | - SPEAr600 (SOC) | 25 | - SPEAr600 (SOC) |
27 | - SPEAr600 Evaluation Board | 26 | - SPEAr600 Evaluation Board |
28 | - SPEAr13XX (13XX SOC series, based on ARM CORTEXA9) | 27 | - SPEAr13XX (13XX SOC series, based on ARM CORTEXA9) |
29 | - SPEAr1300 (SOC) | 28 | - SPEAr1310 (SOC) |
29 | - SPEAr1310 Evaluation Board | ||
30 | - SPEAr1340 (SOC) | ||
31 | - SPEAr1340 Evaluation Board | ||
30 | 32 | ||
31 | Configuration | 33 | Configuration |
32 | ------------- | 34 | ------------- |
33 | 35 | ||
34 | A generic configuration is provided for each machine, and can be used as the | 36 | A generic configuration is provided for each machine, and can be used as the |
35 | default by | 37 | default by |
36 | make spear600_defconfig | 38 | make spear13xx_defconfig |
37 | make spear300_defconfig | 39 | make spear3xx_defconfig |
38 | make spear310_defconfig | 40 | make spear6xx_defconfig |
39 | make spear320_defconfig | ||
40 | 41 | ||
41 | Layout | 42 | Layout |
42 | ------ | 43 | ------ |
43 | 44 | ||
44 | The common files for multiple machine families (SPEAr3XX, SPEAr6XX and | 45 | The common files for multiple machine families (SPEAr3xx, SPEAr6xx and |
45 | SPEAr13XX) are located in the platform code contained in arch/arm/plat-spear | 46 | SPEAr13xx) are located in the platform code contained in arch/arm/plat-spear |
46 | with headers in plat/. | 47 | with headers in plat/. |
47 | 48 | ||
48 | Each machine series have a directory with name arch/arm/mach-spear followed by | 49 | Each machine series have a directory with name arch/arm/mach-spear followed by |
49 | series name. Like mach-spear3xx, mach-spear6xx and mach-spear13xx. | 50 | series name. Like mach-spear3xx, mach-spear6xx and mach-spear13xx. |
50 | 51 | ||
51 | Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c and for | 52 | Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c, for |
52 | spear6xx is mach-spear6xx/spear6xx.c. mach-spear* also contain soc/machine | 53 | spear6xx is mach-spear6xx/spear6xx.c and for spear13xx family is |
53 | specific files, like spear300.c, spear310.c, spear320.c and spear600.c. | 54 | mach-spear13xx/spear13xx.c. mach-spear* also contain soc/machine specific |
54 | mach-spear* doesn't contains board specific files as they fully support | 55 | files, like spear1310.c, spear1340.c spear300.c, spear310.c, spear320.c and |
55 | Flattened Device Tree. | 56 | spear600.c. mach-spear* doesn't contains board specific files as they fully |
57 | support Flattened Device Tree. | ||
56 | 58 | ||
57 | 59 | ||
58 | Document Author | 60 | Document Author |
diff --git a/Documentation/devicetree/bindings/arm/samsung/interrupt-combiner.txt b/Documentation/devicetree/bindings/arm/samsung/interrupt-combiner.txt new file mode 100644 index 000000000000..f2f2171e530e --- /dev/null +++ b/Documentation/devicetree/bindings/arm/samsung/interrupt-combiner.txt | |||
@@ -0,0 +1,52 @@ | |||
1 | * Samsung Exynos Interrupt Combiner Controller | ||
2 | |||
3 | Samsung's Exynos4 architecture includes a interrupt combiner controller which | ||
4 | can combine interrupt sources as a group and provide a single interrupt request | ||
5 | for the group. The interrupt request from each group are connected to a parent | ||
6 | interrupt controller, such as GIC in case of Exynos4210. | ||
7 | |||
8 | The interrupt combiner controller consists of multiple combiners. Upto eight | ||
9 | interrupt sources can be connected to a combiner. The combiner outputs one | ||
10 | combined interrupt for its eight interrupt sources. The combined interrupt | ||
11 | is usually connected to a parent interrupt controller. | ||
12 | |||
13 | A single node in the device tree is used to describe the interrupt combiner | ||
14 | controller module (which includes multiple combiners). A combiner in the | ||
15 | interrupt controller module shares config/control registers with other | ||
16 | combiners. For example, a 32-bit interrupt enable/disable config register | ||
17 | can accommodate upto 4 interrupt combiners (with each combiner supporting | ||
18 | upto 8 interrupt sources). | ||
19 | |||
20 | Required properties: | ||
21 | - compatible: should be "samsung,exynos4210-combiner". | ||
22 | - interrupt-controller: Identifies the node as an interrupt controller. | ||
23 | - #interrupt-cells: should be <2>. The meaning of the cells are | ||
24 | * First Cell: Combiner Group Number. | ||
25 | * Second Cell: Interrupt number within the group. | ||
26 | - reg: Base address and size of interrupt combiner registers. | ||
27 | - interrupts: The list of interrupts generated by the combiners which are then | ||
28 | connected to a parent interrupt controller. The format of the interrupt | ||
29 | specifier depends in the interrupt parent controller. | ||
30 | |||
31 | Optional properties: | ||
32 | - samsung,combiner-nr: The number of interrupt combiners supported. If this | ||
33 | property is not specified, the default number of combiners is assumed | ||
34 | to be 16. | ||
35 | - interrupt-parent: pHandle of the parent interrupt controller, if not | ||
36 | inherited from the parent node. | ||
37 | |||
38 | |||
39 | Example: | ||
40 | |||
41 | The following is a an example from the Exynos4210 SoC dtsi file. | ||
42 | |||
43 | combiner:interrupt-controller@10440000 { | ||
44 | compatible = "samsung,exynos4210-combiner"; | ||
45 | interrupt-controller; | ||
46 | #interrupt-cells = <2>; | ||
47 | reg = <0x10440000 0x1000>; | ||
48 | interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>, | ||
49 | <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>, | ||
50 | <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>, | ||
51 | <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>; | ||
52 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/spear.txt b/Documentation/devicetree/bindings/arm/spear.txt index aa5f355cc947..0d42949df6c2 100644 --- a/Documentation/devicetree/bindings/arm/spear.txt +++ b/Documentation/devicetree/bindings/arm/spear.txt | |||
@@ -2,25 +2,25 @@ ST SPEAr Platforms Device Tree Bindings | |||
2 | --------------------------------------- | 2 | --------------------------------------- |
3 | 3 | ||
4 | Boards with the ST SPEAr600 SoC shall have the following properties: | 4 | Boards with the ST SPEAr600 SoC shall have the following properties: |
5 | |||
6 | Required root node property: | 5 | Required root node property: |
7 | |||
8 | compatible = "st,spear600"; | 6 | compatible = "st,spear600"; |
9 | 7 | ||
10 | Boards with the ST SPEAr300 SoC shall have the following properties: | 8 | Boards with the ST SPEAr300 SoC shall have the following properties: |
11 | |||
12 | Required root node property: | 9 | Required root node property: |
13 | |||
14 | compatible = "st,spear300"; | 10 | compatible = "st,spear300"; |
15 | 11 | ||
16 | Boards with the ST SPEAr310 SoC shall have the following properties: | 12 | Boards with the ST SPEAr310 SoC shall have the following properties: |
17 | |||
18 | Required root node property: | 13 | Required root node property: |
19 | |||
20 | compatible = "st,spear310"; | 14 | compatible = "st,spear310"; |
21 | 15 | ||
22 | Boards with the ST SPEAr320 SoC shall have the following properties: | 16 | Boards with the ST SPEAr320 SoC shall have the following properties: |
17 | Required root node property: | ||
18 | compatible = "st,spear320"; | ||
23 | 19 | ||
20 | Boards with the ST SPEAr1310 SoC shall have the following properties: | ||
24 | Required root node property: | 21 | Required root node property: |
22 | compatible = "st,spear1310"; | ||
25 | 23 | ||
26 | compatible = "st,spear320"; | 24 | Boards with the ST SPEAr1340 SoC shall have the following properties: |
25 | Required root node property: | ||
26 | compatible = "st,spear1340"; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt index 3664d37e6799..b4480d5c3aca 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt | |||
@@ -4,6 +4,8 @@ Required properties: | |||
4 | - compatible : "st,spear300-pinmux" | 4 | - compatible : "st,spear300-pinmux" |
5 | : "st,spear310-pinmux" | 5 | : "st,spear310-pinmux" |
6 | : "st,spear320-pinmux" | 6 | : "st,spear320-pinmux" |
7 | : "st,spear1310-pinmux" | ||
8 | : "st,spear1340-pinmux" | ||
7 | - reg : Address range of the pinctrl registers | 9 | - reg : Address range of the pinctrl registers |
8 | - st,pinmux-mode: Mandatory for SPEAr300 and SPEAr320 and invalid for others. | 10 | - st,pinmux-mode: Mandatory for SPEAr300 and SPEAr320 and invalid for others. |
9 | - Its values for SPEAr300: | 11 | - Its values for SPEAr300: |
@@ -89,6 +91,37 @@ For SPEAr320 machines: | |||
89 | "rmii0_1_grp", "i2c1_8_9_grp", "i2c1_98_99_grp", "i2c2_0_1_grp", | 91 | "rmii0_1_grp", "i2c1_8_9_grp", "i2c1_98_99_grp", "i2c2_0_1_grp", |
90 | "i2c2_2_3_grp", "i2c2_19_20_grp", "i2c2_75_76_grp", "i2c2_96_97_grp" | 92 | "i2c2_2_3_grp", "i2c2_19_20_grp", "i2c2_75_76_grp", "i2c2_96_97_grp" |
91 | 93 | ||
94 | For SPEAr1310 machines: | ||
95 | "i2c0_grp", "ssp0_grp", "ssp0_cs0_grp", "ssp0_cs1_2_grp", "i2s0_grp", | ||
96 | "i2s1_grp", "clcd_grp", "clcd_high_res_grp", "arm_gpio_grp", | ||
97 | "smi_2_chips_grp", "smi_4_chips_grp", "gmii_grp", "rgmii_grp", | ||
98 | "smii_0_1_2_grp", "ras_mii_txclk_grp", "nand_8bit_grp", | ||
99 | "nand_16bit_grp", "nand_4_chips_grp", "keyboard_6x6_grp", | ||
100 | "keyboard_rowcol6_8_grp", "uart0_grp", "uart0_modem_grp", | ||
101 | "gpt0_tmr0_grp", "gpt0_tmr1_grp", "gpt1_tmr0_grp", "gpt1_tmr1_grp", | ||
102 | "sdhci_grp", "cf_grp", "xd_grp", "touch_xy_grp", | ||
103 | "uart1_disable_i2c_grp", "uart1_disable_sd_grp", "uart2_3_grp", | ||
104 | "uart4_grp", "uart5_grp", "rs485_0_1_tdm_0_1_grp", "i2c_1_2_grp", | ||
105 | "i2c3_dis_smi_clcd_grp", "i2c3_dis_sd_i2s0_grp", "i2c_4_5_dis_smi_grp", | ||
106 | "i2c4_dis_sd_grp", "i2c5_dis_sd_grp", "i2c_6_7_dis_kbd_grp", | ||
107 | "i2c6_dis_sd_grp", "i2c7_dis_sd_grp", "can0_dis_nor_grp", | ||
108 | "can0_dis_sd_grp", "can1_dis_sd_grp", "can1_dis_kbd_grp", "pcie0_grp", | ||
109 | "pcie1_grp", "pcie2_grp", "sata0_grp", "sata1_grp", "sata2_grp", | ||
110 | "ssp1_dis_kbd_grp", "ssp1_dis_sd_grp", "gpt64_grp" | ||
111 | |||
112 | For SPEAr1340 machines: | ||
113 | "pads_as_gpio_grp", "fsmc_8bit_grp", "fsmc_16bit_grp", "fsmc_pnor_grp", | ||
114 | "keyboard_row_col_grp", "keyboard_col5_grp", "spdif_in_grp", | ||
115 | "spdif_out_grp", "gpt_0_1_grp", "pwm0_grp", "pwm1_grp", "pwm2_grp", | ||
116 | "pwm3_grp", "vip_mux_grp", "vip_mux_cam0_grp", "vip_mux_cam1_grp", | ||
117 | "vip_mux_cam2_grp", "vip_mux_cam3_grp", "cam0_grp", "cam1_grp", | ||
118 | "cam2_grp", "cam3_grp", "smi_grp", "ssp0_grp", "ssp0_cs1_grp", | ||
119 | "ssp0_cs2_grp", "ssp0_cs3_grp", "uart0_grp", "uart0_enh_grp", | ||
120 | "uart1_grp", "i2s_in_grp", "i2s_out_grp", "gmii_grp", "rgmii_grp", | ||
121 | "rmii_grp", "sgmii_grp", "i2c0_grp", "i2c1_grp", "cec0_grp", "cec1_grp", | ||
122 | "sdhci_grp", "cf_grp", "xd_grp", "clcd_grp", "arm_trace_grp", | ||
123 | "miphy_dbg_grp", "pcie_grp", "sata_grp" | ||
124 | |||
92 | Valid values for function names are: | 125 | Valid values for function names are: |
93 | For All SPEAr3xx machines: | 126 | For All SPEAr3xx machines: |
94 | "firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext", | 127 | "firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext", |
@@ -106,3 +139,17 @@ For SPEAr320 machines: | |||
106 | "uart2", "uart3", "uart4", "uart5", "uart6", "rs485", "touchscreen", | 139 | "uart2", "uart3", "uart4", "uart5", "uart6", "rs485", "touchscreen", |
107 | "can0", "can1", "pwm0_1", "pwm2", "pwm3", "ssp1", "ssp2", "mii2", | 140 | "can0", "can1", "pwm0_1", "pwm2", "pwm3", "ssp1", "ssp2", "mii2", |
108 | "mii0_1", "i2c1", "i2c2" | 141 | "mii0_1", "i2c1", "i2c2" |
142 | |||
143 | |||
144 | For SPEAr1310 machines: | ||
145 | "i2c0", "ssp0", "i2s0", "i2s1", "clcd", "arm_gpio", "smi", "gmii", | ||
146 | "rgmii", "smii_0_1_2", "ras_mii_txclk", "nand", "keyboard", "uart0", | ||
147 | "gpt0", "gpt1", "sdhci", "cf", "xd", "touchscreen", "uart1", "uart2_3", | ||
148 | "uart4", "uart5", "rs485_0_1_tdm_0_1", "i2c_1_2", "i2c3_i2s1", | ||
149 | "i2c_4_5", "i2c_6_7", "can0", "can1", "pci", "sata", "ssp1", "gpt64" | ||
150 | |||
151 | For SPEAr1340 machines: | ||
152 | "pads_as_gpio", "fsmc", "keyboard", "spdif_in", "spdif_out", "gpt_0_1", | ||
153 | "pwm", "vip", "cam0", "cam1", "cam2", "cam3", "smi", "ssp0", "uart0", | ||
154 | "uart1", "i2s", "gmac", "i2c0", "i2c1", "cec0", "cec1", "sdhci", "cf", | ||
155 | "xd", "clcd", "arm_trace", "miphy_dbg", "pcie", "sata" | ||