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.
b) pin number within the gpio controller.
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:
hdmi {

View File

@ -10,6 +10,10 @@ Required properties:
- reg: physical base address of the mixer and length of memory mapped
region.
- 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:

View File

@ -49,6 +49,12 @@ chipid@10000000 {
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 {
compatible = "samsung,exynos4210-pd";
reg = <0x10023C40 0x20>;
@ -161,6 +167,8 @@ csis_0: csis@11880000 {
clock-names = "csis", "sclk_csis";
bus-width = <4>;
samsung,power-domain = <&pd_cam>;
phys = <&mipi_phy 0>;
phy-names = "csis";
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
@ -174,6 +182,8 @@ csis_1: csis@11890000 {
clock-names = "csis", "sclk_csis";
bus-width = <2>;
samsung,power-domain = <&pd_cam>;
phys = <&mipi_phy 2>;
phy-names = "csis";
status = "disabled";
#address-cells = <1>;
#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";
};
mmc_reg: voltage-regulator {
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
mmc_reg: regulator@0 {
compatible = "regulator-fixed";
reg = <0>;
regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&gpx1 1 0>;
enable-active-high;
};
};
tmu@100C0000 {
status = "okay";

View File

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

View File

@ -324,7 +324,14 @@ i2c@12C70000 {
};
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 {
@ -362,6 +369,17 @@ i2c@12CD0000 {
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 {
status = "disabled";
};
@ -412,6 +430,10 @@ dwmmc_3: dwmmc3@12230000 {
status = "disabled";
};
i2s0: i2s@03830000 {
status = "okay";
};
spi_0: spi@12d20000 {
status = "disabled";
};
@ -482,13 +504,15 @@ regulators {
#address-cells = <1>;
#size-cells = <0>;
main_dc_reg: fixedregulator@1 {
main_dc_reg: regulator@0 {
compatible = "regulator-fixed";
reg = <0>;
regulator-name = "MAIN_DC";
};
mmc_reg: voltage-regulator {
mmc_reg: regulator@1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "VDD_33ON_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
@ -496,8 +520,9 @@ mmc_reg: voltage-regulator {
enable-active-high;
};
reg_hdmi_en: fixedregulator@0 {
reg_hdmi_en: regulator@2 {
compatible = "regulator-fixed";
reg = <2>;
regulator-name = "hdmi-en";
};
};

View File

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

View File

@ -422,6 +422,7 @@ dwmmc_3: dwmmc3@12230000 {
i2s0: i2s@03830000 {
compatible = "samsung,s5pv210-i2s";
status = "disabled";
reg = <0x03830000 0x100>;
dmas = <&pdma0 10
&pdma0 9
@ -438,6 +439,7 @@ &pdma0 9
i2s1: i2s@12D60000 {
compatible = "samsung,s3c6410-i2s";
status = "disabled";
reg = <0x12D60000 0x100>;
dmas = <&pdma1 12
&pdma1 11>;
@ -450,6 +452,7 @@ i2s1: i2s@12D60000 {
i2s2: i2s@12D70000 {
compatible = "samsung,s3c6410-i2s";
status = "disabled";
reg = <0x12D70000 0x100>;
dmas = <&pdma0 12
&pdma0 11>;
@ -615,16 +618,18 @@ hdmi {
compatible = "samsung,exynos4212-hdmi";
reg = <0x14530000 0x70000>;
interrupts = <0 95 0>;
clocks = <&clock 333>, <&clock 136>, <&clock 137>,
<&clock 333>, <&clock 333>;
clocks = <&clock 344>, <&clock 136>, <&clock 137>,
<&clock 159>, <&clock 1024>;
clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
"sclk_hdmiphy", "hdmiphy";
"sclk_hdmiphy", "mout_hdmi";
};
mixer {
compatible = "samsung,exynos5250-mixer";
reg = <0x14450000 0x10000>;
interrupts = <0 94 0>;
clocks = <&clock 343>, <&clock 136>;
clock-names = "mixer", "sclk_hdmi";
};
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;
pinctrl3 = &pinctrl_3;
pinctrl4 = &pinctrl_4;
i2c0 = &i2c_0;
i2c1 = &i2c_1;
i2c2 = &i2c_2;
i2c3 = &i2c_3;
};
cpus {
@ -235,4 +239,75 @@ adc: adc@12D10000 {
io-channel-ranges;
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";
};
};