mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 01:21:28 +00:00
2nd exynos dt update based on tags/exynos-dt-1
- enable RTC on exynos5250 snow and Arndale boards - add support LCD and PWM for exynos4210 Origen board - update bootargs to support 8GiB for exynos5440 SSDK5440 and SD5v1 boards - enable spi and add opp level for exynos5440 - add example doc for samsung-pinctrl dt bindings -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJRwKxNAAoJEA0Cl+kVi2xqNEwP/1ULCiSfYPtaOZ6G/0R/yHvt 6DMYqUo8d4XjLfM4B+inKsxnplAdi+oR7yOmp2OTVVxZn5FI2qxP8FytxjnFClJw nNCBtGMbyDD81eSdDjatbIJj9jslkgHKvlUkf9mixGUi/DZof7uCbK0qdvd9puk8 NC8FIXEIRlm8KOcGZ8TEh4f5tqkDCopDbyjEuXP8WsmJjdsDYvtWy4FmrxT34KWV 3VSppbCF9GHIi3hKlC2W9j6XOb1b1n8xL4Iv0KFwOTEDb5GSOwwPtUpk5BLvclDP W1LGFl9A3ZU5TAa3B0Hsk5nFy6C1lhOPowraHSlnGg4wvm5q1i1YDZfhYJ3tl7rQ TRUb7ZV1A9Wku2sxqy2S3G/Xxk7ixsuM1iqUF+HWpwb0mykXdH8UpJRR/6Jl20Ds bh4MElqquQlkj25aZmj0w+YldkWhalup7lPFAcwnJsDPtZVeZ21RY6f0WBUsH3rl NYtSBwR/NPVxtdtCLzKyY7ortrqCJ42vCvpWgPSPN+C5sGo30ZHGQmIu83mvvSe+ ik96gp57fk6+crVmv5GJS8vvVFzT4MvTzAgL+mB4icpdn6ZYBUiPnaUSNi2rlXGt B0GK66cTaX4p+GO3SkjYkojmV8cMPG7R2EoNgx77ggXJmTDnb3a+3uYDxlNGO/EE 9iw39+efVucxKV4wnEYE =sN6E -----END PGP SIGNATURE----- Merge tag 'exynos-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt From Kukjin Kim: 2nd exynos dt update based on tags/exynos-dt-1 - enable RTC on exynos5250 snow and Arndale boards - add support LCD and PWM for exynos4210 Origen board - update bootargs to support 8GiB for exynos5440 SSDK5440 and SD5v1 boards - enable spi and add opp level for exynos5440 - add example doc for samsung-pinctrl dt bindings * tag 'exynos-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Set BUCK7 as always on for Origen board ARM: dts: Add FIMD node to Origen4210 board ARM: dts: Add LCD related pinctrl entries for exynos4210 ARM: dts: Add PWM related pinctrl entries for exynos4210 Documentation: Add examples to samsung-pinctrl device tree bindings documentation ARM: dts: Enable RTC node for exynos5250-snow ARM: dts: Enable RTC node for Arndale ARM: dts: Removing pdma for exynos5440 ARM: dts: update bootargs to support 8GiB for SSDK5440 and SD5v1 ARM: dts: Add more opp levels in exynos5440 ARM: dts: Add wm8994 regulator support on smdk5250 ARM: dts: enable spi for EXYNOS5440 SOC Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
6f9543f158
@ -21,8 +21,18 @@ Required Properties:
|
||||
|
||||
- gpio-controller: identifies the node as a gpio controller and pin bank.
|
||||
- #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO
|
||||
binding is used, the amount of cells must be specified as 2. See generic
|
||||
GPIO binding documentation for description of particular cells.
|
||||
binding is used, the amount of cells must be specified as 2. See the below
|
||||
mentioned gpio binding representation for description of particular cells.
|
||||
|
||||
Eg: <&gpx2 6 0>
|
||||
<[phandle of the gpio controller node]
|
||||
[pin number within the gpio controller]
|
||||
[flags]>
|
||||
|
||||
Values for gpio specifier:
|
||||
- Pin number: is a value between 0 to 7.
|
||||
- Flags: 0 - Active High
|
||||
1 - Active Low
|
||||
|
||||
- Pin mux/config groups as child nodes: The pin mux (selecting pin function
|
||||
mode) and pin config (pull up/down, driver strength) settings are represented
|
||||
@ -266,3 +276,33 @@ Example 4: Set up the default pin state for uart controller.
|
||||
|
||||
pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
|
||||
}
|
||||
|
||||
Example 5: A display port client node that supports 'default' pinctrl state
|
||||
and gpio binding.
|
||||
|
||||
display-port-controller {
|
||||
/* ... */
|
||||
|
||||
samsung,hpd-gpio = <&gpx2 6 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dp_hpd>;
|
||||
};
|
||||
|
||||
Example 6: Request the gpio for display port controller
|
||||
|
||||
static int exynos_dp_probe(struct platform_device *pdev)
|
||||
{
|
||||
int hpd_gpio, ret;
|
||||
struct device *dev = &pdev->dev;
|
||||
struct device_node *dp_node = dev->of_node;
|
||||
|
||||
/* ... */
|
||||
|
||||
hpd_gpio = of_get_named_gpio(dp_node, "samsung,hpd-gpio", 0);
|
||||
|
||||
/* ... */
|
||||
|
||||
ret = devm_gpio_request_one(&pdev->dev, hpd_gpio, GPIOF_IN,
|
||||
"hpd_gpio");
|
||||
/* ... */
|
||||
}
|
||||
|
@ -225,6 +225,7 @@
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -290,4 +291,25 @@
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
|
||||
fimd@11c00000 {
|
||||
pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
display-timings {
|
||||
native-mode = <&timing0>;
|
||||
timing0: timing {
|
||||
clock-frequency = <50000>;
|
||||
hactive = <1024>;
|
||||
vactive = <600>;
|
||||
hfront-porch = <64>;
|
||||
hback-porch = <16>;
|
||||
hsync-len = <48>;
|
||||
vback-porch = <64>;
|
||||
vfront-porch = <16>;
|
||||
vsync-len = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -330,6 +330,95 @@
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
pwm0_out: pwm0-out {
|
||||
samsung,pins = "gpd0-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
pwm1_out: pwm1-out {
|
||||
samsung,pins = "gpd0-1";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
pwm2_out: pwm2-out {
|
||||
samsung,pins = "gpd0-2";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
pwm3_out: pwm3-out {
|
||||
samsung,pins = "gpd0-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
lcd_ctrl: lcd-ctrl {
|
||||
samsung,pins = "gpd0-0", "gpd0-1";
|
||||
samsung,pin-function = <3>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
lcd_sync: lcd-sync {
|
||||
samsung,pins = "gpf0-0", "gpf0-1";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
lcd_en: lcd-en {
|
||||
samsung,pins = "gpe3-4";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
lcd_clk: lcd-clk {
|
||||
samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
lcd_data16: lcd-data-width16 {
|
||||
samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2",
|
||||
"gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0",
|
||||
"gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7",
|
||||
"gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
lcd_data18: lcd-data-width18 {
|
||||
samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1",
|
||||
"gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7",
|
||||
"gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
|
||||
"gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1",
|
||||
"gpf3-2", "gpf3-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
|
||||
lcd_data24: lcd-data-width24 {
|
||||
samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7",
|
||||
"gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3",
|
||||
"gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7",
|
||||
"gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
|
||||
"gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7",
|
||||
"gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl@11000000 {
|
||||
|
@ -477,4 +477,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
rtc {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
@ -37,6 +37,30 @@
|
||||
};
|
||||
};
|
||||
|
||||
vdd:fixed-regulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vdd-supply";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dbvdd:fixed-regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "dbvdd-supply";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
spkvdd:fixed-regulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "spkvdd-supply";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
i2c@12C70000 {
|
||||
samsung,i2c-sda-delay = <100>;
|
||||
samsung,i2c-max-bus-freq = <20000>;
|
||||
@ -47,8 +71,17 @@
|
||||
};
|
||||
|
||||
wm8994: wm8994@1a {
|
||||
compatible = "wlf,wm8994";
|
||||
reg = <0x1a>;
|
||||
compatible = "wlf,wm8994";
|
||||
reg = <0x1a>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
AVDD2-supply = <&vdd>;
|
||||
CPVDD-supply = <&vdd>;
|
||||
DBVDD-supply = <&dbvdd>;
|
||||
SPKVDD1-supply = <&spkvdd>;
|
||||
SPKVDD2-supply = <&spkvdd>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -171,6 +171,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
rtc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
* On Snow we've got SIP WiFi and so can keep drive strengths low to
|
||||
* reduce EMI.
|
||||
|
@ -17,7 +17,7 @@
|
||||
compatible = "samsung,sd5v1", "samsung,exynos5440";
|
||||
|
||||
chosen {
|
||||
bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel early_printk no_console_suspend mem=2048M@0x80000000 console=ttySAC0,115200";
|
||||
bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel early_printk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200";
|
||||
};
|
||||
|
||||
fixed-rate-clocks {
|
||||
|
@ -17,11 +17,46 @@
|
||||
compatible = "samsung,ssdk5440", "samsung,exynos5440";
|
||||
|
||||
chosen {
|
||||
bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel early_printk no_console_suspend mem=2048M@0x80000000 console=ttySAC0,115200";
|
||||
bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel early_printk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200";
|
||||
};
|
||||
|
||||
spi {
|
||||
status = "disabled";
|
||||
spi_0: spi@D0000 {
|
||||
|
||||
flash: w25q128@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "winbond,w25q128";
|
||||
spi-max-frequency = <15625000>;
|
||||
reg = <0>;
|
||||
controller-data {
|
||||
samsung,spi-feedback-delay = <0>;
|
||||
};
|
||||
|
||||
partition@00000 {
|
||||
label = "BootLoader";
|
||||
reg = <0x60000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@e0000 {
|
||||
label = "Recovery-Kernel";
|
||||
reg = <0xe0000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "CRAM-FS";
|
||||
reg = <0x3e0000 0x700000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@ae0000 {
|
||||
label = "User-Data";
|
||||
reg = <0xae0000 0x520000>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
fixed-rate-clocks {
|
||||
|
@ -16,6 +16,10 @@
|
||||
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
aliases {
|
||||
spi0 = &spi_0;
|
||||
};
|
||||
|
||||
clock: clock-controller@0x160000 {
|
||||
compatible = "samsung,exynos5440-clock";
|
||||
reg = <0x160000 0x1000>;
|
||||
@ -83,8 +87,13 @@
|
||||
interrupts = <0 57 0>;
|
||||
operating-points = <
|
||||
/* KHz uV */
|
||||
1500000 1100000
|
||||
1400000 1075000
|
||||
1300000 1050000
|
||||
1200000 1025000
|
||||
1100000 1000000
|
||||
1000000 975000
|
||||
900000 950000
|
||||
800000 925000
|
||||
>;
|
||||
};
|
||||
@ -105,14 +114,14 @@
|
||||
clock-names = "uart", "clk_uart_baud0";
|
||||
};
|
||||
|
||||
spi {
|
||||
compatible = "samsung,exynos4210-spi";
|
||||
reg = <0xD0000 0x1000>;
|
||||
spi_0: spi@D0000 {
|
||||
compatible = "samsung,exynos5440-spi";
|
||||
reg = <0xD0000 0x100>;
|
||||
interrupts = <0 4 0>;
|
||||
tx-dma-channel = <&pdma0 5>; /* preliminary */
|
||||
rx-dma-channel = <&pdma0 4>; /* preliminary */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
samsung,spi-src-clk = <0>;
|
||||
num-cs = <1>;
|
||||
clocks = <&clock 21>, <&clock 16>;
|
||||
clock-names = "spi", "spi_busclk0";
|
||||
};
|
||||
@ -188,28 +197,6 @@
|
||||
compatible = "arm,amba-bus";
|
||||
interrupt-parent = <&gic>;
|
||||
ranges;
|
||||
|
||||
pdma0: pdma@00121000 {
|
||||
compatible = "arm,pl330", "arm,primecell";
|
||||
reg = <0x121000 0x1000>;
|
||||
interrupts = <0 46 0>;
|
||||
clocks = <&clock 8>;
|
||||
clock-names = "apb_pclk";
|
||||
#dma-cells = <1>;
|
||||
#dma-channels = <8>;
|
||||
#dma-requests = <32>;
|
||||
};
|
||||
|
||||
pdma1: pdma@00120000 {
|
||||
compatible = "arm,pl330", "arm,primecell";
|
||||
reg = <0x120000 0x1000>;
|
||||
interrupts = <0 47 0>;
|
||||
clocks = <&clock 8>;
|
||||
clock-names = "apb_pclk";
|
||||
#dma-cells = <1>;
|
||||
#dma-channels = <8>;
|
||||
#dma-requests = <32>;
|
||||
};
|
||||
};
|
||||
|
||||
rtc {
|
||||
|
Loading…
Reference in New Issue
Block a user