Commit effd7862 authored by Olof Johansson's avatar Olof Johansson

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

Samsung DeviceTree update for v4.8:
1. Add missing async bridge for MFC power domain on Exynos5420.
   This fixes imprecise abort on s5p-mfc re-bind.
2. Define regulator supplies for MMC nodes on Exynos4412 Odroid boards
   and for TMU on Exynos542x Peach boards.
3. Thermal cleanups on Odroid XU3-family (Exynos5422).
4. Enable AX88760 USB hub on Origen board (Exynos4412).
5. Minor cleanups.

* tag 'samsung-dt-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: No need to enable TMU nodes on Odroid XU3 family
  ARM: dts: exynos: Add TMU nodes regulator supply for Peach boards
  ARM: dts: exynos: Use new compatible string for thermistors in Trats2
  ARM: dts: exynos: Remove unneded always-on for regulators on Peach boards
  ARM: dts: exynos: Enable AX88760 USB hub on Origen board
  ARM: dts: exynos: Only Odroid XU3-family boards use DTSI with CPU thermal nodes
  ARM: dts: exynos: Lower SD card interface voltage to 2.8 V on Odroid X/X2/U3
  ARM: dts: exynos: Define vqmmc for eMMC card on Odroid X/X2/U3
  ARM: dts: exynos: Define vqmmc for SD card and allow disabling regulators on Odroid X/X2/U3
  ARM: dts: exynos: Add async-bridge clock to MFC power domain for Exynos5420
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 5edb5649 cb0df000
......@@ -297,7 +297,6 @@ ldo4_reg: LDO4 {
regulator-name = "VDDQ_MMC2_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-boot-on;
};
......@@ -390,10 +389,18 @@ ldo20_reg: LDO20 {
};
ldo21_reg: LDO21 {
regulator-name = "LDO21_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-name = "TFLASH_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-boot-on;
};
ldo22_reg: LDO22 {
/*
* Only U3 uses it, so let it define the
* constraints
*/
regulator-name = "LDO22";
regulator-boot-on;
};
......@@ -460,9 +467,11 @@ buck7_reg: BUCK7 {
};
buck8_reg: BUCK8 {
/*
* Constraints set by specific board: X,
* X2 and U3.
*/
regulator-name = "BUCK8_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
};
};
......@@ -506,7 +515,7 @@ &mixer {
&mshc_0 {
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
pinctrl-names = "default";
vmmc-supply = <&ldo20_reg &buck8_reg>;
vmmc-supply = <&ldo20_reg>;
mmc-pwrseq = <&emmc_pwrseq>;
status = "okay";
......@@ -530,7 +539,8 @@ &sdhci_2 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
pinctrl-names = "default";
vmmc-supply = <&ldo4_reg &ldo21_reg>;
vmmc-supply = <&ldo21_reg>;
vqmmc-supply = <&ldo4_reg>;
cd-gpios = <&gpk2 2 GPIO_ACTIVE_HIGH>;
cd-inverted;
status = "okay";
......
......@@ -69,6 +69,24 @@ map4 {
};
};
/* Supply for LAN9730/SMSC95xx */
&buck8_reg {
regulator-name = "BUCK8_P3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
/* VDDQ for MSHC (eMMC card) */
&ldo22_reg {
regulator-name = "LDO22_VDDQ_MMC4_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
&mshc_0 {
vqmmc-supply = <&ldo22_reg>;
};
&pwm {
pinctrl-0 = <&pwm0_out>;
pinctrl-names = "default";
......
......@@ -63,12 +63,23 @@ regulator_p3v3 {
};
};
/* VDDQ for MSHC (eMMC card) */
&buck8_reg {
regulator-name = "BUCK8_VDDQ_MMC4_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
&ehci {
port@1 {
status = "okay";
};
};
&mshc_0 {
vqmmc-supply = <&buck8_reg>;
};
&pinctrl_1 {
gpio_home_key: home_key {
samsung,pins = "gpx2-2";
......
......@@ -22,6 +22,17 @@ memory {
};
};
/* VDDQ for MSHC (eMMC card) */
&buck8_reg {
regulator-name = "BUCK8_VDDQ_MMC4_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
&mshc_0 {
vqmmc-supply = <&buck8_reg>;
};
&sound {
simple-audio-card,name = "Odroid-X2";
simple-audio-card,widgets =
......
......@@ -83,6 +83,22 @@ &cpu0 {
cpu0-supply = <&buck2_reg>;
};
&exynos_usbphy {
status = "okay";
};
&ehci {
samsung,vbus-gpio = <&gpx3 5 1>;
status = "okay";
port@1{
status = "okay";
};
port@2 {
status = "okay";
};
};
&fimd {
pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
pinctrl-names = "default";
......
......@@ -253,7 +253,7 @@ sound {
};
thermistor-ap {
compatible = "ntc,ncp15wb473";
compatible = "murata,ncp15wb473";
pullup-uv = <1800000>; /* VCC_1.8V_AP */
pullup-ohm = <100000>; /* 100K */
pulldown-ohm = <100000>; /* 100K */
......@@ -261,7 +261,7 @@ thermistor-ap {
};
thermistor-battery {
compatible = "ntc,ncp15wb473";
compatible = "murata,ncp15wb473";
pullup-uv = <1800000>; /* VCC_1.8V_AP */
pullup-ohm = <100000>; /* 100K */
pulldown-ohm = <100000>; /* 100K */
......
......@@ -278,7 +278,6 @@ buck5_reg: BUCK5 {
regulator-name = "vdd_1v2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
......@@ -301,7 +300,6 @@ buck7_reg: BUCK7 {
regulator-name = "vdd_1v35";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
......@@ -323,7 +321,6 @@ buck9_reg: BUCK9 {
regulator-name = "vdd_2v";
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
......@@ -334,7 +331,6 @@ buck10_reg: BUCK10 {
regulator-name = "vdd_1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
......@@ -419,7 +415,6 @@ ldo9_reg: LDO9 {
regulator-name = "vdd_ldo9";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
......@@ -430,7 +425,6 @@ ldo10_reg: LDO10 {
regulator-name = "vdd_ldo10";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
......@@ -1046,6 +1040,26 @@ &serial_3 {
status = "okay";
};
&tmu_cpu0 {
vtmu-supply = <&ldo10_reg>;
};
&tmu_cpu1 {
vtmu-supply = <&ldo10_reg>;
};
&tmu_cpu2 {
vtmu-supply = <&ldo10_reg>;
};
&tmu_cpu3 {
vtmu-supply = <&ldo10_reg>;
};
&tmu_gpu {
vtmu-supply = <&ldo10_reg>;
};
&usbdrd_dwc3_0 {
dr_mode = "host";
};
......
......@@ -349,8 +349,9 @@ isp_pd: power-domain@10044020 {
mfc_pd: power-domain@10044060 {
compatible = "samsung,exynos4210-pd";
reg = <0x10044060 0x20>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_USER_ACLK333>;
clock-names = "oscclk", "clk0";
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_USER_ACLK333>,
<&clock CLK_ACLK333>;
clock-names = "oscclk", "clk0","asb0";
#power-domain-cells = <0>;
};
......
/*
* 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 = <250>;
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";
};
/*
* Exyunos542x support only 4 trip-points
* so for these polling mode is required.
* Start polling at temperature level of last
* interrupt-driven trip: cpu_alert2
*/
cpu_alert3: cpu-alert-3 {
temperature = <70000>; /* millicelsius */
hysteresis = <10000>; /* millicelsius */
type = "passive";
};
cpu_alert4: cpu-alert-4 {
temperature = <85000>; /* millicelsius */
hysteresis = <10000>; /* millicelsius */
type = "passive";
};
};
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>;
};
/*
* When reaching cpu_alert3, reduce CPU
* by 2 steps. On Exynos5422/5800 that would
* be: 1500 MHz and 1100 MHz.
*/
map3 {
trip = <&cpu_alert3>;
cooling-device = <&cpu0 0 2>;
};
map4 {
trip = <&cpu_alert3>;
cooling-device = <&cpu4 0 2>;
};
/*
* When reaching cpu_alert4, reduce CPU
* further, down to 600 MHz (11 steps for big,
* 7 steps for LITTLE).
*/
map5 {
trip = <&cpu_alert4>;
cooling-device = <&cpu0 3 7>;
};
map6 {
trip = <&cpu_alert4>;
cooling-device = <&cpu4 3 11>;
};
};
};
};
};
/*
* Hardkernel Odroid XU3 board device tree source
*
* Copyright (c) 2014 Collabora Ltd.
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
* http://www.samsung.com
* Copyright (c) 2014 Collabora Ltd.
* 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
......@@ -16,7 +18,6 @@
#include <dt-bindings/sound/samsung-i2s.h>
#include "exynos5800.dtsi"
#include "exynos5422-cpus.dtsi"
#include "exynos5422-cpu-thermal.dtsi"
/ {
memory {
......@@ -54,6 +55,94 @@ fan0: pwm-fan {
#cooling-cells = <2>;
cooling-levels = <0 130 170 230>;
};
thermal-zones {
cpu0_thermal: cpu0-thermal {
thermal-sensors = <&tmu_cpu0 0>;
polling-delay-passive = <250>;
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";
};
/*
* Exynos542x supports only 4 trip-points
* so for these polling mode is required.
* Start polling at temperature level of last
* interrupt-driven trip: cpu_alert2
*/
cpu_alert3: cpu-alert-3 {
temperature = <70000>; /* millicelsius */
hysteresis = <10000>; /* millicelsius */
type = "passive";
};
cpu_alert4: cpu-alert-4 {
temperature = <85000>; /* millicelsius */
hysteresis = <10000>; /* millicelsius */
type = "passive";
};
};
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>;
};
/*
* When reaching cpu_alert3, reduce CPU
* by 2 steps. On Exynos5422/5800 that would
* be: 1600 MHz and 1100 MHz.
*/
map3 {
trip = <&cpu_alert3>;
cooling-device = <&cpu0 0 2>;
};
map4 {
trip = <&cpu_alert3>;
cooling-device = <&cpu4 0 2>;
};
/*
* When reaching cpu_alert4, reduce CPU
* further, down to 600 MHz (11 steps for big,
* 7 steps for LITTLE).
*/
map5 {
trip = <&cpu_alert4>;
cooling-device = <&cpu0 3 7>;
};
map6 {
trip = <&cpu_alert4>;
cooling-device = <&cpu4 3 11>;
};
};
};
};
};
&bus_wcore {
......@@ -487,27 +576,22 @@ emmc_nrst_pin: emmc-nrst {
&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";
};
&rtc {
......
......@@ -278,7 +278,6 @@ buck5_reg: BUCK5 {
regulator-name = "vdd_1v2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
......@@ -301,7 +300,6 @@ buck7_reg: BUCK7 {
regulator-name = "vdd_1v35";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
......@@ -323,7 +321,6 @@ buck9_reg: BUCK9 {
regulator-name = "vdd_2v";
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
......@@ -334,7 +331,6 @@ buck10_reg: BUCK10 {
regulator-name = "vdd_1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
......@@ -419,7 +415,6 @@ ldo9_reg: LDO9 {
regulator-name = "vdd_ldo9";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
......@@ -430,7 +425,6 @@ ldo10_reg: LDO10 {
regulator-name = "vdd_ldo10";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
......@@ -1022,6 +1016,26 @@ &serial_3 {
status = "okay";
};
&tmu_cpu0 {
vtmu-supply = <&ldo10_reg>;
};
&tmu_cpu1 {
vtmu-supply = <&ldo10_reg>;
};
&tmu_cpu2 {
vtmu-supply = <&ldo10_reg>;
};
&tmu_cpu3 {
vtmu-supply = <&ldo10_reg>;
};
&tmu_gpu {
vtmu-supply = <&ldo10_reg>;
};
&usbdrd_dwc3_0 {
dr_mode = "host";
};
......
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