Merge most of tag 'tags/exynos-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git into next/dt

From Kukjin Kim, these are device-tree updates for Exynos. Among the changes:
- add MIPI PHY node for exynos4
- update regulator for origen and exynos5250-arndale
- add support HDMI for exynos5250, exynos5420

* commit '93457b9cb980ffeeef020c3bcd99065c3807619b':
  ARM: dts: Add HDMI related I2C nodes for Arndale board
  ARM: dts: enable hdmi subsystem for exynos5420 smdk board
  ARM: dts: add dt nodes for hdmi subsystem for exynos5420
  ARM: dts: add i2c device nodes for Exynos5420
  ARM: dts: add clocks to hdmi dt node for exynos5250
  ARM: dts: add mixer clocks to mixer node for Exynos5250
  of/documentation: update with clock information for exynos hdmi subsystem
  ARM: dts: Disable Exynos5250 I2S controllers by default
  ARM: dts: Add reg property to regulator nodes in exynos5250-arndale
  ARM: dts: Add fixed voltage regulator to simple bus for origen
  ARM: dts: Add MIPI PHY node to exynos4.dtsi
This commit is contained in:
Olof Johansson 2013-10-27 21:54:02 -07:00
commit 2de1a7a855
10 changed files with 193 additions and 30 deletions

View File

@ -12,7 +12,19 @@ Required properties:
a) phandle of the gpio controller node. a) phandle of the gpio controller node.
b) pin number within the gpio controller. b) pin number within the gpio controller.
c) optional flags and pull up/down. c) optional flags and pull up/down.
- clocks: list of clock IDs from SoC clock driver.
a) hdmi: Gate of HDMI IP bus clock.
b) sclk_hdmi: Gate of HDMI special clock.
c) sclk_pixel: Pixel special clock, one of the two possible inputs of
HDMI clock mux.
d) sclk_hdmiphy: HDMI PHY clock output, one of two possible inputs of
HDMI clock mux.
e) mout_hdmi: It is required by the driver to switch between the 2
parents i.e. sclk_pixel and sclk_hdmiphy. If hdmiphy is stable
after configuration, parent is set to sclk_hdmiphy else
sclk_pixel.
- clock-names: aliases as per driver requirements for above clock IDs:
"hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy" and "mout_hdmi".
Example: Example:
hdmi { hdmi {

View File

@ -10,6 +10,10 @@ Required properties:
- reg: physical base address of the mixer and length of memory mapped - reg: physical base address of the mixer and length of memory mapped
region. region.
- interrupts: interrupt number to the cpu. - interrupts: interrupt number to the cpu.
- clocks: list of clock IDs from SoC clock driver.
a) mixer: Gate of Mixer IP bus clock.
b) sclk_hdmi: HDMI Special clock, one of the two possible inputs of
mixer mux.
Example: Example:

View File

@ -49,6 +49,12 @@ chipid@10000000 {
reg = <0x10000000 0x100>; reg = <0x10000000 0x100>;
}; };
mipi_phy: video-phy@10020710 {
compatible = "samsung,s5pv210-mipi-video-phy";
reg = <0x10020710 8>;
#phy-cells = <1>;
};
pd_mfc: mfc-power-domain@10023C40 { pd_mfc: mfc-power-domain@10023C40 {
compatible = "samsung,exynos4210-pd"; compatible = "samsung,exynos4210-pd";
reg = <0x10023C40 0x20>; reg = <0x10023C40 0x20>;
@ -161,6 +167,8 @@ csis_0: csis@11880000 {
clock-names = "csis", "sclk_csis"; clock-names = "csis", "sclk_csis";
bus-width = <4>; bus-width = <4>;
samsung,power-domain = <&pd_cam>; samsung,power-domain = <&pd_cam>;
phys = <&mipi_phy 0>;
phy-names = "csis";
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -174,6 +182,8 @@ csis_1: csis@11890000 {
clock-names = "csis", "sclk_csis"; clock-names = "csis", "sclk_csis";
bus-width = <2>; bus-width = <2>;
samsung,power-domain = <&pd_cam>; samsung,power-domain = <&pd_cam>;
phys = <&mipi_phy 2>;
phy-names = "csis";
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;

View File

@ -32,14 +32,21 @@ chosen {
bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc"; bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
}; };
mmc_reg: voltage-regulator { regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
mmc_reg: regulator@0 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <0>;
regulator-name = "VMEM_VDD_2.8V"; regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpx1 1 0>; gpio = <&gpx1 1 0>;
enable-active-high; enable-active-high;
}; };
};
tmu@100C0000 { tmu@100C0000 {
status = "okay"; status = "okay";

View File

@ -32,14 +32,21 @@ firmware@0203F000 {
reg = <0x0203F000 0x1000>; reg = <0x0203F000 0x1000>;
}; };
mmc_reg: voltage-regulator { regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
mmc_reg: regulator@0 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <0>;
regulator-name = "VMEM_VDD_2.8V"; regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpx1 1 0>; gpio = <&gpx1 1 0>;
enable-active-high; enable-active-high;
}; };
};
pinctrl@11000000 { pinctrl@11000000 {
keypad_rows: keypad-rows { keypad_rows: keypad-rows {

View File

@ -324,7 +324,14 @@ i2c@12C70000 {
}; };
i2c@12C80000 { i2c@12C80000 {
status = "disabled"; samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
samsung,i2c-slave-addr = <0x50>;
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
};
}; };
i2c@12C90000 { i2c@12C90000 {
@ -362,6 +369,17 @@ i2c@12CD0000 {
status = "disabled"; status = "disabled";
}; };
i2c@12CE0000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
samsung,i2c-slave-addr = <0x38>;
hdmiphy@38 {
compatible = "samsung,exynos4212-hdmiphy";
reg = <0x38>;
};
};
i2c@121D0000 { i2c@121D0000 {
status = "disabled"; status = "disabled";
}; };
@ -412,6 +430,10 @@ dwmmc_3: dwmmc3@12230000 {
status = "disabled"; status = "disabled";
}; };
i2s0: i2s@03830000 {
status = "okay";
};
spi_0: spi@12d20000 { spi_0: spi@12d20000 {
status = "disabled"; status = "disabled";
}; };
@ -482,13 +504,15 @@ regulators {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
main_dc_reg: fixedregulator@1 { main_dc_reg: regulator@0 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <0>;
regulator-name = "MAIN_DC"; regulator-name = "MAIN_DC";
}; };
mmc_reg: voltage-regulator { mmc_reg: regulator@1 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <1>;
regulator-name = "VDD_33ON_2.8V"; regulator-name = "VDD_33ON_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
@ -496,8 +520,9 @@ mmc_reg: voltage-regulator {
enable-active-high; enable-active-high;
}; };
reg_hdmi_en: fixedregulator@0 { reg_hdmi_en: regulator@2 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <2>;
regulator-name = "hdmi-en"; regulator-name = "hdmi-en";
}; };
}; };

View File

