forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/a…
…rm-soc Device tree conversions for samsung and tegra Both platforms had some initial device tree support, but this adds much more to actually make it usable. * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits) ARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN ARM: EXYNOS: Add Exynos4 device tree enabled board file rtc: rtc-s3c: Add device tree support input: samsung-keypad: Add device tree support ARM: S5PV210: Modify platform data for pl330 driver ARM: S5PC100: Modify platform data for pl330 driver ARM: S5P64x0: Modify platform data for pl330 driver ARM: EXYNOS: Add a alias for pdma clocks ARM: EXYNOS: Limit usage of pl330 device instance to non-dt build ARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers DMA: PL330: Add device tree support ARM: EXYNOS: Modify platform data for pl330 driver DMA: PL330: Infer transfer direction from transfer request instead of platform data DMA: PL330: move filter function into driver serial: samsung: Fix build for non-Exynos4210 devices serial: samsung: add device tree support serial: samsung: merge probe() function from all SoC specific extensions serial: samsung: merge all SoC specific port reset functions ARM: SAMSUNG: register uart clocks to clock lookup list serial: samsung: remove all uses of get_clksrc and set_clksrc ... Fix up fairly trivial conflicts in arch/arm/mach-s3c2440/clock.c and drivers/tty/serial/Kconfig both due to just adding code close to changes.
- Loading branch information
Showing
74 changed files
with
3,015 additions
and
2,247 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
* Insignal's Exynos4210 based Origen evaluation board | ||
|
||
Origen low-cost evaluation board is based on Samsung's Exynos4210 SoC. | ||
|
||
Required root node properties: | ||
- compatible = should be one or more of the following. | ||
(a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board. | ||
(b) "samsung,exynos4210" - for boards based on Exynos4210 SoC. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
* Samsung's Exynos4210 based SMDKV310 evaluation board | ||
|
||
SMDKV310 evaluation board is based on Samsung's Exynos4210 SoC. | ||
|
||
Required root node properties: | ||
- compatible = should be one or more of the following. | ||
(a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board. | ||
(b) "samsung,exynos4210" - for boards based on Exynos4210 SoC. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
NVIDIA Tegra device tree bindings | ||
------------------------------------------- | ||
|
||
Boards with the tegra20 SoC shall have the following properties: | ||
|
||
Required root node property: | ||
|
||
compatible = "nvidia,tegra20"; | ||
|
||
Boards with the tegra30 SoC shall have the following properties: | ||
|
||
Required root node property: | ||
|
||
compatible = "nvidia,tegra30"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
* ARM PrimeCell PL330 DMA Controller | ||
|
||
The ARM PrimeCell PL330 DMA controller can move blocks of memory contents | ||
between memory and peripherals or memory to memory. | ||
|
||
Required properties: | ||
- compatible: should include both "arm,pl330" and "arm,primecell". | ||
- reg: physical base address of the controller and length of memory mapped | ||
region. | ||
- interrupts: interrupt number to the cpu. | ||
|
||
Example: | ||
|
||
pdma0: pdma@12680000 { | ||
compatible = "arm,pl330", "arm,primecell"; | ||
reg = <0x12680000 0x1000>; | ||
interrupts = <99>; | ||
}; | ||
|
||
Client drivers (device nodes requiring dma transfers from dev-to-mem or | ||
mem-to-dev) should specify the DMA channel numbers using a two-value pair | ||
as shown below. | ||
|
||
[property name] = <[phandle of the dma controller] [dma request id]>; | ||
|
||
where 'dma request id' is the dma request number which is connected | ||
to the client controller. The 'property name' is recommended to be | ||
of the form <name>-dma-channel. | ||
|
||
Example: tx-dma-channel = <&pdma0 12>; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
Samsung Exynos4 GPIO Controller | ||
|
||
Required properties: | ||
- compatible: Compatible property value should be "samsung,exynos4-gpio>". | ||
|
||
- reg: Physical base address of the controller and length of memory mapped | ||
region. | ||
|
||
- #gpio-cells: Should be 4. The syntax of the gpio specifier used by client nodes | ||
should be the following with values derived from the SoC user manual. | ||
<[phandle of the gpio controller node] | ||
[pin number within the gpio controller] | ||
[mux function] | ||
[pull up/down] | ||
[drive strength]> | ||
|
||
Values for gpio specifier: | ||
- Pin number: is a value between 0 to 7. | ||
- Pull Up/Down: 0 - Pull Up/Down Disabled. | ||
1 - Pull Down Enabled. | ||
3 - Pull Up Enabled. | ||
- Drive Strength: 0 - 1x, | ||
1 - 3x, | ||
2 - 2x, | ||
3 - 4x | ||
|
||
- gpio-controller: Specifies that the node is a gpio controller. | ||
- #address-cells: should be 1. | ||
- #size-cells: should be 1. | ||
|
||
Example: | ||
|
||
gpa0: gpio-controller@11400000 { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
compatible = "samsung,exynos4-gpio"; | ||
reg = <0x11400000 0x20>; | ||
#gpio-cells = <4>; | ||
gpio-controller; | ||
}; |
88 changes: 88 additions & 0 deletions
88
Documentation/devicetree/bindings/input/samsung-keypad.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
* Samsung's Keypad Controller device tree bindings | ||
|
||
Samsung's Keypad controller is used to interface a SoC with a matrix-type | ||
keypad device. The keypad controller supports multiple row and column lines. | ||
A key can be placed at each intersection of a unique row and a unique column. | ||
The keypad controller can sense a key-press and key-release and report the | ||
event using a interrupt to the cpu. | ||
|
||
Required SoC Specific Properties: | ||
- compatible: should be one of the following | ||
- "samsung,s3c6410-keypad": For controllers compatible with s3c6410 keypad | ||
controller. | ||
- "samsung,s5pv210-keypad": For controllers compatible with s5pv210 keypad | ||
controller. | ||
|
||
- reg: physical base address of the controller and length of memory mapped | ||
region. | ||
|
||
- interrupts: The interrupt number to the cpu. | ||
|
||
Required Board Specific Properties: | ||
- samsung,keypad-num-rows: Number of row lines connected to the keypad | ||
controller. | ||
|
||
- samsung,keypad-num-columns: Number of column lines connected to the | ||
keypad controller. | ||
|
||
- row-gpios: List of gpios used as row lines. The gpio specifier for | ||
this property depends on the gpio controller to which these row lines | ||
are connected. | ||
|
||
- col-gpios: List of gpios used as column lines. The gpio specifier for | ||
this property depends on the gpio controller to which these column | ||
lines are connected. | ||
|
||
- Keys represented as child nodes: Each key connected to the keypad | ||
controller is represented as a child node to the keypad controller | ||
device node and should include the following properties. | ||
- keypad,row: the row number to which the key is connected. | ||
- keypad,column: the column number to which the key is connected. | ||
- linux,code: the key-code to be reported when the key is pressed | ||
and released. | ||
|
||
Optional Properties specific to linux: | ||
- linux,keypad-no-autorepeat: do no enable autorepeat feature. | ||
- linux,keypad-wakeup: use any event on keypad as wakeup event. | ||
|
||
|
||
Example: | ||
keypad@100A0000 { | ||
compatible = "samsung,s5pv210-keypad"; | ||
reg = <0x100A0000 0x100>; | ||
interrupts = <173>; | ||
samsung,keypad-num-rows = <2>; | ||
samsung,keypad-num-columns = <8>; | ||
linux,input-no-autorepeat; | ||
linux,input-wakeup; | ||
|
||
row-gpios = <&gpx2 0 3 3 0 | ||
&gpx2 1 3 3 0>; | ||
|
||
col-gpios = <&gpx1 0 3 0 0 | ||
&gpx1 1 3 0 0 | ||
&gpx1 2 3 0 0 | ||
&gpx1 3 3 0 0 | ||
&gpx1 4 3 0 0 | ||
&gpx1 5 3 0 0 | ||
&gpx1 6 3 0 0 | ||
&gpx1 7 3 0 0>; | ||
|
||
key_1 { | ||
keypad,row = <0>; | ||
keypad,column = <3>; | ||
linux,code = <2>; | ||
}; | ||
|
||
key_2 { | ||
keypad,row = <0>; | ||
keypad,column = <4>; | ||
linux,code = <3>; | ||
}; | ||
|
||
key_3 { | ||
keypad,row = <0>; | ||
keypad,column = <5>; | ||
linux,code = <4>; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
* Samsung's S3C Real Time Clock controller | ||
|
||
Required properties: | ||
- compatible: should be one of the following. | ||
* "samsung,s3c2410-rtc" - for controllers compatible with s3c2410 rtc. | ||
* "samsung,s3c6410-rtc" - for controllers compatible with s3c6410 rtc. | ||
- reg: physical base address of the controller and length of memory mapped | ||
region. | ||
- interrupts: Two interrupt numbers to the cpu should be specified. First | ||
interrupt number is the rtc alarm interupt and second interrupt number | ||
is the rtc tick interrupt. The number of cells representing a interrupt | ||
depends on the parent interrupt controller. | ||
|
||
Example: | ||
|
||
rtc@10070000 { | ||
compatible = "samsung,s3c6410-rtc"; | ||
reg = <0x10070000 0x100>; | ||
interrupts = <44 0 45 0>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
* Samsung's UART Controller | ||
|
||
The Samsung's UART controller is used for interfacing SoC with serial communicaion | ||
devices. | ||
|
||
Required properties: | ||
- compatible: should be | ||
- "samsung,exynos4210-uart", for UART's compatible with Exynos4210 uart ports. | ||
|
||
- reg: base physical address of the controller and length of memory mapped | ||
region. | ||
|
||
- interrupts: interrupt number to the cpu. The interrupt specifier format depends | ||
on the interrupt controller parent. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
Tegra SOC USB controllers | ||
|
||
The device node for a USB controller that is part of a Tegra | ||
SOC is as described in the document "Open Firmware Recommended | ||
Practice : Universal Serial Bus" with the following modifications | ||
and additions : | ||
|
||
Required properties : | ||
- compatible : Should be "nvidia,tegra20-ehci" for USB controllers | ||
used in host mode. | ||
- phy_type : Should be one of "ulpi" or "utmi". | ||
- nvidia,vbus-gpio : If present, specifies a gpio that needs to be | ||
activated for the bus to be powered. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
/* | ||
* Samsung's Exynos4210 based Origen board device tree source | ||
* | ||
* Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | ||
* http://www.samsung.com | ||
* Copyright (c) 2010-2011 Linaro Ltd. | ||
* www.linaro.org | ||
* | ||
* Device tree source file for Insignal's Origen board which is based on | ||
* Samsung's Exynos4210 SoC. | ||
* | ||
* 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. | ||
*/ | ||
|
||
/dts-v1/; | ||
/include/ "exynos4210.dtsi" | ||
|
||
/ { | ||
model = "Insignal Origen evaluation board based on Exynos4210"; | ||
compatible = "insignal,origen", "samsung,exynos4210"; | ||
|
||
memory { | ||
reg = <0x40000000 0x40000000>; | ||
}; | ||
|
||
chosen { | ||
bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc"; | ||
}; | ||
|
||
sdhci@12530000 { | ||
samsung,sdhci-bus-width = <4>; | ||
linux,mmc_cap_4_bit_data; | ||
samsung,sdhci-cd-internal; | ||
gpio-cd = <&gpk2 2 2 3 3>; | ||
gpios = <&gpk2 0 2 0 3>, | ||
<&gpk2 1 2 0 3>, | ||
<&gpk2 3 2 3 3>, | ||
<&gpk2 4 2 3 3>, | ||
<&gpk2 5 2 3 3>, | ||
<&gpk2 6 2 3 3>; | ||
}; | ||
|
||
sdhci@12510000 { | ||
samsung,sdhci-bus-width = <4>; | ||
linux,mmc_cap_4_bit_data; | ||
samsung,sdhci-cd-internal; | ||
gpio-cd = <&gpk0 2 2 3 3>; | ||
gpios = <&gpk0 0 2 0 3>, | ||
<&gpk0 1 2 0 3>, | ||
<&gpk0 3 2 3 3>, | ||
<&gpk0 4 2 3 3>, | ||
<&gpk0 5 2 3 3>, | ||
<&gpk0 6 2 3 3>; | ||
}; | ||
|
||
gpio_keys { | ||
compatible = "gpio-keys"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
up { | ||
label = "Up"; | ||
gpios = <&gpx2 0 0 0 2>; | ||
linux,code = <103>; | ||
}; | ||
|
||
down { | ||
label = "Down"; | ||
gpios = <&gpx2 1 0 0 2>; | ||
linux,code = <108>; | ||
}; | ||
|
||
back { | ||
label = "Back"; | ||
gpios = <&gpx1 7 0 0 2>; | ||
linux,code = <158>; | ||
}; | ||
|
||
home { | ||
label = "Home"; | ||
gpios = <&gpx1 6 0 0 2>; | ||
linux,code = <102>; | ||
}; | ||
|
||
menu { | ||
label = "Menu"; | ||
gpios = <&gpx1 5 0 0 2>; | ||
linux,code = <139>; | ||
}; | ||
}; | ||
|
||
keypad@100A0000 { | ||
status = "disabled"; | ||
}; | ||
|
||
sdhci@12520000 { | ||
status = "disabled"; | ||
}; | ||
|
||
sdhci@12540000 { | ||
status = "disabled"; | ||
}; | ||
|
||
i2c@13860000 { | ||
status = "disabled"; | ||
}; | ||
|
||
i2c@13870000 { | ||
status = "disabled"; | ||
}; | ||
|
||
i2c@13880000 { | ||
status = "disabled"; | ||
}; | ||
|
||
i2c@13890000 { | ||
status = "disabled"; | ||
}; | ||
|
||
i2c@138A0000 { | ||
status = "disabled"; | ||
}; | ||
|
||
i2c@138B0000 { | ||
status = "disabled"; | ||
}; | ||
|
||
i2c@138C0000 { | ||
status = "disabled"; | ||
}; | ||
|
||
i2c@138D0000 { | ||
status = "disabled"; | ||
}; | ||
}; |
Oops, something went wrong.