Path: blob/master/arch/arm/boot/dts/samsung/exynos5250-manta.dts
171008 views
// SPDX-License-Identifier: GPL-2.0
/*
* Google Manta (Nexus 10) board device tree source
*
* Copyright (c) 2023-2026 Alexandre Marquet
* Copyright (c) 2025-2026 Lukas Timmermann
*/
/dts-v1/;
#include "exynos5250.dtsi"
#include "exynos-pinctrl.h"
#include "exynos-mfc-reserved-memory.dtsi"
#include <dt-bindings/clock/maxim,max77686.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/leds/common.h>
/ {
model = "Google Nexus 10";
compatible = "google,manta", "samsung,exynos5250", "samsung,exynos5";
aliases {
mmc0 = &mmc_0; /* eMMC */
mmc1 = &mmc_1; /* WiFi */
};
/* Voltage source unknown */
bmp180_vdda_reg: regulator-bmp180-vdda {
compatible = "regulator-fixed";
regulator-name = "BMP180_VDDA";
};
/* Voltage source unknown */
bmp180_vddd_reg: regulator-bmp180-vddd {
compatible = "regulator-fixed";
regulator-name = "BMP180_VDDD";
};
chosen {
stdout-path = "serial2:115200n8";
};
flash-controller {
compatible = "gpio-leds";
led-flash {
function = LED_FUNCTION_FLASH;
color = <LED_COLOR_ID_WHITE>;
linux,default-trigger = "flash";
gpios = <&gpe0 1 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <24000000>;
};
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_keys>;
pinctrl-names = "default";
button-volume-down {
label = "Volume Down";
gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
debounce-interval = <5>;
};
button-volume-up {
label = "Volume Up";
gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
debounce-interval = <5>;
};
button-power {
label = "Power";
gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
debounce-interval = <5>;
wakeup-source;
};
lid-switch {
label = "Hall Effect Sensor";
gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
debounce-interval = <10>;
wakeup-source;
};
};
multi-led {
compatible = "leds-group-multicolor";
color = <LED_COLOR_ID_RGB>;
function = LED_FUNCTION_STATUS;
leds = <&status_red>, <&status_green>, <&status_blue>, <&status_white>;
};
pwrseq: mmc1-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpv1 0 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&wlan_pmena>;
pinctrl-names = "default";
clocks = <&max77686 MAX77686_CLK_PMIC>;
clock-names = "ext_clock";
post-power-on-delay-ms = <300>;
power-off-delay-us = <50>;
};
firmware@204efff {
compatible = "samsung,secure-firmware";
reg = <0x0204efff 0x1000>;
};
memory@40000000 {
device_type = "memory";
reg = <0x40000000 0x20000000>,
<0x60000000 0x20000000>,
<0x80000000 0x20000000>,
<0xa0000000 0x1ff00000>;
};
};
&clock {
assigned-clocks = <&clock CLK_FOUT_APLL>;
assigned-clock-rates = <1000000000>;
};
&cpu0 {
cpu-supply = <&buck2_reg>;
};
&cpu1 {
cpu-supply = <&buck2_reg>;
};
&ehci {
status = "disabled";
};
&i2c_1 {
status = "okay";
pressure-sensor@77 {
compatible = "bosch,bmp180";
reg = <0x77>;
vddd-supply = <&bmp180_vddd_reg>;
vdda-supply = <&bmp180_vdda_reg>;
};
accelerometer@68 {
compatible = "invensense,mpu6050";
reg = <0x68>;
pinctrl-0 = <&acc_int>;
pinctrl-names = "default";
interrupt-parent = <&gpx1>;
interrupts = <4 IRQ_TYPE_EDGE_RISING>;
mount-matrix = "0", "-1", "0",
"-1", "0", "0",
"0", "0", "-1";
i2c-gate {
#address-cells = <1>;
#size-cells = <0>;
magnetometer@c {
compatible = "asahi-kasei,ak8963";
reg = <0x0c>;
pinctrl-0 = <&msense_reset>;
pinctrl-names = "default";
mount-matrix = "-1", "0", "0",
"0", "1", "0",
"0", "0", "-1";
};
};
};
led-controller@42 {
compatible = "ams,as3668";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x42>;
status_red: led@0 {
reg = <0>;
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_RED>;
};
status_green: led@1 {
reg = <1>;
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_GREEN>;
};
status_blue: led@2 {
reg = <2>;
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_BLUE>;
};
status_white: led@3 {
reg = <3>;
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_WHITE>;
};
};
};
&i2c_2 {
status = "okay";
light-sensor@23 {
compatible = "rohm,bh1721";
reg = <0x23>;
pinctrl-0 = <&bh1721fvc_reset>;
pinctrl-names = "default";
reset-gpios = <&gph1 2 GPIO_ACTIVE_LOW>;
};
onewire@18 {
compatible = "maxim,ds2484";
reg = <0x18>;
pinctrl-0 = <&onewire_sleep>;
pinctrl-names = "default";
};
};
&i2c_5 {
samsung,i2c-sda-delay = <100>;
status = "okay";
max77686: pmic@9 {
compatible = "maxim,max77686";
reg = <0x09>;
interrupt-parent = <&gpx0>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
pinctrl-0 = <&max77686_irq>;
pinctrl-names = "default";
#clock-cells = <1>;
wakeup-source;
voltage-regulators {
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
};
buck3_reg: BUCK3 {
regulator-name = "vdd_int";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
};
buck4_reg: BUCK4 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1200000>;
regulator-boot-on;
};
ldo3_reg: LDO3 {
regulator-name = "VCC_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
ldo8_reg: LDO8 {
regulator-name = "VMIPI_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-boot-on;
};
ldo9_reg: LDO9 {
regulator-name = "TOUCH_VDD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo10_reg: LDO10 {
regulator-name = "VMIPI_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
ldo12_reg: LDO12 {
regulator-name = "VUOTG_3.0V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-boot-on;
};
ldo15_reg: LDO15 {
regulator-name = "VHSIC_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-boot-on;
};
ldo16_reg: LDO16 {
regulator-name = "VHSIC_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
ldo17_reg: LDO17 {
regulator-name = "5M_CORE_1.5V";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
};
ldo18_reg: LDO18 {
regulator-name = "CAM_IO_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo19_reg: LDO19 {
regulator-name = "VT_CAM_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo20_reg: LDO20 {
regulator-name = "TA_CHECK_1.35V";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
};
ldo23_reg: LDO23 {
regulator-name = "TSP_AVDD_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo24_reg: LDO24 {
regulator-name = "CAM_AF_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo25_reg: LDO25 {
regulator-name = "VADC_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
};
};
};
};
&mixer {
status = "okay";
};
/* eMMC */
&mmc_0 {
non-removable;
max-frequency = <200000000>;
sd-uhs-ddr50;
mmc-ddr-1_8v;
cap-mmc-hw-reset;
mmc-hs200-1_8v;
bus-width = <8>;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <1 2>;
samsung,dw-mshc-ddr-timing = <2 3>;
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
pinctrl-names = "default";
status = "okay";
};
/* WiFi */
&mmc_1 {
non-removable;
max-frequency = <100000000>;
sd-uhs-sdr50;
cap-sd-highspeed;
keep-power-in-suspend;
bus-width = <4>;
card-detect-delay = <0>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 4>;
samsung,dw-mshc-ddr-timing = <2 3>;
pinctrl-names = "default";
pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
mmc-pwrseq = <&pwrseq>;
status = "okay";
wifi@1 {
compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
reg = <1>;
interrupt-parent = <&gpx2>;
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "host-wake";
pinctrl-0 = <&wlan_irq>;
pinctrl-names = "default";
};
};
&ohci {
status = "disabled";
};
&pinctrl_0 {
acc_int: acc-int-pins {
samsung,pins = "gpx1-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
};
max77686_irq: max77686-irq-pins {
samsung,pins = "gpx0-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};
gpio_keys: gpio-keys-pins {
samsung,pins = "gpx2-0", "gpx2-1", "gpx2-7", "gpx1-3";
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
};
wlan_irq: wlan-irq-pins {
samsung,pins = "gpx2-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
};
};
&pinctrl_1 {
bh1721fvc_reset: bh1721fvc-reset-pins {
samsung,pins = "gph1-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
};
msense_reset: msense-reset-pins {
samsung,pins = "gpg2-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
};
onewire_sleep: onewire-sleep-pins {
samsung,pins = "gpg0-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
};
&pinctrl_2 {
wlan_pmena: wlan-pmena-pins {
samsung,pins = "gpv1-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-val = <0>;
};
};
&pmu_system_controller {
assigned-clocks = <&pmu_system_controller 0>;
assigned-clock-parents = <&clock CLK_FIN_PLL>;
};
&rtc {
clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
clock-names = "rtc", "rtc_src";
status = "okay";
};
&sd1_bus4 {
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
&sd1_cmd {
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
/* Bluetooth */
&serial_0 {
status = "disabled";
};
/* GPS */
&serial_1 {
status = "disabled";
};
&serial_2 {
pinctrl-0 = <&uart2_data>;
pinctrl-1 = <&uart2_data>, <&uart2_fctl>;
pinctrl-names = "default", "flow-control";
status = "okay";
};
&usbdrd {
status = "disabled";
};
&usbdrd_dwc3 {
status = "disabled";
};
&usbdrd_phy {
status = "disabled";
};