@ -231,14 +231,6 @@ i2s0: i2s@03830000 {
status = "okay"; status = "okay";
}; };
i2s1: i2s@12D60000 {
status = "disabled";
};
i2s2: i2s@12D70000 {
status = "disabled";
};
sound { sound {
compatible = "samsung,smdk-wm8994"; compatible = "samsung,smdk-wm8994";

View File

@ -422,6 +422,7 @@ dwmmc_3: dwmmc3@12230000 {
i2s0: i2s@03830000 { i2s0: i2s@03830000 {
compatible = "samsung,s5pv210-i2s"; compatible = "samsung,s5pv210-i2s";
status = "disabled";
reg = <0x03830000 0x100>; reg = <0x03830000 0x100>;
dmas = <&pdma0 10 dmas = <&pdma0 10
&pdma0 9 &pdma0 9
@ -438,6 +439,7 @@ &pdma0 9
i2s1: i2s@12D60000 { i2s1: i2s@12D60000 {
compatible = "samsung,s3c6410-i2s"; compatible = "samsung,s3c6410-i2s";
status = "disabled";
reg = <0x12D60000 0x100>; reg = <0x12D60000 0x100>;
dmas = <&pdma1 12 dmas = <&pdma1 12
&pdma1 11>; &pdma1 11>;
@ -450,6 +452,7 @@ i2s1: i2s@12D60000 {
i2s2: i2s@12D70000 { i2s2: i2s@12D70000 {
compatible = "samsung,s3c6410-i2s"; compatible = "samsung,s3c6410-i2s";
status = "disabled";
reg = <0x12D70000 0x100>; reg = <0x12D70000 0x100>;
dmas = <&pdma0 12 dmas = <&pdma0 12
&pdma0 11>; &pdma0 11>;
@ -615,16 +618,18 @@ hdmi {
compatible = "samsung,exynos4212-hdmi"; compatible = "samsung,exynos4212-hdmi";
reg = <0x14530000 0x70000>; reg = <0x14530000 0x70000>;
interrupts = <0 95 0>; interrupts = <0 95 0>;
clocks = <&clock 333>, <&clock 136>, <&clock 137>, clocks = <&clock 344>, <&clock 136>, <&clock 137>,
<&clock 333>, <&clock 333>; <&clock 159>, <&clock 1024>;
clock-names = "hdmi", "sclk_hdmi", "sclk_pixel", clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
"sclk_hdmiphy", "hdmiphy"; "sclk_hdmiphy", "mout_hdmi";
}; };
mixer { mixer {
compatible = "samsung,exynos5250-mixer"; compatible = "samsung,exynos5250-mixer";
reg = <0x14450000 0x10000>; reg = <0x14450000 0x10000>;
interrupts = <0 94 0>; interrupts = <0 94 0>;
clocks = <&clock 343>, <&clock 136>;
clock-names = "mixer", "sclk_hdmi";
}; };
dp_phy: video-phy@10040720 { dp_phy: video-phy@10040720 {

View File

@ -61,4 +61,30 @@ timing0: timing@0 {
}; };
}; };
pinctrl@13400000 {
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <0>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
};
hdmi@14530000 {
status = "okay";
hpd-gpio = <&gpx3 7 0>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
};
i2c_2: i2c@12C80000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
status = "okay";
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
};
};
}; };

View File

@ -27,6 +27,10 @@ aliases {
pinctrl2 = &pinctrl_2; pinctrl2 = &pinctrl_2;
pinctrl3 = &pinctrl_3; pinctrl3 = &pinctrl_3;
pinctrl4 = &pinctrl_4; pinctrl4 = &pinctrl_4;
i2c0 = &i2c_0;
i2c1 = &i2c_1;
i2c2 = &i2c_2;
i2c3 = &i2c_3;
}; };
cpus { cpus {
@ -235,4 +239,75 @@ adc: adc@12D10000 {
io-channel-ranges; io-channel-ranges;
status = "disabled"; status = "disabled";
}; };
i2c_0: i2c@12C60000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x12C60000 0x100>;
interrupts = <0 56 0>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&clock 261>;
clock-names = "i2c";
pinctrl-names = "default";
pinctrl-0 = <&i2c0_bus>;
status = "disabled";
};
i2c_1: i2c@12C70000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x12C70000 0x100>;
interrupts = <0 57 0>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&clock 262>;
clock-names = "i2c";
pinctrl-names = "default";
pinctrl-0 = <&i2c1_bus>;
status = "disabled";
};
i2c_2: i2c@12C80000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x12C80000 0x100>;
interrupts = <0 58 0>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&clock 263>;
clock-names = "i2c";
pinctrl-names = "default";
pinctrl-0 = <&i2c2_bus>;
status = "disabled";
};
i2c_3: i2c@12C90000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x12C90000 0x100>;
interrupts = <0 59 0>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&clock 264>;
clock-names = "i2c";
pinctrl-names = "default";
pinctrl-0 = <&i2c3_bus>;
status = "disabled";
};
hdmi@14530000 {
compatible = "samsung,exynos4212-hdmi";
reg = <0x14530000 0x70000>;
interrupts = <0 95 0>;
clocks = <&clock 413>, <&clock 143>, <&clock 768>,
<&clock 158>, <&clock 640>;
clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
"sclk_hdmiphy", "mout_hdmi";
status = "disabled";
};
mixer@14450000 {
compatible = "samsung,exynos5420-mixer";
reg = <0x14450000 0x10000>;
interrupts = <0 94 0>;
clocks = <&clock 431>, <&clock 143>;
clock-names = "mixer", "sclk_hdmi";
};
}; };