linux/arch/arm/boot/dts/samsung/exynos3250-monk.dts
Rob Herring 724ba67515 ARM: dts: Move .dts files to vendor sub-directories
The arm dts directory has grown to 1559 boards which makes it a bit
unwieldy to maintain and use. Past attempts stalled out due to plans to
move .dts files out of the kernel tree. Doing that is no longer planned
(any time soon at least), so let's go ahead and group .dts files by
vendors. This move aligns arm with arm64 .dts file structure.

There's no change to dtbs_install as the flat structure is maintained on
install.

The naming of vendor directories is roughly in this order of preference:
- Matching original and current SoC vendor prefix/name (e.g. ti, qcom)
- Current vendor prefix/name if still actively sold (SoCs which have
  been aquired) (e.g. nxp/imx)
- Existing platform name for older platforms not sold/maintained by any
  company (e.g. gemini, nspire)

The whole move was scripted with the exception of MAINTAINERS and a few
makefile fixups.

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Michal Simek <michal.simek@amd.com> #Xilinx
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Acked-by: Paul Barker <paul.barker@sancloud.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Wei Xu <xuwei5@hisilicon.com> #hisilicon
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Nick Hawkins <nick.hawkins@hpe.com>
Acked-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Peter Rosin <peda@axentia.se>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com> #broadcom
Acked-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Patrice Chotard <patrice.chotard@foss.st.com>
Acked-by: Romain Perier <romain.perier@gmail.com>
Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2023-06-21 11:39:50 -06:00

644 lines
14 KiB
Text

