Commit b9efb8e3 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'samsung-dt-1' of...

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

Samsung 1st DT updates for v4.3

- for exynos3250
  : update video-phy node with syscon phandle
- for exynos4210
  : add CPU OPP and regulator supply property
  : use labels for overriding nodes for exynos4210-universal_c210
- for exynos4412-trats2
  : set max17047 over heat and voltage thresholds
- for exynos5250 and 5420
  : extend exynos5250/5420-pinctrl nodes using labels
  : include exynos5250/5420-pinctrl after the nodes definitions
- for exynos5410-smdk5410
  : clean up indentation
- for exynos5422-odroidxu3
  : define default thermal-zones for exynos5422
  : enable USB3 regulators, TMU and thermal-zones
  : add pwm-fan node

* tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: Extend exynos5420-pinctrl nodes using labels instead of paths
  ARM: dts: Include exynos5420-pinctrl after the nodes were defined for exynos5420
  ARM: dts: Extend exynos5250-pinctrl nodes using labels instead of paths
  ARM: dts: Include exynos5250-pinctrl after the nodes were defined for exynos5250
  ARM: dts: Enable thermal-zones for exynos5422-odroidxu3
  ARM: dts: Define default thermal-zones for exynos5422
  ARM: dts: Enable TMU for exynos5422-odroidxu3
  ARM: dts: Add pwm-fan node for exynos5422-odroidxu3
  ARM: dts: Use labels for overriding nodes for exynos4210-universal_c210
  ARM: dts: Set max17047 over heat and voltage thresholds for exynos4412-trats2
  ARM: dts: Enable USB3 regulators for exynos5422-odroidxu3
  ARM: dts: Clean up indentation for exynos5410-smdk5410
  ARM: dts: add CPU OPP and regulator supply property for exynos4210
  ARM: dts: Update video-phy node with syscon phandle for exynos3250
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents da5df644 5e080b07
......@@ -138,8 +138,8 @@ pmu_system_controller: system-controller@10020000 {
mipi_phy: video-phy@10020710 {
compatible = "samsung,s5pv210-mipi-video-phy";
reg = <0x10020710 8>;
#phy-cells = <1>;
syscon = <&pmu_system_controller>;
};
pd_cam: cam-power-domain@10023C00 {
......
......@@ -127,6 +127,10 @@ timing0: timing {
};
};
&cpu0 {
cpu0-supply = <&buck1_reg>;
};
&fimd {
pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
pinctrl-names = "default";
......
......@@ -188,6 +188,10 @@ fimc_3: fimc@11830000 {
};
};
&cpu0 {
cpu0-supply = <&varm_breg>;
};
&dsi_0 {
vddcore-supply = <&vusb_reg>;
vddio-supply = <&vmipi_reg>;
......
......@@ -69,66 +69,6 @@ vemmc_reg: voltage-regulator {
enable-active-high;
};
hsotg@12480000 {
vusb_d-supply = <&ldo3_reg>;
vusb_a-supply = <&ldo8_reg>;
dr_mode = "peripheral";
status = "okay";
};
sdhci_emmc: sdhci@12510000 {
bus-width = <8>;
non-removable;
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
pinctrl-names = "default";
vmmc-supply = <&vemmc_reg>;
status = "okay";
};
sdhci_sd: sdhci@12530000 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
pinctrl-names = "default";
vmmc-supply = <&ldo5_reg>;
cd-gpios = <&gpx3 4 0>;
cd-inverted;
status = "okay";
};
ehci@12580000 {
status = "okay";
port@0 {
status = "okay";
};
};
ohci@12590000 {
status = "okay";
port@0 {
status = "okay";
};
};
exynos-usbphy@125B0000 {
status = "okay";
};
serial@13800000 {
status = "okay";
};
serial@13810000 {
status = "okay";
};
serial@13820000 {
status = "okay";
};
serial@13830000 {
status = "okay";
};
gpio-keys {
compatible = "gpio-keys";
......@@ -186,7 +126,166 @@ tsp_reg: voltage-regulator {
enable-active-high;
};
i2c@13890000 {
spi-lcd {
compatible = "spi-gpio";
#address-cells = <1>;
#size-cells = <0>;
gpio-sck = <&gpy3 1 0>;
gpio-mosi = <&gpy3 3 0>;
num-chipselects = <1>;
cs-gpios = <&gpy4 3 0>;
lcd@0 {
compatible = "samsung,ld9040";
reg = <0>;
vdd3-supply = <&ldo7_reg>;
vci-supply = <&ldo17_reg>;
reset-gpios = <&gpy4 5 0>;
spi-max-frequency = <1200000>;
spi-cpol;
spi-cpha;
power-on-delay = <10>;
reset-delay = <10>;
panel-width-mm = <90>;
panel-height-mm = <154>;
display-timings {
timing {
clock-frequency = <23492370>;
hactive = <480>;
vactive = <800>;
hback-porch = <16>;
hfront-porch = <16>;
vback-porch = <2>;
vfront-porch = <28>;
hsync-len = <2>;
vsync-len = <1>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
lcd_ep: endpoint {
remote-endpoint = <&fimd_dpi_ep>;
};
};
};
};
camera {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <>;
fimc_0: fimc@11800000 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC0>,
<&clock CLK_SCLK_FIMC0>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_1: fimc@11810000 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC1>,
<&clock CLK_SCLK_FIMC1>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_2: fimc@11820000 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC2>,
<&clock CLK_SCLK_FIMC2>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_3: fimc@11830000 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC3>,
<&clock CLK_SCLK_FIMC3>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
};
hdmi_en: voltage-regulator-hdmi-5v {
compatible = "regulator-fixed";
regulator-name = "HDMI_5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpe0 1 0>;
enable-active-high;
};
hdmi_ddc: i2c-ddc {
compatible = "i2c-gpio";
gpios = <&gpe4 2 0 &gpe4 3 0>;
i2c-gpio,delay-us = <100>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&i2c_ddc_bus>;
pinctrl-names = "default";
status = "okay";
};
};
&cpu0 {
cpu0-supply = <&vdd_arm_reg>;
};
&ehci {
status = "okay";
port@0 {
status = "okay";
};
};
&exynos_usbphy {
status = "okay";
};
&fimd {
pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
pinctrl-names = "default";
status = "okay";
samsung,invert-vden;
samsung,invert-vclk;
#address-cells = <1>;
#size-cells = <0>;
port@3 {
reg = <3>;
fimd_dpi_ep: endpoint {
remote-endpoint = <&lcd_ep>;
};
};
};
&hdmi {
hpd-gpio = <&gpx3 7 0>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd>;
hdmi-en-supply = <&hdmi_en>;
vdd-supply = <&ldo3_reg>;
vdd_osc-supply = <&ldo4_reg>;
vdd_pll-supply = <&ldo3_reg>;
ddc = <&hdmi_ddc>;
status = "okay";
};
&hsotg {
vusb_d-supply = <&ldo3_reg>;
vusb_a-supply = <&ldo8_reg>;
dr_mode = "peripheral";
status = "okay";
};
&i2c_3 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
......@@ -198,9 +297,9 @@ tsp@4a {
/* TBD: Atmel maXtouch touchscreen */
reg = <0x4a>;
};
};
};
i2c@138B0000 {
&i2c_5 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
......@@ -396,174 +495,79 @@ safeout2_reg: ESAFEOUT2 {
};
};
};
};
spi-lcd {
compatible = "spi-gpio";
#address-cells = <1>;
#size-cells = <0>;
gpio-sck = <&gpy3 1 0>;
gpio-mosi = <&gpy3 3 0>;
num-chipselects = <1>;
cs-gpios = <&gpy4 3 0>;
lcd@0 {
compatible = "samsung,ld9040";
reg = <0>;
vdd3-supply = <&ldo7_reg>;
vci-supply = <&ldo17_reg>;
reset-gpios = <&gpy4 5 0>;
spi-max-frequency = <1200000>;
spi-cpol;
spi-cpha;
power-on-delay = <10>;
reset-delay = <10>;
panel-width-mm = <90>;
panel-height-mm = <154>;
display-timings {
timing {
clock-frequency = <23492370>;
hactive = <480>;
vactive = <800>;
hback-porch = <16>;
hfront-porch = <16>;
vback-porch = <2>;
vfront-porch = <28>;
hsync-len = <2>;
vsync-len = <1>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
lcd_ep: endpoint {
remote-endpoint = <&fimd_dpi_ep>;
};
};
};
};
fimd: fimd@11c00000 {
pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
pinctrl-names = "default";
status = "okay";
samsung,invert-vden;
samsung,invert-vclk;
#address-cells = <1>;
#size-cells = <0>;
port@3 {
reg = <3>;
fimd_dpi_ep: endpoint {
remote-endpoint = <&lcd_ep>;
};
};
};
};
pwm@139D0000 {
compatible = "samsung,s5p6440-pwm";
status = "okay";
};
camera {
&i2c_8 {
status = "okay";
};
pinctrl-names = "default";
pinctrl-0 = <>;
&mdma1 {
reg = <0x12840000 0x1000>;
};
fimc_0: fimc@11800000 {
&mixer {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC0>,
<&clock CLK_SCLK_FIMC0>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
};
fimc_1: fimc@11810000 {
&ohci {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC1>,
<&clock CLK_SCLK_FIMC1>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_2: fimc@11820000 {
port@0 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC2>,
<&clock CLK_SCLK_FIMC2>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
};
fimc_3: fimc@11830000 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC3>,
<&clock CLK_SCLK_FIMC3>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
&pinctrl_1 {
hdmi_hpd: hdmi-hpd {
samsung,pins = "gpx3-7";
samsung,pin-pud = <0>;
};
};
hdmi_en: voltage-regulator-hdmi-5v {
compatible = "regulator-fixed";
regulator-name = "HDMI_5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpe0 1 0>;
enable-active-high;
&pinctrl_0 {
i2c_ddc_bus: i2c-ddc-bus {
samsung,pins = "gpe4-2", "gpe4-3";
samsung,pin-function = <2>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
};
hdmi_ddc: i2c-ddc {
compatible = "i2c-gpio";
gpios = <&gpe4 2 0 &gpe4 3 0>;
i2c-gpio,delay-us = <100>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&i2c_ddc_bus>;
pinctrl-names = "default";
&pwm {
compatible = "samsung,s5p6440-pwm";
status = "okay";
};
};
mixer@12C10000 {
&sdhci_0 {
bus-width = <8>;
non-removable;
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
pinctrl-names = "default";
vmmc-supply = <&vemmc_reg>;
status = "okay";
};
};
hdmi@12D00000 {
hpd-gpio = <&gpx3 7 0>;
&sdhci_2 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd>;
hdmi-en-supply = <&hdmi_en>;
vdd-supply = <&ldo3_reg>;
vdd_osc-supply = <&ldo4_reg>;
vdd_pll-supply = <&ldo3_reg>;
ddc = <&hdmi_ddc>;
vmmc-supply = <&ldo5_reg>;
cd-gpios = <&gpx3 4 0>;
cd-inverted;
status = "okay";
};
};
i2c@138E0000 {
&serial_0 {
status = "okay";
};
};
&pinctrl_1 {
hdmi_hpd: hdmi-hpd {
samsung,pins = "gpx3-7";
samsung,pin-pud = <0>;
};
&serial_1 {
status = "okay";
};
&pinctrl_0 {
i2c_ddc_bus: i2c-ddc-bus {
samsung,pins = "gpe4-2", "gpe4-3";
samsung,pin-function = <2>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
&serial_2 {
status = "okay";
};
&mdma1 {
reg = <0x12840000 0x1000>;
&serial_3 {
status = "okay";
};
......@@ -40,6 +40,18 @@ cpu0: cpu@900 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <0x900>;
clocks = <&clock CLK_ARM_CLK>;
clock-names = "cpu";
clock-latency = <160000>;
operating-points = <
1200000 1250000
1000000 1150000
800000 1075000
500000 975000
400000 975000
200000 950000
>;
cooling-min-level = <4>;
cooling-max-level = <2>;
#cooling-cells = <2>; /* min followed by max */
......
......@@ -190,6 +190,9 @@ max77693-fuel-gauge@36 {
interrupt-parent = <&gpx2>;
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
reg = <0x36>;
maxim,over-heat-temp = <700>;
maxim,over-volt = <4500>;
};
};
......
......@@ -12,8 +12,7 @@
* published by the Free Software Foundation.
*/
/ {
pinctrl@11400000 {
&pinctrl_0 {
gpa0: gpa0 {
gpio-controller;
#gpio-cells = <2>;
......@@ -588,9 +587,9 @@ dp_hpd: dp_hpd {
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
};
pinctrl@13400000 {
&pinctrl_1 {
gpe0: gpe0 {
gpio-controller;
#gpio-cells = <2>;
......@@ -734,9 +733,9 @@ cam_port_a: cam-port-a {
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
};
pinctrl@10d10000 {
&pinctrl_2 {
gpv0: gpv0 {
gpio-controller;
#gpio-cells = <2>;
......@@ -796,9 +795,9 @@ c2c_txd: c2c-txd {
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
};
pinctrl@03860000 {
&pinctrl_3 {
gpz: gpz {
gpio-controller;
#gpio-cells = <2>;
......@@ -814,5 +813,4 @@ i2s0_bus: i2s0-bus {
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
};
......@@ -19,7 +19,6 @@
#include <dt-bindings/clock/exynos5250.h>
#include "exynos5.dtsi"
#include "exynos5250-pinctrl.dtsi"
#include "exynos4-cpu-thermal.dtsi"
#include <dt-bindings/clock/exynos-audss-clk.h>
......@@ -1062,3 +1061,5 @@ &serial_3 {
clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
clock-names = "uart", "clk_uart_baud0";
};
#include "exynos5250-pinctrl.dtsi"
......@@ -12,8 +12,7 @@
* published by the Free Software Foundation.
*/
/ {
pinctrl@13400000 {
&pinctrl_0 {
gpy7: gpy7 {
gpio-controller;
#gpio-cells = <2>;
......@@ -66,9 +65,9 @@ dp_hpd: dp_hpd {
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
};
pinctrl@13410000 {
&pinctrl_1 {
gpc0: gpc0 {
gpio-controller;
#gpio-cells = <2>;
......@@ -284,9 +283,9 @@ sd2_bus4: sd2-bus-width4 {
samsung,pin-pud = <3>;
samsung,pin-drv = <3>;
};
};
};
pinctrl@14000000 {
&pinctrl_2 {
gpe0: gpe0 {
gpio-controller;
#gpio-cells = <2>;
......@@ -374,6 +373,7 @@ cam_i2c2_bus: cam-i2c2-bus {
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
cam_spi1_bus: cam-spi1-bus {
samsung,pins = "gpe0-4", "gpe0-5", "gpf0-2", "gpf0-3";
samsung,pin-function = <4>;
......@@ -412,9 +412,9 @@ cam_bayrgb_bus: cam-bayrgb-bus {
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
};
pinctrl@14010000 {
&pinctrl_3 {
gpa0: gpa0 {
gpio-controller;
#gpio-cells = <2>;
......@@ -700,9 +700,9 @@ i2c10_hs_bus: i2c10-hs-bus {
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
};
};
pinctrl@03860000 {
&pinctrl_4 {
gpz: gpz {
gpio-controller;
#gpio-cells = <2>;
......@@ -718,5 +718,4 @@ i2s0_bus: i2s0-bus {
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
};
......@@ -15,7 +15,6 @@
#include <dt-bindings/clock/exynos5420.h>
#include "exynos5.dtsi"
#include "exynos5420-pinctrl.dtsi"
#include <dt-bindings/clock/exynos-audss-clk.h>
......@@ -1166,3 +1165,5 @@ &serial_3 {
clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
clock-names = "uart", "clk_uart_baud0";
};
#include "exynos5420-pinctrl.dtsi"
/*
* Device tree sources for Exynos5422 thermal zone
*
* Copyright (c) 2015 Lukasz Majewski <l.majewski@samsung.com>
* Anand Moon <linux.amoon@gmail.com>
*
* 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.
*
*/
#include <dt-bindings/thermal/thermal.h>
/ {
thermal-zones {
cpu0_thermal: cpu0-thermal {
thermal-sensors = <&tmu_cpu0 0>;
polling-delay-passive = <0>;
polling-delay = <0>;
trips {
cpu_alert0: cpu-alert-0 {
temperature = <50000>; /* millicelsius */
hysteresis = <5000>; /* millicelsius */
type = "active";
};
cpu_alert1: cpu-alert-1 {
temperature = <60000>; /* millicelsius */
hysteresis = <5000>; /* millicelsius */
type = "active";
};
cpu_alert2: cpu-alert-2 {
temperature = <70000>; /* millicelsius */
hysteresis = <5000>; /* millicelsius */
type = "active";
};
cpu_crit0: cpu-crit-0 {
temperature = <120000>; /* millicelsius */
hysteresis = <0>; /* millicelsius */
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&cpu_alert0>;
cooling-device = <&fan0 0 1>;
};
map1 {
trip = <&cpu_alert1>;
cooling-device = <&fan0 1 2>;
};
map2 {
trip = <&cpu_alert2>;
cooling-device = <&fan0 2 3>;
};
};
};
};
};
......@@ -15,6 +15,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/sound/samsung-i2s.h>
#include "exynos5800.dtsi"
#include "exynos5422-cpu-thermal.dtsi"
/ {
memory {
......@@ -107,6 +108,15 @@ link0_codec: simple-audio-card,codec {
clocks = <&i2s0 CLK_I2S_CDCLK>;
};
};
fan0: pwm-fan {
compatible = "pwm-fan";
pwms = <&pwm 0 20972 0>;
cooling-min-state = <0>;
cooling-max-state = <3>;
#cooling-cells = <2>;
cooling-levels = <0 130 170 230>;
};
};
&clock_audss {
......@@ -461,6 +471,32 @@ &pwm {
*/
pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
pinctrl-names = "default";
samsung,pwm-outputs = <0>;
status = "okay";
};
&tmu_cpu0 {
vtmu-supply = <&ldo7_reg>;
status = "okay";
};
&tmu_cpu1 {
vtmu-supply = <&ldo7_reg>;
status = "okay";
};
&tmu_cpu2 {
vtmu-supply = <&ldo7_reg>;
status = "okay";
};
&tmu_cpu3 {
vtmu-supply = <&ldo7_reg>;
status = "okay";
};
&tmu_gpu {
vtmu-supply = <&ldo7_reg>;
status = "okay";
};
......@@ -477,3 +513,13 @@ &usbdrd_dwc3_0 {
&usbdrd_dwc3_1 {
dr_mode = "otg";
};
&usbdrd3_0 {
vdd33-supply = <&ldo9_reg>;
vdd10-supply = <&ldo11_reg>;
};
&usbdrd3_1 {
vdd33-supply = <&ldo9_reg>;
vdd10-supply = <&ldo11_reg>;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment