Skip to content

Commit

Permalink
Merge most of tag 'tags/exynos-dt' of git://git.kernel.org/pub/scm/li…
Browse files Browse the repository at this point in the history
…nux/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
  • Loading branch information
Olof Johansson committed Oct 28, 2013
2 parents d31a408 + 93457b9 commit 2de1a7a
Show file tree
Hide file tree
Showing 10 changed files with 193 additions and 30 deletions.
14 changes: 13 additions & 1 deletion Documentation/devicetree/bindings/video/exynos_hdmi.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/video/exynos_mixer.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
10 changes: 10 additions & 0 deletions arch/arm/boot/dts/exynos4.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@
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>;
Expand Down Expand Up @@ -161,6 +167,8 @@
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>;
Expand All @@ -174,6 +182,8 @@
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>;
Expand Down
21 changes: 14 additions & 7 deletions arch/arm/boot/dts/exynos4210-origen.dts
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,20 @@
bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
};

mmc_reg: voltage-regulator {
compatible = "regulator-fixed";
regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&gpx1 1 0>;
enable-active-high;
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 {
Expand Down
21 changes: 14 additions & 7 deletions arch/arm/boot/dts/exynos4412-origen.dts
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,20 @@
reg = <0x0203F000 0x1000>;
};

mmc_reg: voltage-regulator {
compatible = "regulator-fixed";
regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&gpx1 1 0>;
enable-active-high;
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 {
Expand Down
33 changes: 29 additions & 4 deletions arch/arm/boot/dts/exynos5250-arndale.dts
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,14 @@
};

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 {
Expand Down Expand Up @@ -362,6 +369,17 @@
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";
};
Expand Down Expand Up @@ -412,6 +430,10 @@
status = "disabled";
};

i2s0: i2s@03830000 {
status = "okay";
};

spi_0: spi@12d20000 {
status = "disabled";
};
Expand Down Expand Up @@ -482,22 +504,25 @@
#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>;
gpio = <&gpx1 1 1>;
enable-active-high;
};

reg_hdmi_en: fixedregulator@0 {
reg_hdmi_en: regulator@2 {
compatible = "regulator-fixed";
reg = <2>;
regulator-name = "hdmi-en";
};
};
Expand Down
8 changes: 0 additions & 8 deletions arch/arm/boot/dts/exynos5250-smdk5250.dts
Original file line number Diff line number Diff line change
Expand Up @@ -231,14 +231,6 @@
status = "okay";
};

i2s1: i2s@12D60000 {
status = "disabled";
};

i2s2: i2s@12D70000 {
status = "disabled";
};

sound {
compatible = "samsung,smdk-wm8994";

Expand Down
11 changes: 8 additions & 3 deletions arch/arm/boot/dts/exynos5250.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,7 @@

i2s0: i2s@03830000 {
compatible = "samsung,s5pv210-i2s";
status = "disabled";
reg = <0x03830000 0x100>;
dmas = <&pdma0 10
&pdma0 9
Expand All @@ -438,6 +439,7 @@

i2s1: i2s@12D60000 {
compatible = "samsung,s3c6410-i2s";
status = "disabled";
reg = <0x12D60000 0x100>;
dmas = <&pdma1 12
&pdma1 11>;
Expand All @@ -450,6 +452,7 @@

i2s2: i2s@12D70000 {
compatible = "samsung,s3c6410-i2s";
status = "disabled";
reg = <0x12D70000 0x100>;
dmas = <&pdma0 12
&pdma0 11>;
Expand Down Expand Up @@ -615,16 +618,18 @@
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 {
Expand Down
26 changes: 26 additions & 0 deletions arch/arm/boot/dts/exynos5420-smdk5420.dts
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,30 @@
};
};

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>;
};
};
};
75 changes: 75 additions & 0 deletions arch/arm/boot/dts/exynos5420.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@
pinctrl2 = &pinctrl_2;
pinctrl3 = &pinctrl_3;
pinctrl4 = &pinctrl_4;
i2c0 = &i2c_0;
i2c1 = &i2c_1;
i2c2 = &i2c_2;
i2c3 = &i2c_3;
};

cpus {
Expand Down Expand Up @@ -235,4 +239,75 @@
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";
};
};

0 comments on commit 2de1a7a

Please sign in to comment.