// SPDX-License-Identifier: GPL-2.0
/*
* Samsung's Exynos3250 based Monk board device tree source
*
* Copyright (c) 2014 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* Device tree source file for Samsung's Monk board which is based on
* Samsung Exynos3250 SoC.
*/
/dts-v1/;
#include "exynos3250.dtsi"
#include "exynos4412-ppmu-common.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/clock/samsung,s2mps11.h>
/ {
model = "Samsung Monk board";
compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
aliases {
i2c7 = &i2c_max77836;
mmc0 = &mshc_0;
};
memory@40000000 {
device_type = "memory";
reg = <0x40000000 0x1ff00000>;
};
firmware@205f000 {
compatible = "samsung,secure-firmware";
reg = <0x0205f000 0x1000>;
};
gpio-keys {
compatible = "gpio-keys";
power-key {
gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "power key";
debounce-interval = <10>;
wakeup-source;
};
};
vemmc_reg: voltage-regulator-0 {
compatible = "regulator-fixed";
regulator-name = "V_EMMC_2.8V-fixed";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
i2c_max77836: i2c-gpio-0 {
compatible = "i2c-gpio";
sda-gpios = <&gpd0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
scl-gpios = <&gpd0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
#address-cells = <1>;
#size-cells = <0>;
max77836: pmic@25 {
compatible = "maxim,max77836";
interrupt-parent = <&gpx1>;
interrupts = <5 IRQ_TYPE_NONE>;
reg = <0x25>;
wakeup-source;
extcon {
compatible = "maxim,max77836-muic";
};
regulators {
compatible = "maxim,max77836-regulator";
safeout_reg: SAFEOUT {
regulator-name = "SAFEOUT";
};
charger_reg: CHARGER {
regulator-name = "CHARGER";
regulator-min-microamp = <45000>;
regulator-max-microamp = <475000>;
regulator-boot-on;
};
motor_reg: LDO1 {
regulator-name = "MOT_2.7V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <2700000>;
};
LDO2 {
regulator-name = "UNUSED_LDO2";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3950000>;
};
};
charger {
compatible = "maxim,max77836-charger";
maxim,constant-uvolt = <4350000>;
maxim,fast-charge-uamp = <225000>;
maxim,eoc-uamp = <7500>;
maxim,ovp-uvolt = <6500000>;
};
};
};
haptics {
compatible = "regulator-haptic";
haptic-supply = <&motor_reg>;
min-microvolt = <1100000>;
max-microvolt = <2700000>;
};
thermal-zones {
cpu_thermal: cpu-thermal {
cooling-maps {
map0 {
/* Correspond to 500MHz at freq_table */
cooling-device = <&cpu0 5 5>,
<&cpu1 5 5>;
};
map1 {
/* Correspond to 200MHz at freq_table */
cooling-device = <&cpu0 8 8>,
<&cpu1 8 8>;
};
};
};
};
};
&adc {
vdd-supply = <&ldo3_reg>;
status = "okay";
assigned-clocks = <&cmu CLK_SCLK_TSADC>;
assigned-clock-rates = <6000000>;
thermistor-ap {
compatible = "murata,ncp15wb473";
pullup-uv = <1800000>;
pullup-ohm = <100000>;
pulldown-ohm = <100000>;
io-channels = <&adc 0>;
};
thermistor-battery {
compatible = "murata,ncp15wb473";
pullup-uv = <1800000>;
pullup-ohm = <100000>;
pulldown-ohm = <100000>;
io-channels = <&adc 1>;
};
};
&bus_dmc {
devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
vdd-supply = <&buck1_reg>;
status = "okay";
};
&cmu {
clocks = <&xusbxti>;
};
&cpu0 {
cpu0-supply = <&buck2_reg>;
};
&exynos_usbphy {
vbus-supply = <&safeout_reg>;
status = "okay";
};
&gpu {
mali-supply = <&buck3_reg>;
status = "okay";
};
&hsotg {
vusb_d-supply = <&ldo15_reg>;
vusb_a-supply = <&ldo12_reg>;
dr_mode = "peripheral";
status = "okay";
};
&i2c_0 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
status = "okay";
pmic@66 {
compatible = "samsung,s2mps14-pmic";
interrupt-parent = <&gpx0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
reg = <0x66>;
wakeup-source;
s2mps14_osc: clocks {
compatible = "samsung,s2mps14-clk";
#clock-cells = <1>;
clock-output-names = "s2mps14_ap", "unused",
"s2mps14_bt";
};
regulators {
ldo1_reg: LDO1 {
regulator-name = "VAP_ALIVE_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo2_reg: LDO2 {
regulator-name = "VAP_M1_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
ldo3_reg: LDO3 {
regulator-name = "VCC_AP_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo4_reg: LDO4 {
regulator-name = "VAP_AVDD_PLL1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo5_reg: LDO5 {
regulator-name = "VAP_PLL_ISO_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo6_reg: LDO6 {
regulator-name = "VAP_MIPI_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
ldo7_reg: LDO7 {
regulator-name = "VAP_AVDD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo8_reg: LDO8 {
regulator-name = "VAP_USB_3.0V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
ldo9_reg: LDO9 {
regulator-name = "V_LPDDR_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "UNUSED_LDO10";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
ldo11_reg: LDO11 {
regulator-name = "V_EMMC_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
};
ldo12_reg: LDO12 {
regulator-name = "V_EMMC_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
};
ldo13_reg: LDO13 {
regulator-name = "VSENSOR_2.85V";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
regulator-always-on;
};
ldo14_reg: LDO14 {
regulator-name = "UNUSED_LDO14";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo15_reg: LDO15 {
regulator-name = "TSP_AVDD_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo16_reg: LDO16 {
regulator-name = "LCD_VDD_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo17_reg: LDO17 {
regulator-name = "UNUSED_LDO17";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo18_reg: LDO18 {
regulator-name = "UNUSED_LDO18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo19_reg: LDO19 {
regulator-name = "TSP_VDD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo20_reg: LDO20 {
regulator-name = "LCD_VDD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo21_reg: LDO21 {
regulator-name = "UNUSED_LDO21";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
ldo22_reg: LDO22 {
regulator-name = "UNUSED_LDO22";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
ldo23_reg: LDO23 {
regulator-name = "UNUSED_LDO23";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo24_reg: LDO24 {
regulator-name = "UNUSED_LDO24";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo25_reg: LDO25 {
regulator-name = "UNUSED_LDO25";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
buck1_reg: BUCK1 {
regulator-name = "VAP_MIF_1.0V";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <900000>;
regulator-always-on;
};
buck2_reg: BUCK2 {
regulator-name = "VAP_ARM_1.0V";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1150000>;
regulator-always-on;
};
buck3_reg: BUCK3 {
regulator-name = "VAP_INT3D_1.0V";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
buck4_reg: BUCK4 {
regulator-name = "VCC_SUB_1.95V";
regulator-min-microvolt = <1950000>;
regulator-max-microvolt = <1950000>;
regulator-always-on;
};
buck5_reg: BUCK5 {
regulator-name = "VCC_SUB_1.35V";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
};
};
};
&i2c_1 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
fuelgauge@36 {
compatible = "maxim,max77836-battery";
interrupt-parent = <&gpx1>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
reg = <0x36>;
};
};
&i2s2 {
status = "okay";
};
&mshc_0 {
#address-cells = <1>;
#size-cells = <0>;
broken-cd;
non-removable;
cap-mmc-highspeed;
mmc-hs200-1_8v;
card-detect-delay = <200>;
vmmc-supply = <&vemmc_reg>;
clock-frequency = <100000000>;
max-frequency = <100000000>;
mmc-ddr-1_8v;
samsung,dw-mshc-ciu-div = <1>;
samsung,dw-mshc-sdr-timing = <0 1>;
samsung,dw-mshc-ddr-timing = <1 2>;
pinctrl-names = "default";
pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
bus-width = <8>;
status = "okay";
};
&serial_0 {
assigned-clocks = <&cmu CLK_SCLK_UART0>;
assigned-clock-rates = <100000000>;
status = "okay";
};
&serial_1 {
status = "okay";
};
&tmu {
vtmu-supply = <&ldo7_reg>;
status = "okay";
};
&rtc {
clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
clock-names = "rtc", "rtc_src";
status = "okay";
};
&xusbxti {
clock-frequency = <24000000>;
};
&pinctrl_0 {
pinctrl-names = "default";
pinctrl-0 = <&sleep0>;
sleep0: sleep-state {
PIN_SLP(gpa0-0, INPUT, DOWN);
PIN_SLP(gpa0-1, INPUT, DOWN);
PIN_SLP(gpa0-2, INPUT, DOWN);
PIN_SLP(gpa0-3, INPUT, DOWN);
PIN_SLP(gpa0-4, INPUT, DOWN);
PIN_SLP(gpa0-5, INPUT, DOWN);
PIN_SLP(gpa0-6, INPUT, DOWN);
PIN_SLP(gpa0-7, INPUT, DOWN);
PIN_SLP(gpa1-0, INPUT, DOWN);
PIN_SLP(gpa1-1, INPUT, DOWN);
PIN_SLP(gpa1-2, INPUT, DOWN);
PIN_SLP(gpa1-3, INPUT, DOWN);
PIN_SLP(gpa1-4, INPUT, DOWN);
PIN_SLP(gpa1-5, INPUT, DOWN);
PIN_SLP(gpb-0, PREV, NONE);
PIN_SLP(gpb-1, PREV, NONE);
PIN_SLP(gpb-2, PREV, NONE);
PIN_SLP(gpb-3, PREV, NONE);
PIN_SLP(gpb-4, INPUT, DOWN);
PIN_SLP(gpb-5, INPUT, DOWN);
PIN_SLP(gpb-6, INPUT, DOWN);
PIN_SLP(gpb-7, INPUT, DOWN);
PIN_SLP(gpc0-0, INPUT, DOWN);
PIN_SLP(gpc0-1, INPUT, DOWN);
PIN_SLP(gpc0-2, INPUT, DOWN);
PIN_SLP(gpc0-3, INPUT, DOWN);
PIN_SLP(gpc0-4, INPUT, DOWN);
PIN_SLP(gpc1-0, INPUT, DOWN);
PIN_SLP(gpc1-1, INPUT, DOWN);
PIN_SLP(gpc1-2, INPUT, DOWN);
PIN_SLP(gpc1-3, INPUT, DOWN);
PIN_SLP(gpc1-4, INPUT, DOWN);
PIN_SLP(gpd0-0, INPUT, DOWN);
PIN_SLP(gpd0-1, INPUT, DOWN);
PIN_SLP(gpd0-2, INPUT, NONE);
PIN_SLP(gpd0-3, INPUT, NONE);
PIN_SLP(gpd1-0, INPUT, NONE);
PIN_SLP(gpd1-1, INPUT, NONE);
PIN_SLP(gpd1-2, INPUT, NONE);
PIN_SLP(gpd1-3, INPUT, NONE);
};
};
&pinctrl_1 {
pinctrl-names = "default";
pinctrl-0 = <&initial1 &sleep1>;
initial1: initial-state {
PIN_IN(gpk2-0, DOWN, LV1);
PIN_IN(gpk2-1, DOWN, LV1);
PIN_IN(gpk2-2, DOWN, LV1);
PIN_IN(gpk2-3, DOWN, LV1);
PIN_IN(gpk2-4, DOWN, LV1);
PIN_IN(gpk2-5, DOWN, LV1);
PIN_IN(gpk2-6, DOWN, LV1);
};
sleep1: sleep-state {
PIN_SLP(gpe0-0, PREV, NONE);
PIN_SLP(gpe0-1, PREV, NONE);
PIN_SLP(gpe0-2, INPUT, DOWN);
PIN_SLP(gpe0-3, INPUT, DOWN);
PIN_SLP(gpe0-4, PREV, NONE);
PIN_SLP(gpe0-5, INPUT, DOWN);
PIN_SLP(gpe0-6, INPUT, DOWN);
PIN_SLP(gpe0-7, INPUT, DOWN);
PIN_SLP(gpe1-0, INPUT, DOWN);
PIN_SLP(gpe1-1, PREV, NONE);
PIN_SLP(gpe1-2, INPUT, DOWN);
PIN_SLP(gpe1-3, INPUT, DOWN);
PIN_SLP(gpe1-4, INPUT, DOWN);
PIN_SLP(gpe1-5, INPUT, DOWN);
PIN_SLP(gpe1-6, INPUT, DOWN);
PIN_SLP(gpe1-7, INPUT, NONE);
PIN_SLP(gpe2-0, INPUT, NONE);
PIN_SLP(gpe2-1, INPUT, NONE);
PIN_SLP(gpe2-2, INPUT, NONE);
PIN_SLP(gpk0-0, INPUT, DOWN);
PIN_SLP(gpk0-1, INPUT, DOWN);
PIN_SLP(gpk0-2, OUT0, NONE);
PIN_SLP(gpk0-3, INPUT, DOWN);
PIN_SLP(gpk0-4, INPUT, DOWN);
PIN_SLP(gpk0-5, INPUT, DOWN);
PIN_SLP(gpk0-6, INPUT, DOWN);
PIN_SLP(gpk0-7, INPUT, DOWN);
PIN_SLP(gpk1-0, PREV, NONE);
PIN_SLP(gpk1-1, PREV, NONE);
PIN_SLP(gpk1-2, INPUT, DOWN);
PIN_SLP(gpk1-3, PREV, NONE);
PIN_SLP(gpk1-4, PREV, NONE);
PIN_SLP(gpk1-5, PREV, NONE);
PIN_SLP(gpk1-6, PREV, NONE);
PIN_SLP(gpk2-0, INPUT, DOWN);
PIN_SLP(gpk2-1, INPUT, DOWN);
PIN_SLP(gpk2-2, INPUT, DOWN);
PIN_SLP(gpk2-3, INPUT, DOWN);
PIN_SLP(gpk2-4, INPUT, DOWN);
PIN_SLP(gpk2-5, INPUT, DOWN);
PIN_SLP(gpk2-6, INPUT, DOWN);
PIN_SLP(gpl0-0, INPUT, DOWN);
PIN_SLP(gpl0-1, INPUT, DOWN);
PIN_SLP(gpl0-2, INPUT, DOWN);
PIN_SLP(gpl0-3, INPUT, DOWN);
PIN_SLP(gpm0-0, INPUT, DOWN);
PIN_SLP(gpm0-1, INPUT, DOWN);
PIN_SLP(gpm0-2, INPUT, DOWN);
PIN_SLP(gpm0-3, INPUT, DOWN);
PIN_SLP(gpm0-4, INPUT, DOWN);
PIN_SLP(gpm0-5, INPUT, DOWN);
PIN_SLP(gpm0-6, INPUT, DOWN);
PIN_SLP(gpm0-7, INPUT, DOWN);
PIN_SLP(gpm1-0, INPUT, DOWN);
PIN_SLP(gpm1-1, INPUT, DOWN);
PIN_SLP(gpm1-2, INPUT, DOWN);
PIN_SLP(gpm1-3, INPUT, DOWN);
PIN_SLP(gpm1-4, INPUT, DOWN);
PIN_SLP(gpm1-5, INPUT, DOWN);
PIN_SLP(gpm1-6, INPUT, DOWN);
PIN_SLP(gpm2-0, INPUT, DOWN);
PIN_SLP(gpm2-1, INPUT, DOWN);
PIN_SLP(gpm2-2, INPUT, DOWN);
PIN_SLP(gpm2-3, INPUT, DOWN);
PIN_SLP(gpm2-4, INPUT, DOWN);
PIN_SLP(gpm3-0, INPUT, DOWN);
PIN_SLP(gpm3-1, INPUT, DOWN);
PIN_SLP(gpm3-2, INPUT, DOWN);
PIN_SLP(gpm3-3, INPUT, DOWN);
PIN_SLP(gpm3-4, INPUT, DOWN);
PIN_SLP(gpm3-5, INPUT, DOWN);
PIN_SLP(gpm3-6, INPUT, DOWN);
PIN_SLP(gpm3-7, INPUT, DOWN);
PIN_SLP(gpm4-0, INPUT, DOWN);
PIN_SLP(gpm4-1, INPUT, DOWN);
PIN_SLP(gpm4-2, INPUT, DOWN);
PIN_SLP(gpm4-3, INPUT, DOWN);
PIN_SLP(gpm4-4, INPUT, DOWN);
PIN_SLP(gpm4-5, INPUT, DOWN);
PIN_SLP(gpm4-6, INPUT, DOWN);
PIN_SLP(gpm4-7, INPUT, DOWN);
};
};