Samsung DTS ARM64 changes for v6.16

1. Tesla FSD: Add Ethernet.
2. ExynosAutov920: Add more serial nodes, clock controllers for CPU
   cluster CL0, CL1 and CL2.
3. New Exynos7870 SoC with pretty decent coverage: pin controllers,
   clock controllers, I2C, MMC, serial and USB.  New boards using
   Exynos7870: Samsung Galaxy J7 Prime, Samsung Galaxy A2 Core and
   Samsung Galaxy J6.
4. Google GS101: Add pmu-intr-gen syscon node for proper CPU hotplug.
5. Switch USI (serial engines) nodes to new samsung,mode constant coming
   with DT bindings v6.15-rc1.

* tag 'samsung-dt64-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: gs101: add pmu-intr-gen syscon node
  arm64: dts: exynos: add initial support for Samsung Galaxy J6
  arm64: dts: exynos: add initial support for Samsung Galaxy A2 Core
  arm64: dts: exynos: add initial support for Samsung Galaxy J7 Prime
  arm64: dts: exynos: add initial devicetree support for exynos7870
  dt-bindings: arm: samsung: add compatibles for exynos7870 devices
  arm64: dts: exynosautov920: add cpucl1/2 clock DT nodes
  arm64: dts: exynosautov920: add cpucl0 clock DT nodes
  arm64: dts: exynos: Add DT node for all UART ports
  arm64: dts: exynos: update all samsung,mode constants
  arm64: dts: fsd: Add Ethernet support for PERIC Block of FSD SoC
  arm64: dts: fsd: Add Ethernet support for FSYS0 Block of FSD SoC

Link: https://lore.kernel.org/r/20250513101023.21552-6-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann
2025-05-21 19:08:29 +02:00
15 changed files with 4406 additions and 35 deletions

View File

@@ -212,6 +212,14 @@ properties:
- samsung,exynos7-espresso # Samsung Exynos7 Espresso
- const: samsung,exynos7
- description: Exynos7870 based boards
items:
- enum:
- samsung,a2corelte # Samsung Galaxy A2 Core
- samsung,j6lte # Samsung Galaxy J6
- samsung,on7xelte # Samsung Galaxy J7 Prime
- const: samsung,exynos7870
- description: Exynos7885 based boards
items:
- enum:

View File

@@ -5,6 +5,9 @@ dtb-$(CONFIG_ARCH_EXYNOS) += \
exynos5433-tm2.dtb \
exynos5433-tm2e.dtb \
exynos7-espresso.dtb \
exynos7870-a2corelte.dtb \
exynos7870-j6lte.dtb \
exynos7870-on7xelte.dtb \
exynos7885-jackpotlte.dtb \
exynos850-e850-96.dtb \
exynos8895-dreamlte.dtb \

View File

@@ -0,0 +1,630 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Samsung Galaxy A2 Core (a2corelte) device tree source
*
* Copyright (c) 2018 Samsung Electronics Co., Ltd.
* Copyright (c) 2025 Kaustabh Chakraborty <kauschluss@disroot.org>
*/
/dts-v1/;
#include "exynos7870.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
model = "Samsung Galaxy A2 Core";
compatible = "samsung,a2corelte", "samsung,exynos7870";
chassis-type = "handset";
aliases {
mmc0 = &mmc0;
mmc1 = &mmc1;
mmc2 = &mmc2;
serial0 = &serial0;
serial1 = &serial1;
serial2 = &serial2;
};
chosen {
#address-cells = <2>;
#size-cells = <1>;
ranges;
stdout-path = &serial2;
framebuffer@67000000 {
compatible = "simple-framebuffer";
reg = <0x0 0x67000000 (540 * 960 * 4)>;
width = <540>;
height = <960>;
stride = <(540 * 4)>;
format = "a8r8g8b8";
};
};
gpio-keys {
compatible = "gpio-keys";
label = "GPIO Keys";
pinctrl-names = "default";
pinctrl-0 = <&key_power &key_voldown &key_volup>;
key-power {
label = "Power Key";
gpios = <&gpa0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
key-voldown {
label = "Volume Down Key";
gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
};
key-volup {
label = "Volume Up Key";
gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
memory@40000000 {
device_type = "memory";
reg = <0x0 0x40000000 0x3f200000>;
};
pwrseq_mmc1: pwrseq-mmc1 {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>;
};
/* mmc2: vmmc */
vdd_fixed_mmc2: regulator-fixed-mmc2 {
compatible = "regulator-fixed";
regulator-name = "vdd_fixed_mmc2";
regulator-max-microvolt = <2800000>;
regulator-min-microvolt = <2800000>;
gpio = <&gpc0 0 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
vdd_fixed_proxled: regulator-fixed-proxled {
compatible = "regulator-fixed";
regulator-name = "vdd_fixed_proxled";
regulator-boot-on;
regulator-always-on;
gpio = <&gpd4 3 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reserved-memory {
#address-cells = <2>;
#size-cells = <1>;
ranges;
ramoops@46800000 {
compatible = "ramoops";
reg = <0x0 0x46800000 0x8000>;
console-size = <0x4000>;
pmsg-size = <0x4000>;
};
framebuffer@67000000 {
reg = <0x0 0x67000000 (540 * 960 * 4)>;
no-map;
};
};
vibrator {
compatible = "regulator-haptic";
haptic-supply = <&vdd_ldo32>;
min-microvolt = <3300000>;
max-microvolt = <3300000>;
};
};
&gpu {
status = "okay";
};
&hsi2c0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pmic@66 {
compatible = "samsung,s2mpu05-pmic";
reg = <0x66>;
interrupt-parent = <&gpa0>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_irq>;
regulators {
vdd_buck1: buck1 {
regulator-name = "vdd_buck1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck2: buck2 {
regulator-name = "vdd_buck2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck3: buck3 {
regulator-name = "vdd_buck3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck4: buck4 {
regulator-name = "vdd_buck4";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck5: buck5 {
regulator-name = "vdd_buck5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo1: ldo1 {
regulator-name = "vdd_ldo1";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* mmc2: vqmmc */
vdd_ldo2: ldo2 {
regulator-name = "vdd_ldo2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo3: ldo3 {
regulator-name = "vdd_ldo3";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo4: ldo4 {
regulator-name = "vdd_ldo4";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo5: ldo5 {
regulator-name = "vdd_ldo5";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo6: ldo6 {
regulator-name = "vdd_ldo6";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo7: ldo7 {
regulator-name = "vdd_ldo7";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* usbdrd: vdd33 */
vdd_ldo8: ldo8 {
regulator-name = "vdd_ldo8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo9: ldo9 {
regulator-name = "vdd_ldo9";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo10: ldo10 {
regulator-name = "vdd_ldo10";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo25: ldo25 {
regulator-name = "vdd_ldo25";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* mmc0: vmmc */
vdd_ldo26: ldo26 {
regulator-name = "vdd_ldo26";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
};
/* mmc0: vqmmc */
vdd_ldo27: ldo27 {
regulator-name = "vdd_ldo27";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo29: ldo29 {
regulator-name = "vdd_ldo29";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo30: ldo30 {
regulator-name = "vdd_ldo30";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo31: ldo31 {
regulator-name = "vdd_ldo31";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* vibrator: haptic */
vdd_ldo32: ldo32 {
regulator-name = "vdd_ldo32";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo33: ldo33 {
regulator-name = "vdd_ldo33";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo34: ldo34 {
regulator-name = "vdd_ldo34";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* touchscreen: vdd */
vdd_ldo35: ldo35 {
regulator-name = "vdd_ldo35";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
};
};
};
};
&i2c5 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
accelerometer@1d {
compatible = "st,lis2ds12";
reg = <0x1d>;
interrupt-parent = <&gpa2>;
interrupts = <3 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
pinctrl-0 = <&accel_irq>;
st,drdy-int-pin = <1>;
};
proximity@48 {
compatible = "sensortek,stk3013", "sensortek,stk3310";
reg = <0x48>;
interrupt-parent = <&gpa0>;
interrupts = <5 IRQ_TYPE_EDGE_BOTH>;
pinctrl-names = "default";
pinctrl-0 = <&proxm_irq>;
proximity-near-level = <25>;
};
};
&i2c6 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
touchscreen@4b {
compatible = "syna,rmi4-i2c";
reg = <0x4b>;
interrupt-parent = <&gpa0>;
interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&touch_irq>;
vdd-supply = <&vdd_ldo35>;
syna,reset-delay-ms = <200>;
syna,startup-delay-ms = <200>;
rmi4-f01@1 {
reg = <0x01>;
syna,nosleep-mode = <1>;
};
rmi4-f12@12 {
reg = <0x12>;
syna,sensor-type = <1>;
syna,rezero-wait-ms = <200>;
syna,clip-x-high = <539>;
syna,clip-y-high = <959>;
touchscreen-x-mm = <62>;
touchscreen-y-mm = <110>;
};
};
};
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_rdqs &sd0_bus1 &sd0_bus4 &sd0_bus8>;
vmmc-supply = <&vdd_ldo26>;
vqmmc-supply = <&vdd_ldo27>;
fifo-depth = <64>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 4>;
samsung,dw-mshc-ddr-timing = <2 4>;
non-removable;
status = "okay";
};
&mmc1 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus1 &sd1_bus4>;
mmc-pwrseq = <&pwrseq_mmc1>;
bus-width = <4>;
fifo-depth = <64>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
non-removable;
cap-sd-highspeed;
cap-sdio-irq;
status = "okay";
wifi@1 {
compatible = "brcm,bcm43430a1-fmac", "brcm,bcm4329-fmac";
reg = <0x1>;
interrupt-names = "host-wake";
interrupt-parent = <&gpa2>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>;
};
};
&mmc2 {
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_irq>;
vmmc-supply = <&vdd_fixed_mmc2>;
vqmmc-supply = <&vdd_ldo2>;
bus-width = <4>;
card-detect-delay = <200>;
fifo-depth = <64>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
sd-uhs-sdr50;
sd-uhs-sdr104;
broken-cd;
disable-wp;
status = "okay";
};
&oscclk {
clock-frequency = <26000000>;
};
&pinctrl_alive {
accel_irq: accel-irq-pins {
samsung,pins = "gpa2-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
dwmmc2_irq: dwmmc2-irq-pins {
samsung,pins = "gpa0-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
fuel_irq: fuel-irq-pins {
samsung,pins = "gpa0-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_power: key-power-pins {
samsung,pins = "gpa0-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_voldown: key-voldown-pins {
samsung,pins = "gpa2-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_volup: key-volup-pins {
samsung,pins = "gpa2-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
pmic_irq: pmic-irq-pins {
samsung,pins = "gpa0-2";
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
};
proxm_irq: proxm-irq-pins {
samsung,pins = "gpa0-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
touch_irq: touch-irq-pins {
samsung,pins = "gpa0-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
wlan_hostwake: wlan-hostwake-pins {
samsung,pins = "gpa2-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
};
};
&pinctrl_top {
bt_enable: bt-enable-pins {
samsung,pins = "gpd4-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
};
wlan_enable: wlan-enable-pins {
samsung,pins = "gpd3-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
samsung,pin-val = <0>;
};
};
&serial1 {
status = "okay";
bluetooth {
compatible = "brcm,bcm43430a1-bt";
pinctrl-names = "default";
pinctrl-0 = <&bt_btwake &bt_hostwake &bt_enable>;
device-wakeup-gpios = <&gpa1 2 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gpa1 6 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&gpd4 0 GPIO_ACTIVE_HIGH>;
max-speed = <3000000>;
};
};
&serial2 {
status = "okay";
};
&usbdrd {
vdd33-supply = <&vdd_ldo8>;
status = "okay";
};

View File

@@ -0,0 +1,613 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Samsung Galaxy J6 (j6lte) device tree source
*
* Copyright (c) 2018 Samsung Electronics Co., Ltd.
* Copyright (c) 2025 Kaustabh Chakraborty <kauschluss@disroot.org>
*/
/dts-v1/;
#include "exynos7870.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
model = "Samsung Galaxy J6";
compatible = "samsung,j6lte", "samsung,exynos7870";
chassis-type = "handset";
aliases {
mmc0 = &mmc0;
mmc1 = &mmc1;
mmc2 = &mmc2;
serial0 = &serial0;
serial1 = &serial1;
serial2 = &serial2;
};
chosen {
#address-cells = <2>;
#size-cells = <1>;
ranges;
stdout-path = &serial2;
framebuffer@67000000 {
compatible = "simple-framebuffer";
reg = <0x0 0x67000000 (720 * 1480 * 4)>;
width = <720>;
height = <1480>;
stride = <(720 * 4)>;
format = "a8r8g8b8";
};
};
gpio-hall-effect-sensor {
compatible = "gpio-keys";
label = "GPIO Hall Effect Sensor";
pinctrl-names = "default";
pinctrl-0 = <&hall_irq>;
event-hall-effect-sensor {
label = "Hall Effect Sensor";
gpios = <&gpa1 3 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
wakeup-source;
};
};
gpio-keys {
compatible = "gpio-keys";
label = "GPIO Keys";
pinctrl-names = "default";
pinctrl-0 = <&key_power &key_voldown &key_volup>;
key-power {
label = "Power Key";
gpios = <&gpa0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
key-voldown {
label = "Volume Down Key";
gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
};
key-volup {
label = "Volume Up Key";
gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
memory@40000000 {
device_type = "memory";
reg = <0x0 0x40000000 0x3d800000>,
<0x0 0x80000000 0x7d800000>;
};
pwrseq_mmc1: pwrseq-mmc1 {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>;
};
/* mmc2: vmmc */
vdd_fixed_mmc2: regulator-fixed-mmc2 {
compatible = "regulator-fixed";
regulator-name = "vdd_fixed_mmc2";
regulator-max-microvolt = <2800000>;
regulator-min-microvolt = <2800000>;
gpio = <&gpc0 0 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reserved-memory {
#address-cells = <2>;
#size-cells = <1>;
ranges;
ramoops@46e00000 {
compatible = "ramoops";
reg = <0x0 0x46e00000 0x8000>;
console-size = <0x4000>;
pmsg-size = <0x4000>;
};
framebuffer@67000000 {
reg = <0x0 0x67000000 (720 * 1480 * 4)>;
no-map;
};
};
vibrator {
compatible = "regulator-haptic";
haptic-supply = <&vdd_ldo32>;
min-microvolt = <3300000>;
max-microvolt = <3300000>;
};
};
&gpu {
status = "okay";
};
&hsi2c0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pmic@66 {
compatible = "samsung,s2mpu05-pmic";
reg = <0x66>;
interrupt-parent = <&gpa0>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_irq>;
regulators {
vdd_buck1: buck1 {
regulator-name = "vdd_buck1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck2: buck2 {
regulator-name = "vdd_buck2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck3: buck3 {
regulator-name = "vdd_buck3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck4: buck4 {
regulator-name = "vdd_buck4";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck5: buck5 {
regulator-name = "vdd_buck5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo1: ldo1 {
regulator-name = "vdd_ldo1";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* mmc2: vqmmc */
vdd_ldo2: ldo2 {
regulator-name = "vdd_ldo2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo3: ldo3 {
regulator-name = "vdd_ldo3";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo4: ldo4 {
regulator-name = "vdd_ldo4";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo5: ldo5 {
regulator-name = "vdd_ldo5";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo6: ldo6 {
regulator-name = "vdd_ldo6";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo7: ldo7 {
regulator-name = "vdd_ldo7";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* usbdrd: vdd33 */
vdd_ldo8: ldo8 {
regulator-name = "vdd_ldo8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo9: ldo9 {
regulator-name = "vdd_ldo9";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo10: ldo10 {
regulator-name = "vdd_ldo10";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo25: ldo25 {
regulator-name = "vdd_ldo25";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* mmc0: vmmc */
vdd_ldo26: ldo26 {
regulator-name = "vdd_ldo26";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
};
/* mmc0: vqmmc */
vdd_ldo27: ldo27 {
regulator-name = "vdd_ldo27";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo29: ldo29 {
regulator-name = "vdd_ldo29";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo30: ldo30 {
regulator-name = "vdd_ldo30";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo31: ldo31 {
regulator-name = "vdd_ldo31";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* vibrator: haptic */
vdd_ldo32: ldo32 {
regulator-name = "vdd_ldo32";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo33: ldo33 {
regulator-name = "vdd_ldo33";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* touchscreen: vdd */
vdd_ldo34: ldo34 {
regulator-name = "vdd_ldo34";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vdd_ldo35: ldo35 {
regulator-name = "vdd_ldo35";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
};
};
};
&i2c5 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
accelerometer@1d {
compatible = "st,lis2ds12";
reg = <0x1d>;
interrupt-parent = <&gpa2>;
interrupts = <3 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
pinctrl-0 = <&accel_irq>;
mount-matrix = "-1", "0", "0",
"0", "1", "0",
"0", "0", "-1";
st,drdy-int-pin = <1>;
};
};
&i2c6 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
touchscreen@20 {
compatible = "zinitix,bt532";
reg = <0x20>;
interrupt-parent = <&gpa0>;
interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&touch_irq>;
touchscreen-size-x = <720>;
touchscreen-size-y = <1480>;
vdd-supply = <&vdd_ldo34>;
};
};
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_rdqs &sd0_bus1 &sd0_bus4 &sd0_bus8>;
vmmc-supply = <&vdd_ldo26>;
vqmmc-supply = <&vdd_ldo27>;
fifo-depth = <64>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 4>;
samsung,dw-mshc-ddr-timing = <2 4>;
non-removable;
status = "okay";
};
&mmc1 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus1 &sd1_bus4>;
mmc-pwrseq = <&pwrseq_mmc1>;
bus-width = <4>;
fifo-depth = <64>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
non-removable;
cap-sd-highspeed;
cap-sdio-irq;
status = "okay";
wifi@1 {
compatible = "brcm,bcm43430a1-fmac", "brcm,bcm4329-fmac";
reg = <0x1>;
interrupt-names = "host-wake";
interrupt-parent = <&gpa2>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>;
};
};
&mmc2 {
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_irq>;
vmmc-supply = <&vdd_fixed_mmc2>;
vqmmc-supply = <&vdd_ldo2>;
bus-width = <4>;
card-detect-delay = <200>;
fifo-depth = <64>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
sd-uhs-sdr50;
sd-uhs-sdr104;
broken-cd;
disable-wp;
status = "okay";
};
&oscclk {
clock-frequency = <26000000>;
};
&pinctrl_alive {
accel_irq: accel-irq-pins {
samsung,pins = "gpa2-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
dwmmc2_irq: dwmmc2-irq-pins {
samsung,pins = "gpa0-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
fuel_irq: fuel-irq-pins {
samsung,pins = "gpa0-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
hall_irq: hall-irq-pins {
samsung,pins = "gpa1-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_power: key-power-pins {
samsung,pins = "gpa0-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_voldown: key-voldown-pins {
samsung,pins = "gpa2-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_volup: key-volup-pins {
samsung,pins = "gpa2-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
pmic_irq: pmic-irq-pins {
samsung,pins = "gpa0-2";
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
};
touch_irq: touch-irq-pins {
samsung,pins = "gpa0-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
wlan_hostwake: wlan-hostwake-pins {
samsung,pins = "gpa2-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
};
};
&pinctrl_top {
bt_enable: bt-enable-pins {
samsung,pins = "gpd4-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
};
wlan_enable: wlan-enable-pins {
samsung,pins = "gpd3-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
samsung,pin-val = <0>;
};
};
&serial1 {
status = "okay";
bluetooth {
compatible = "brcm,bcm43430a1-bt";
pinctrl-names = "default";
pinctrl-0 = <&bt_btwake &bt_hostwake &bt_enable>;
device-wakeup-gpios = <&gpa1 2 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gpa1 6 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&gpd4 0 GPIO_ACTIVE_HIGH>;
max-speed = <3000000>;
};
};
&serial2 {
status = "okay";
};
&usbdrd {
vdd33-supply = <&vdd_ldo8>;
status = "okay";
};

View File

@@ -0,0 +1,662 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Samsung Galaxy J7 Prime (on7xelte) device tree source
*
* Copyright (c) 2015 Samsung Electronics Co., Ltd.
* Copyright (c) 2025 Kaustabh Chakraborty <kauschluss@disroot.org>
*/
/dts-v1/;
#include "exynos7870.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
model = "Samsung Galaxy J7 Prime";
compatible = "samsung,on7xelte", "samsung,exynos7870";
chassis-type = "handset";
aliases {
mmc0 = &mmc0;
mmc1 = &mmc1;
mmc2 = &mmc2;
serial0 = &serial0;
serial1 = &serial1;
serial2 = &serial2;
};
chosen {
#address-cells = <2>;
#size-cells = <1>;
ranges;
stdout-path = &serial2;
framebuffer@67000000 {
compatible = "simple-framebuffer";
reg = <0x0 0x67000000 (1080 * 1920 * 4)>;
width = <1080>;
height = <1920>;
stride = <(1080 * 4)>;
format = "a8r8g8b8";
};
};
gpio-keys {
compatible = "gpio-keys";
label = "GPIO Keys";
pinctrl-names = "default";
pinctrl-0 = <&key_home &key_power &key_voldown &key_volup>;
key-home {
label = "Home Key";
gpios = <&gpa1 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOMEPAGE>;
};
key-power {
label = "Power Key";
gpios = <&gpa0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
key-voldown {
label = "Volume Down Key";
gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
};
key-volup {
label = "Volume Up Key";
gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
memory@40000000 {
device_type = "memory";
reg = <0x0 0x40000000 0x3e400000>,
<0x0 0x80000000 0xbe400000>;
};
pwrseq_mmc1: pwrseq-mmc1 {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>;
};
/* mmc2: vmmc */
vdd_fixed_mmc2: regulator-fixed-mmc2 {
compatible = "regulator-fixed";
regulator-name = "vdd_fixed_mmc2";
regulator-max-microvolt = <2800000>;
regulator-min-microvolt = <2800000>;
gpio = <&gpc0 0 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reserved-memory {
#address-cells = <2>;
#size-cells = <1>;
ranges;
ramoops@46e00000 {
compatible = "ramoops";
reg = <0x0 0x46e00000 0x8000>;
console-size = <0x4000>;
pmsg-size = <0x4000>;
};
framebuffer@67000000 {
reg = <0x0 0x67000000 (1080 * 1920 * 4)>;
no-map;
};
};
vibrator {
compatible = "regulator-haptic";
haptic-supply = <&vdd_ldo32>;
min-microvolt = <3300000>;
max-microvolt = <3300000>;
};
};
&gpu {
status = "okay";
};
&hsi2c0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pmic@66 {
compatible = "samsung,s2mpu05-pmic";
reg = <0x66>;
interrupt-parent = <&gpa0>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_irq>;
regulators {
vdd_buck1: buck1 {
regulator-name = "vdd_buck1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck2: buck2 {
regulator-name = "vdd_buck2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck3: buck3 {
regulator-name = "vdd_buck3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck4: buck4 {
regulator-name = "vdd_buck4";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_buck5: buck5 {
regulator-name = "vdd_buck5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo1: ldo1 {
regulator-name = "vdd_ldo1";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* mmc2: vqmmc */
vdd_ldo2: ldo2 {
regulator-name = "vdd_ldo2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo3: ldo3 {
regulator-name = "vdd_ldo3";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo4: ldo4 {
regulator-name = "vdd_ldo4";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo5: ldo5 {
regulator-name = "vdd_ldo5";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo6: ldo6 {
regulator-name = "vdd_ldo6";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo7: ldo7 {
regulator-name = "vdd_ldo7";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* usbdrd: vdd33 */
vdd_ldo8: ldo8 {
regulator-name = "vdd_ldo8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo9: ldo9 {
regulator-name = "vdd_ldo9";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo10: ldo10 {
regulator-name = "vdd_ldo10";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo25: ldo25 {
regulator-name = "vdd_ldo25";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* mmc0: vmmc */
vdd_ldo26: ldo26 {
regulator-name = "vdd_ldo26";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* mmc0: vqmmc */
vdd_ldo27: ldo27 {
regulator-name = "vdd_ldo27";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2375000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo29: ldo29 {
regulator-name = "vdd_ldo29";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo30: ldo30 {
regulator-name = "vdd_ldo30";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo31: ldo31 {
regulator-name = "vdd_ldo31";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
/* vibrator: haptic */
vdd_ldo32: ldo32 {
regulator-name = "vdd_ldo32";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-ramp-delay = <12000>;
};
vdd_ldo33: ldo33 {
regulator-name = "vdd_ldo33";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo34: ldo34 {
regulator-name = "vdd_ldo34";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-ramp-delay = <12000>;
regulator-boot-on;
regulator-always-on;
};
vdd_ldo35: ldo35 {
regulator-name = "vdd_ldo35";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-boot-on;
regulator-always-on;
};
};
};
};
&i2c1 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
touchscreen@70 {
compatible = "syna,rmi4-i2c";
reg = <0x70>;
interrupt-parent = <&gpc3>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&touch_irq>;
syna,reset-delay-ms = <200>;
syna,startup-delay-ms = <200>;
rmi4-f01@1 {
reg = <0x01>;
syna,nosleep-mode = <1>;
};
rmi4-f12@12 {
reg = <0x12>;
syna,sensor-type = <1>;
syna,rezero-wait-ms = <200>;
syna,clip-x-high = <1079>;
syna,clip-y-high = <1919>;
touchscreen-x-mm = <68>;
touchscreen-y-mm = <121>;
};
};
};
&i2c7 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
accelerometer@1d {
compatible = "st,lis2hh12";
reg = <0x1d>;
interrupt-parent = <&gpa2>;
interrupts = <3 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
pinctrl-0 = <&accel_irq>;
mount-matrix = "1", "0", "0",
"0", "-1", "0",
"0", "0", "-1";
st,drdy-int-pin = <1>;
};
};
&i2c8 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
proximity@48 {
compatible = "sensortek,stk3013", "sensortek,stk3310";
reg = <0x48>;
interrupt-parent = <&gpa0>;
interrupts = <5 IRQ_TYPE_EDGE_BOTH>;
pinctrl-names = "default";
pinctrl-0 = <&proxm_irq>;
proximity-near-level = <25>;
};
};
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_rdqs &sd0_bus1 &sd0_bus4 &sd0_bus8>;
vmmc-supply = <&vdd_ldo26>;
vqmmc-supply = <&vdd_ldo27>;
fifo-depth = <64>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 4>;
samsung,dw-mshc-ddr-timing = <2 4>;
non-removable;
status = "okay";
};
&mmc1 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus1 &sd1_bus4>;
mmc-pwrseq = <&pwrseq_mmc1>;
bus-width = <4>;
fifo-depth = <64>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
non-removable;
cap-sd-highspeed;
cap-sdio-irq;
status = "okay";
wifi@1 {
compatible = "brcm,bcm43430a1-fmac", "brcm,bcm4329-fmac";
reg = <0x1>;
interrupt-names = "host-wake";
interrupt-parent = <&gpa2>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>;
};
};
&mmc2 {
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_irq>;
vmmc-supply = <&vdd_fixed_mmc2>;
vqmmc-supply = <&vdd_ldo2>;
bus-width = <4>;
card-detect-delay = <200>;
fifo-depth = <64>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
sd-uhs-sdr50;
sd-uhs-sdr104;
broken-cd;
disable-wp;
status = "okay";
};
&oscclk {
clock-frequency = <26000000>;
};
&pinctrl_alive {
accel_irq: accel-irq-pins {
samsung,pins = "gpa2-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
dwmmc2_irq: dwmmc2-irq-pins {
samsung,pins = "gpa0-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
fuel_irq: fuel-irq-pins {
samsung,pins = "gpa0-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_home: key-home-pins {
samsung,pins = "gpa1-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_power: key-power-pins {
samsung,pins = "gpa0-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_voldown: key-voldown-pins {
samsung,pins = "gpa2-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
key_volup: key-volup-pins {
samsung,pins = "gpa2-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
pmic_irq: pmic-irq-pins {
samsung,pins = "gpa0-2";
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
};
proxm_irq: proxm-irq-pins {
samsung,pins = "gpa0-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
tkey_irq: tkey-irq-pins {
samsung,pins = "gpa1-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
wlan_hostwake: wlan-hostwake-pins {
samsung,pins = "gpa2-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
};
};
&pinctrl_top {
bt_enable: bt-enable-pins {
samsung,pins = "gpd4-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
};
wlan_enable: wlan-enable-pins {
samsung,pins = "gpd3-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
samsung,pin-val = <0>;
};
};
&pinctrl_touch {
touch_irq: touch-irq-pins {
samsung,pins = "gpc3-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
};
};
&serial1 {
status = "okay";
bluetooth {
compatible = "brcm,bcm43430a1-bt";
pinctrl-names = "default";
pinctrl-0 = <&bt_btwake &bt_hostwake &bt_enable>;
device-wakeup-gpios = <&gpa1 2 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gpa1 6 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&gpd4 1 GPIO_ACTIVE_HIGH>;
max-speed = <3000000>;
};
};
&serial2 {
status = "okay";
};
&usbdrd {
vdd33-supply = <&vdd_ldo8>;
status = "okay";
};

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,712 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Samsung Exynos7870 SoC device tree source
*
* Copyright (c) 2015 Samsung Electronics Co., Ltd.
* Copyright (c) 2025 Kaustabh Chakraborty <kauschluss@disroot.org>
*/
#include <dt-bindings/clock/samsung,exynos7870-cmu.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
/ {
compatible = "samsung,exynos7870";
#address-cells = <2>;
#size-cells = <1>;
interrupt-parent = <&gic>;
aliases {
pinctrl0 = &pinctrl_alive;
pinctrl1 = &pinctrl_dispaud;
pinctrl2 = &pinctrl_ese;
pinctrl3 = &pinctrl_fsys;
pinctrl4 = &pinctrl_mif;
pinctrl5 = &pinctrl_nfc;
pinctrl6 = &pinctrl_top;
pinctrl7 = &pinctrl_touch;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu-map {
cluster0 {
core0 {
cpu = <&cpu0>;
};
core1 {
cpu = <&cpu1>;
};
core2 {
cpu = <&cpu2>;
};
core3 {
cpu = <&cpu3>;
};
};
cluster1 {
core0 {
cpu = <&cpu4>;
};
core1 {
cpu = <&cpu5>;
};
core2 {
cpu = <&cpu6>;
};
core3 {
cpu = <&cpu7>;
};
};
};
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x0>;
enable-method = "psci";
};
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x1>;
enable-method = "psci";
};
cpu2: cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x2>;
enable-method = "psci";
};
cpu3: cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x3>;
enable-method = "psci";
};
cpu4: cpu@100 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x100>;
enable-method = "psci";
};
cpu5: cpu@101 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x101>;
enable-method = "psci";
};
cpu6: cpu@102 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x102>;
enable-method = "psci";
};
cpu7: cpu@103 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x103>;
enable-method = "psci";
};
};
oscclk: oscclk {
compatible = "fixed-clock";
#clock-cells = <0>;
};
psci {
compatible = "arm,psci";
method = "smc";
cpu_suspend = <0xc4000001>;
cpu_off = <0x84000002>;
cpu_on = <0xc4000003>;
};
soc: soc@0 {
compatible = "simple-bus";
ranges = <0x0 0x0 0x0 0x20000000>;
#address-cells = <1>;
#size-cells = <1>;
chipid@10100000 {
compatible = "samsung,exynos7870-chipid",
"samsung,exynos4210-chipid";
reg = <0x10100000 0x100>;
};
cmu_peri: clock-controller@101f0000 {
compatible = "samsung,exynos7870-cmu-peri";
reg = <0x101f0000 0x1000>;
#clock-cells = <1>;
clock-names = "oscclk", "bus", "spi0", "spi1", "spi2",
"spi3", "spi4", "uart0", "uart1", "uart2";
clocks = <&oscclk>,
<&cmu_mif CLK_GOUT_MIF_CMU_PERI_BUS>,
<&cmu_mif CLK_GOUT_MIF_CMU_PERI_SPI0>,
<&cmu_mif CLK_GOUT_MIF_CMU_PERI_SPI1>,
<&cmu_mif CLK_GOUT_MIF_CMU_PERI_SPI2>,
<&cmu_mif CLK_GOUT_MIF_CMU_PERI_SPI3>,
<&cmu_mif CLK_GOUT_MIF_CMU_PERI_SPI4>,
<&cmu_mif CLK_GOUT_MIF_CMU_PERI_UART0>,
<&cmu_mif CLK_GOUT_MIF_CMU_PERI_UART1>,
<&cmu_mif CLK_GOUT_MIF_CMU_PERI_UART2>;
};
cmu_mif: clock-controller@10460000 {
compatible = "samsung,exynos7870-cmu-mif";
reg = <0x10460000 0x1000>;
#clock-cells = <1>;
clock-names = "oscclk";
clocks = <&oscclk>;
};
pmu_system_controller: system-controller@10480000 {
compatible = "samsung,exynos7870-pmu",
"samsung,exynos7-pmu", "syscon";
reg = <0x10480000 0x10000>;
reboot-mode {
compatible = "syscon-reboot-mode";
offset = <0x080c>;
mode-bootloader = <0x1234567d>;
mode-download = <0x12345671>;
mode-recovery = <0x12345674>;
};
};
gic: interrupt-controller@104e1000 {
compatible = "arm,cortex-a15-gic";
reg = <0x104e1000 0x1000>,
<0x104e2000 0x1000>,
<0x104e4000 0x2000>,
<0x104e6000 0x2000>;
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
IRQ_TYPE_LEVEL_HIGH)>;
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <3>;
};
hsi2c0: i2c@10510000 {
compatible = "samsung,exynos7870-hsi2c",
"samsung,exynos7-hsi2c";
reg = <0x10510000 0x2000>;
interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hsi2c0_bus>;
clock-names = "hsi2c";
clocks = <&cmu_mif CLK_GOUT_MIF_HSI2C_IPCLK>;
status = "disabled";
};
pinctrl_mif: pinctrl@10530000 {
compatible = "samsung,exynos7870-pinctrl";
reg = <0x10530000 0x1000>;
interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH>;
};
gpu: gpu@11400000 {
compatible = "samsung,exynos7870-mali", "arm,mali-t830";
reg = <0x11400000 0x5000>;
interrupt-names = "job", "mmu", "gpu";
interrupts = <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "core", "bus";
clocks = <&cmu_g3d CLK_GOUT_G3D_CLK>,
<&cmu_g3d CLK_GOUT_G3D_ASYNCS_D0_CLK>;
status = "disabled";
};
cmu_g3d: clock-controller@11460000 {
compatible = "samsung,exynos7870-cmu-g3d";
reg = <0x11460000 0x1000>;
#clock-cells = <1>;
clock-names = "oscclk", "switch";
clocks = <&oscclk>,
<&cmu_mif CLK_GOUT_MIF_CMU_G3D_SWITCH>;
};
cmu_mfcmscl: clock-controller@12cb0000 {
compatible = "samsung,exynos7870-cmu-mfcmscl";
reg = <0x12cb0000 0x1000>;
#clock-cells = <1>;
clock-names = "oscclk", "mfc", "mscl";
clocks = <&oscclk>,
<&cmu_mif CLK_GOUT_MIF_CMU_MFCMSCL_MFC>,
<&cmu_mif CLK_GOUT_MIF_CMU_MFCMSCL_MSCL>;
};
mmc0: mmc@13540000 {
compatible = "samsung,exynos7870-dw-mshc-smu";
reg = <0x13540000 0x2000>;
interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "biu", "ciu";
clocks = <&cmu_fsys CLK_GOUT_FSYS_MMC0_ACLK>,
<&cmu_mif CLK_GOUT_MIF_CMU_FSYS_MMC0>;
status = "disabled";
};
mmc1: mmc@13550000 {
compatible = "samsung,exynos7870-dw-mshc-smu";
reg = <0x13550000 0x2000>;
interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "biu", "ciu";
clocks = <&cmu_fsys CLK_GOUT_FSYS_MMC1_ACLK>,
<&cmu_mif CLK_GOUT_MIF_CMU_FSYS_MMC1>;
status = "disabled";
};
mmc2: mmc@13560000 {
compatible = "samsung,exynos7870-dw-mshc-smu";
reg = <0x13560000 0x2000>;
interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "biu", "ciu";
clocks = <&cmu_fsys CLK_GOUT_FSYS_MMC2_ACLK>,
<&cmu_mif CLK_GOUT_MIF_CMU_FSYS_MMC2>;
status = "disabled";
};
usbdrd_phy: phy@135c0000 {
compatible = "samsung,exynos7870-usbdrd-phy";
reg = <0x135c0000 0x100>;
#phy-cells = <1>;
clock-names = "phy", "ref";
clocks = <&cmu_fsys CLK_GOUT_FSYS_MUX_USB20DRD_PHYCLOCK_USER>,
<&cmu_fsys CLK_GOUT_FSYS_MUX_USB_PLL>;
samsung,pmu-syscon = <&pmu_system_controller>;
};
usbdrd: usb@13600000 {
compatible = "samsung,exynos7870-dwusb3";
ranges = <0x0 0x13600000 0x10000>;
#address-cells = <1>;
#size-cells = <1>;
clock-names = "bus_early", "ref", "ctrl";
clocks = <&cmu_fsys CLK_GOUT_FSYS_USB20DRD_ACLK_HSDRD>,
<&cmu_fsys CLK_GOUT_FSYS_USB20DRD_HSDRD_REF_CLK>,
<&cmu_fsys CLK_GOUT_FSYS_USB20DRD_HCLK_USB20_CTRL>;
status = "disabled";
usb@0 {
compatible = "snps,dwc3";
reg = <0x0 0x10000>;
interrupts = <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>;
phy-names = "usb2-phy";
phys = <&usbdrd_phy 0>;
usb-role-switch;
};
};
cmu_fsys: clock-controller@13730000 {
compatible = "samsung,exynos7870-cmu-fsys";
reg = <0x13730000 0x1000>;
#clock-cells = <1>;
clock-names = "oscclk", "bus", "usb20drd";
clocks = <&oscclk>,
<&cmu_mif CLK_GOUT_MIF_CMU_FSYS_BUS>,
<&cmu_mif CLK_GOUT_MIF_CMU_FSYS_USB20DRD_REFCLK>;
};
pinctrl_fsys: pinctrl@13750000 {
compatible = "samsung,exynos7870-pinctrl";
reg = <0x13750000 0x1000>;
interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>;
};
serial0: serial@13800000 {
compatible = "samsung,exynos7870-uart",
"samsung,exynos8895-uart";
reg = <0x13800000 0x100>;
interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart0_bus>;
clock-names = "uart", "clk_uart_baud0";
clocks = <&cmu_peri CLK_GOUT_PERI_UART0_PCLK>,
<&cmu_peri CLK_GOUT_PERI_UART0_EXT_UCLK>;
samsung,uart-fifosize = <16>;
status = "disabled";
};
serial1: serial@13810000 {
compatible = "samsung,exynos7870-uart",
"samsung,exynos8895-uart";
reg = <0x13810000 0x100>;
interrupts = <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart1_bus>;
clock-names = "uart", "clk_uart_baud0";
clocks = <&cmu_peri CLK_GOUT_PERI_UART1_PCLK>,
<&cmu_peri CLK_GOUT_PERI_UART1_EXT_UCLK>;
samsung,uart-fifosize = <256>;
status = "disabled";
};
serial2: serial@13820000 {
compatible = "samsung,exynos7870-uart",
"samsung,exynos8895-uart";
reg = <0x13820000 0x100>;
interrupts = <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart2_bus>;
clock-names = "uart", "clk_uart_baud0";
clocks = <&cmu_peri CLK_GOUT_PERI_UART2_PCLK>,
<&cmu_peri CLK_GOUT_PERI_UART2_EXT_UCLK>;
samsung,uart-fifosize = <256>;
status = "disabled";
};
i2c0: i2c@13830000 {
compatible = "samsung,exynos7870-i2c",
"samsung,s3c2440-i2c";
reg = <0x13830000 0x100>;
interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_bus>;
clock-names = "i2c";
clocks = <&cmu_peri CLK_GOUT_PERI_I2C0_PCLK>;
status = "disabled";
};
i2c1: i2c@13840000 {
compatible = "samsung,exynos7870-i2c",
"samsung,s3c2440-i2c";
reg = <0x13840000 0x100>;
interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_bus>;
clock-names = "i2c";
clocks = <&cmu_peri CLK_GOUT_PERI_I2C1_PCLK>;
status = "disabled";
};
i2c2: i2c@13850000 {
compatible = "samsung,exynos7870-i2c",
"samsung,s3c2440-i2c";
reg = <0x13850000 0x100>;
interrupts = <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2_bus>;
clock-names = "i2c";
clocks = <&cmu_peri CLK_GOUT_PERI_I2C2_PCLK>;
status = "disabled";
};
i2c3: i2c@13860000 {
compatible = "samsung,exynos7870-i2c",
"samsung,s3c2440-i2c";
reg = <0x13860000 0x100>;
interrupts = <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&i2c3_bus>;
clock-names = "i2c";
clocks = <&cmu_peri CLK_GOUT_PERI_I2C3_PCLK>;
status = "disabled";
};
i2c4: i2c@13870000 {
compatible = "samsung,exynos7870-i2c",
"samsung,s3c2440-i2c";
reg = <0x13870000 0x100>;
interrupts = <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&i2c4_bus>;
clock-names = "i2c";
clocks = <&cmu_peri CLK_GOUT_PERI_I2C4_PCLK>;
status = "disabled";
};
i2c5: i2c@13880000 {
compatible = "samsung,exynos7870-i2c",
"samsung,s3c2440-i2c";
reg = <0x13880000 0x100>;
interrupts = <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&i2c5_bus>;
clock-names = "i2c";
clocks = <&cmu_peri CLK_GOUT_PERI_I2C5_PCLK>;
status = "disabled";
};
i2c6: i2c@13890000 {
compatible = "samsung,exynos7870-i2c",
"samsung,s3c2440-i2c";
reg = <0x13890000 0x100>;
interrupts = <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&i2c6_bus>;
clock-names = "i2c";
clocks = <&cmu_peri CLK_GOUT_PERI_I2C6_PCLK>;
status = "disabled";
};
hsi2c1: i2c@138a0000 {
compatible = "samsung,exynos7870-hsi2c",
"samsung,exynos7-hsi2c";
reg = <0x138a0000 0x1000>;
interrupts = <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hsi2c1_bus>;
clock-names = "hsi2c";
clocks = <&cmu_peri CLK_GOUT_PERI_HSI2C1_IPCLK>;
status = "disabled";
};
hsi2c2: i2c@138b0000 {
compatible = "samsung,exynos7870-hsi2c",
"samsung,exynos7-hsi2c";
reg = <0x138b0000 0x1000>;
interrupts = <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hsi2c2_bus>;
clock-names = "hsi2c";
clocks = <&cmu_peri CLK_GOUT_PERI_HSI2C2_IPCLK>;
status = "disabled";
};
hsi2c3: i2c@138c0000 {
compatible = "samsung,exynos7870-hsi2c",
"samsung,exynos7-hsi2c";
reg = <0x138c0000 0x1000>;
interrupts = <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hsi2c3_bus>;
clock-names = "hsi2c";
clocks = <&cmu_peri CLK_GOUT_PERI_HSI2C3_IPCLK>;
status = "disabled";
};
i2c7: i2c@138d0000 {
compatible = "samsung,exynos7870-i2c",
"samsung,s3c2440-i2c";
reg = <0x138d0000 0x100>;
interrupts = <GIC_SPI 453 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&i2c7_bus>;
clock-names = "i2c";
clocks = <&cmu_peri CLK_GOUT_PERI_I2C7_PCLK>;
status = "disabled";
};
i2c8: i2c@138e0000 {
compatible = "samsung,exynos7870-i2c",
"samsung,s3c2440-i2c";
reg = <0x138e0000 0x100>;
interrupts = <GIC_SPI 454 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&i2c8_bus>;
clock-names = "i2c";
clocks = <&cmu_peri CLK_GOUT_PERI_I2C8_PCLK>;
status = "disabled";
};
hsi2c4: i2c@138f0000 {
compatible = "samsung,exynos7870-hsi2c",
"samsung,exynos7-hsi2c";
reg = <0x138f0000 0x1000>;
interrupts = <GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hsi2c4_bus>;
clock-names = "hsi2c";
clocks = <&cmu_peri CLK_GOUT_PERI_HSI2C4_IPCLK>;
status = "disabled";
};
hsi2c5: i2c@13950000 {
compatible = "samsung,exynos7870-hsi2c",
"samsung,exynos7-hsi2c";
reg = <0x13950000 0x1000>;
interrupts = <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hsi2c5_bus>;
clock-names = "hsi2c";
clocks = <&cmu_peri CLK_GOUT_PERI_HSI2C5_IPCLK>;
status = "disabled";
};
hsi2c6: i2c@13960000 {
compatible = "samsung,exynos7870-hsi2c",
"samsung,exynos7-hsi2c";
reg = <0x13960000 0x1000>;
interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hsi2c6_bus>;
clock-names = "hsi2c";
clocks = <&cmu_peri CLK_GOUT_PERI_HSI2C6_IPCLK>;
status = "disabled";
};
pinctrl_top: pinctrl@139b0000 {
compatible = "samsung,exynos7870-pinctrl";
reg = <0x139b0000 0x1000>;
interrupts = <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>;
};
pinctrl_nfc: pinctrl@139c0000 {
compatible = "samsung,exynos7870-pinctrl";
reg = <0x139c0000 0x1000>;
interrupts = <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>;
};
pinctrl_touch: pinctrl@139d0000 {
compatible = "samsung,exynos7870-pinctrl";
reg = <0x139d0000 0x1000>;
interrupts = <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>;
};
pinctrl_ese: pinctrl@139e0000 {
compatible = "samsung,exynos7870-pinctrl";
reg = <0x139e0000 0x1000>;
interrupts = <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>;
};
pinctrl_alive: pinctrl@139f0000 {
compatible = "samsung,exynos7870-pinctrl";
reg = <0x139f0000 0x1000>;
wakeup-interrupt-controller {
compatible = "samsung,exynos7870-wakeup-eint",
"samsung,exynos7-wakeup-eint";
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
};
};
cmu_isp: clock-controller@144d0000 {
compatible = "samsung,exynos7870-cmu-isp";
reg = <0x144d0000 0x1000>;
#clock-cells = <1>;
clock-names = "oscclk", "cam", "isp", "vra";
clocks = <&oscclk>,
<&cmu_mif CLK_GOUT_MIF_CMU_ISP_CAM>,
<&cmu_mif CLK_GOUT_MIF_CMU_ISP_ISP>,
<&cmu_mif CLK_GOUT_MIF_CMU_ISP_VRA>;
};
pinctrl_dispaud: pinctrl@148c0000 {
compatible = "samsung,exynos7870-pinctrl";
reg = <0x148c0000 0x1000>;
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
};
cmu_dispaud: clock-controller@148d0000 {
compatible = "samsung,exynos7870-cmu-dispaud";
reg = <0x148d0000 0x1000>;
#clock-cells = <1>;
clock-names = "oscclk", "bus", "decon_eclk", "decon_vclk";
clocks = <&oscclk>,
<&cmu_mif CLK_GOUT_MIF_CMU_DISPAUD_BUS>,
<&cmu_mif CLK_GOUT_MIF_CMU_DISPAUD_DECON_ECLK>,
<&cmu_mif CLK_GOUT_MIF_CMU_DISPAUD_DECON_VCLK>;
};
};
timer {
compatible = "arm,armv8-timer";
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
/*
* Non-updatable, broken stock Samsung bootloader does not
* configure CNTFRQ_EL0
*/
clock-frequency = <26000000>;
};
};
#include "exynos7870-pinctrl.dtsi"
#include "arm/samsung/exynos-syscon-restart.dtsi"

View File

@@ -651,7 +651,7 @@ usi_uart: usi@138200c0 {
compatible = "samsung,exynos850-usi";
reg = <0x138200c0 0x20>;
samsung,sysreg = <&sysreg_peri 0x1010>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -677,7 +677,7 @@ usi_hsi2c_0: usi@138a00c0 {
compatible = "samsung,exynos850-usi";
reg = <0x138a00c0 0x20>;
samsung,sysreg = <&sysreg_peri 0x1020>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -706,7 +706,7 @@ usi_hsi2c_1: usi@138b00c0 {
compatible = "samsung,exynos850-usi";
reg = <0x138b00c0 0x20>;
samsung,sysreg = <&sysreg_peri 0x1030>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -735,7 +735,7 @@ usi_hsi2c_2: usi@138c00c0 {
compatible = "samsung,exynos850-usi";
reg = <0x138c00c0 0x20>;
samsung,sysreg = <&sysreg_peri 0x1040>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -764,7 +764,7 @@ usi_spi_0: usi@139400c0 {
compatible = "samsung,exynos850-usi";
reg = <0x139400c0 0x20>;
samsung,sysreg = <&sysreg_peri 0x1050>;
samsung,mode = <USI_V2_SPI>;
samsung,mode = <USI_MODE_SPI>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -796,7 +796,7 @@ usi_cmgp0: usi@11d000c0 {
compatible = "samsung,exynos850-usi";
reg = <0x11d000c0 0x20>;
samsung,sysreg = <&sysreg_cmgp 0x2000>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -855,7 +855,7 @@ usi_cmgp1: usi@11d200c0 {
compatible = "samsung,exynos850-usi";
reg = <0x11d200c0 0x20>;
samsung,sysreg = <&sysreg_cmgp 0x2010>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;

View File

@@ -442,7 +442,7 @@ usi_0: usi@103000c0 {
"samsung,exynos850-usi";
reg = <0x103000c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1000>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -505,7 +505,7 @@ usi_i2c_0: usi@103100c0 {
"samsung,exynos850-usi";
reg = <0x103100c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1004>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -534,7 +534,7 @@ usi_1: usi@103200c0 {
"samsung,exynos850-usi";
reg = <0x103200c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1008>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -597,7 +597,7 @@ usi_i2c_1: usi@103300c0 {
"samsung,exynos850-usi";
reg = <0x103300c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x100c>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -626,7 +626,7 @@ usi_2: usi@103400c0 {
"samsung,exynos850-usi";
reg = <0x103400c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1010>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -689,7 +689,7 @@ usi_i2c_2: usi@103500c0 {
"samsung,exynos850-usi";
reg = <0x103500c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1014>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -718,7 +718,7 @@ usi_3: usi@103600c0 {
"samsung,exynos850-usi";
reg = <0x103600c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1018>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -781,7 +781,7 @@ usi_i2c_3: usi@103700c0 {
"samsung,exynos850-usi";
reg = <0x103700c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x101c>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -810,7 +810,7 @@ usi_4: usi@103800c0 {
"samsung,exynos850-usi";
reg = <0x103800c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1020>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -873,7 +873,7 @@ usi_i2c_4: usi@103900c0 {
"samsung,exynos850-usi";
reg = <0x103900c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1024>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -902,7 +902,7 @@ usi_5: usi@103a00c0 {
"samsung,exynos850-usi";
reg = <0x103a00c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1028>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -965,7 +965,7 @@ usi_i2c_5: usi@103b00c0 {
"samsung,exynos850-usi";
reg = <0x103b00c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x102c>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -994,7 +994,7 @@ usi_6: usi@109000c0 {
"samsung,exynos850-usi";
reg = <0x109000c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1000>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1057,7 +1057,7 @@ usi_i2c_6: usi@109100c0 {
"samsung,exynos850-usi";
reg = <0x109100c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1004>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1086,7 +1086,7 @@ usi_7: usi@109200c0 {
"samsung,exynos850-usi";
reg = <0x109200c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1008>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1149,7 +1149,7 @@ usi_i2c_7: usi@109300c0 {
"samsung,exynos850-usi";
reg = <0x109300c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x100c>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1178,7 +1178,7 @@ usi_8: usi@109400c0 {
"samsung,exynos850-usi";
reg = <0x109400c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1010>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1241,7 +1241,7 @@ usi_i2c_8: usi@109500c0 {
"samsung,exynos850-usi";
reg = <0x109500c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1014>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1270,7 +1270,7 @@ usi_9: usi@109600c0 {
"samsung,exynos850-usi";
reg = <0x109600c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1018>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1333,7 +1333,7 @@ usi_i2c_9: usi@109700c0 {
"samsung,exynos850-usi";
reg = <0x109700c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x101c>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1362,7 +1362,7 @@ usi_10: usi@109800c0 {
"samsung,exynos850-usi";
reg = <0x109800c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1020>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1425,7 +1425,7 @@ usi_i2c_10: usi@109900c0 {
"samsung,exynos850-usi";
reg = <0x109900c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1024>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1454,7 +1454,7 @@ usi_11: usi@109a00c0 {
"samsung,exynos850-usi";
reg = <0x109a00c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1028>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -1515,7 +1515,7 @@ usi_i2c_11: usi@109b00c0 {
"samsung,exynos850-usi";
reg = <0x109b00c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x102c>;
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
#address-cells = <1>;
#size-cells = <1>;
ranges;

View File

@@ -433,7 +433,7 @@ usi_0: usi@108800c0 {
"samsung,exynos850-usi";
reg = <0x108800c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1000>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -457,6 +457,238 @@ serial_0: serial@10880000 {
};
};
usi_1: usi@108a00c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x108a00c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1008>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI01_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_1: serial@108a0000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x108a0000 0xc0>;
interrupts = <GIC_SPI 766 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart1_bus>;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI01_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <256>;
status = "disabled";
};
};
usi_2: usi@108c00c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x108c00c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1010>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI02_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_2: serial@108c0000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x108c0000 0xc0>;
interrupts = <GIC_SPI 768 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart2_bus>;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI02_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_3: usi@108e00c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x108e00c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1018>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI03_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_3: serial@108e0000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x108e0000 0xc0>;
interrupts = <GIC_SPI 770 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart3_bus>;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI03_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_4: usi@109000c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x109000c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1020>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI04_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_4: serial@10900000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10900000 0xc0>;
interrupts = <GIC_SPI 772 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart4_bus>;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI04_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_5: usi@109200c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x109200c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1028>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI05_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_5: serial@10920000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10920000 0xc0>;
interrupts = <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart5_bus>;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI05_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_6: usi@109400c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x109400c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1030>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI06_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_6: serial@10940000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10940000 0xc0>;
interrupts = <GIC_SPI 776 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart6_bus>;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI06_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_7: usi@109600c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x109600c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1038>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI07_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_7: serial@10960000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10960000 0xc0>;
interrupts = <GIC_SPI 778 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart7_bus>;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI07_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_8: usi@109800c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x109800c0 0x20>;
samsung,sysreg = <&syscon_peric0 0x1040>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI08_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_8: serial@10980000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10980000 0xc0>;
interrupts = <GIC_SPI 780 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart8_bus>;
clocks = <&cmu_peric0 CLK_MOUT_PERIC0_NOC_USER>,
<&cmu_peric0 CLK_DOUT_PERIC0_USI08_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
pwm: pwm@109b0000 {
compatible = "samsung,exynosautov920-pwm",
"samsung,exynos4210-pwm";
@@ -493,6 +725,267 @@ pinctrl_peric1: pinctrl@10c30000 {
interrupts = <GIC_SPI 781 IRQ_TYPE_LEVEL_HIGH>;
};
usi_9: usi@10c800c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x10c800c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1000>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI09_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_9: serial@10c8000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10c80000 0xc0>;
interrupts = <GIC_SPI 787 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart9_bus>;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI09_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <256>;
status = "disabled";
};
};
usi_10: usi@10ca00c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x10ca00c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1008>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI10_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_10: serial@10ca0000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10ca0000 0xc0>;
interrupts = <GIC_SPI 789 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart10_bus>;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI10_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_11: usi@10cc00c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x10cc00c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1010>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI11_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_11: serial@10cc0000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10cc0000 0xc0>;
interrupts = <GIC_SPI 791 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart11_bus>;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI11_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_12: usi@10ce00c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x10ce00c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1018>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI12_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_12: serial@10ce0000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10ce0000 0xc0>;
interrupts = <GIC_SPI 793 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart12_bus>;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI12_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_13: usi@10d000c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x10d000c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1020>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI13_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_13: serial@10d00000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10d00000 0xc0>;
interrupts = <GIC_SPI 795 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart13_bus>;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI13_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_14: usi@10d200c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x10d200c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1028>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI14_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_14: serial@10d20000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10d20000 0xc0>;
interrupts = <GIC_SPI 797 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart14_bus>;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI14_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_15: usi@10d400c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x10d400c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1030>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI15_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_15: serial@10d40000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10d40000 0xc0>;
interrupts = <GIC_SPI 799 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart15_bus>;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI15_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_16: usi@10d600c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x10d600c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1038>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI16_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_16: serial@10d60000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10d60000 0xc0>;
interrupts = <GIC_SPI 801 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart16_bus>;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI16_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
usi_17: usi@10d800c0 {
compatible = "samsung,exynosautov920-usi",
"samsung,exynos850-usi";
reg = <0x10d800c0 0x20>;
samsung,sysreg = <&syscon_peric1 0x1040>;
samsung,mode = <USI_V2_UART>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI17_USI>;
clock-names = "pclk", "ipclk";
status = "disabled";
serial_17: serial@10d80000 {
compatible = "samsung,exynosautov920-uart",
"samsung,exynos850-uart";
reg = <0x10d80000 0xc0>;
interrupts = <GIC_SPI 803 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart17_bus>;
clocks = <&cmu_peric1 CLK_MOUT_PERIC1_NOC_USER>,
<&cmu_peric1 CLK_DOUT_PERIC1_USI17_USI>;
clock-names = "uart", "clk_uart_baud0";
samsung,uart-fifosize = <64>;
status = "disabled";
};
};
cmu_top: clock-controller@11000000 {
compatible = "samsung,exynosautov920-cmu-top";
reg = <0x11000000 0x8000>;
@@ -582,6 +1075,47 @@ pinctrl_aud: pinctrl@1a460000 {
compatible = "samsung,exynosautov920-pinctrl";
reg = <0x1a460000 0x10000>;
};
cmu_cpucl0: clock-controller@1ec00000 {
compatible = "samsung,exynosautov920-cmu-cpucl0";
reg = <0x1ec00000 0x8000>;
#clock-cells = <1>;
clocks = <&xtcxo>,
<&cmu_top DOUT_CLKCMU_CPUCL0_SWITCH>,
<&cmu_top DOUT_CLKCMU_CPUCL0_CLUSTER>,
<&cmu_top DOUT_CLKCMU_CPUCL0_DBG>;
clock-names = "oscclk",
"switch",
"cluster",
"dbg";
};
cmu_cpucl1: clock-controller@1ed00000 {
compatible = "samsung,exynosautov920-cmu-cpucl1";
reg = <0x1ed00000 0x8000>;
#clock-cells = <1>;
clocks = <&xtcxo>,
<&cmu_top DOUT_CLKCMU_CPUCL1_SWITCH>,
<&cmu_top DOUT_CLKCMU_CPUCL1_CLUSTER>;
clock-names = "oscclk",
"switch",
"cluster";
};
cmu_cpucl2: clock-controller@1ee00000 {
compatible = "samsung,exynosautov920-cmu-cpucl2";
reg = <0x1ee00000 0x8000>;
#clock-cells = <1>;
clocks = <&xtcxo>,
<&cmu_top DOUT_CLKCMU_CPUCL2_SWITCH>,
<&cmu_top DOUT_CLKCMU_CPUCL2_CLUSTER>;
clock-names = "oscclk",
"switch",
"cluster";
};
};
timer {

View File

@@ -279,12 +279,12 @@ &usi_uart {
};
&usi8 {
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
status = "okay";
};
&usi12 {
samsung,mode = <USI_V2_I2C>;
samsung,mode = <USI_MODE_I2C>;
status = "okay";
};

View File

@@ -833,7 +833,7 @@ usi_uart: usi@10a000c0 {
<&cmu_peric0 CLK_GOUT_PERIC0_PERIC0_TOP1_IPCLK_0>;
clock-names = "pclk", "ipclk";
samsung,sysreg = <&sysreg_peric0 0x1020>;
samsung,mode = <USI_V2_UART>;
samsung,mode = <USI_MODE_UART>;
status = "disabled";
serial_0: serial@10a00000 {
@@ -1405,6 +1405,7 @@ sysreg_apm: syscon@174204e0 {
pmu_system_controller: system-controller@17460000 {
compatible = "google,gs101-pmu", "syscon";
reg = <0x17460000 0x10000>;
google,pmu-intr-gen-syscon = <&pmu_intr_gen>;
poweroff: syscon-poweroff {
compatible = "syscon-poweroff";
@@ -1434,6 +1435,11 @@ reboot-mode {
};
};
pmu_intr_gen: syscon@17470000 {
compatible = "google,gs101-pmu-intr-gen", "syscon";
reg = <0x17470000 0x10000>;
};
pinctrl_gpio_alive: pinctrl@174d0000 {
compatible = "google,gs101-pinctrl";
reg = <0x174d0000 0x00001000>;

View File

@@ -64,6 +64,26 @@ codec {
};
};
&ethernet0 {
status = "okay";
phy-mode = "rgmii-id";
fixed-link {
speed = <1000>;
full-duplex;
};
};
&ethernet1 {
status = "okay";
phy-mode = "rgmii-id";
fixed-link {
speed = <1000>;
full-duplex;
};
};
&fin_pll {
clock-frequency = <24000000>;
};

View File

@@ -64,6 +64,62 @@ ufs_refclk_out: ufs-refclk-out-pins {
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV4>;
};
eth0_tx_clk: eth0-tx-clk-pins {
samsung,pins = "gpf0-0";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth0_tx_data: eth0-tx-data-pins {
samsung,pins = "gpf0-1", "gpf0-2", "gpf0-3", "gpf0-4";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth0_tx_ctrl: eth0-tx-ctrl-pins {
samsung,pins = "gpf0-5";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth0_phy_intr: eth0-phy-intr-pins {
samsung,pins = "gpf0-6";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_NONE>;
samsung,pin-drv = <FSD_PIN_DRV_LV4>;
};
eth0_rx_clk: eth0-rx-clk-pins {
samsung,pins = "gpf1-0";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth0_rx_data: eth0-rx-data-pins {
samsung,pins = "gpf1-1", "gpf1-2", "gpf1-3", "gpf1-4";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth0_rx_ctrl: eth0-rx-ctrl-pins {
samsung,pins = "gpf1-5";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth0_mdio: eth0-mdio-pins {
samsung,pins = "gpf1-6", "gpf1-7";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_NONE>;
samsung,pin-drv = <FSD_PIN_DRV_LV4>;
};
};
&pinctrl_peric {
@@ -381,6 +437,62 @@ i2s1_bus: i2s1-bus-pins {
samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
samsung,pin-drv = <FSD_PIN_DRV_LV4>;
};
eth1_tx_clk: eth1-tx-clk-pins {
samsung,pins = "gpf2-0";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth1_tx_data: eth1-tx-data-pins {
samsung,pins = "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-4";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth1_tx_ctrl: eth1-tx-ctrl-pins {
samsung,pins = "gpf2-5";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth1_phy_intr: eth1-phy-intr-pins {
samsung,pins = "gpf2-6";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV4>;
};
eth1_rx_clk: eth1-rx-clk-pins {
samsung,pins = "gpf3-0";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth1_rx_data: eth1-rx-data-pins {
samsung,pins = "gpf3-1", "gpf3-2", "gpf3-3", "gpf3-4";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth1_rx_ctrl: eth1-rx-ctrl-pins {
samsung,pins = "gpf3-5";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV6>;
};
eth1_mdio: eth1-mdio-pins {
samsung,pins = "gpf3-6", "gpf3-7";
samsung,pin-function = <FSD_PIN_FUNC_2>;
samsung,pin-pud = <FSD_PIN_PULL_UP>;
samsung,pin-drv = <FSD_PIN_DRV_LV4>;
};
};
&pinctrl_pmu {

View File

@@ -979,6 +979,36 @@ mfc: mfc@12880000 {
memory-region = <&mfc_left>;
};
ethernet1: ethernet@14300000 {
compatible = "tesla,fsd-ethqos";
reg = <0x0 0x14300000 0x0 0x10000>;
interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "macirq";
clocks = <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_CLK_PTP_REF_I>,
<&clock_peric PERIC_EQOS_TOP_IPCLKPORT_ACLK_I>,
<&clock_peric PERIC_EQOS_TOP_IPCLKPORT_HCLK_I>,
<&clock_peric PERIC_EQOS_TOP_IPCLKPORT_RGMII_CLK_I>,
<&clock_peric PERIC_EQOS_TOP_IPCLKPORT_CLK_RX_I>,
<&clock_peric PERIC_BUS_D_PERIC_IPCLKPORT_EQOSCLK>,
<&clock_peric PERIC_BUS_P_PERIC_IPCLKPORT_EQOSCLK>,
<&clock_peric PERIC_EQOS_PHYRXCLK_MUX>,
<&clock_peric PERIC_EQOS_PHYRXCLK>,
<&clock_peric PERIC_DOUT_RGMII_CLK>;
clock-names = "ptp_ref", "master_bus", "slave_bus", "tx", "rx",
"master2_bus", "slave2_bus", "eqos_rxclk_mux",
"eqos_phyrxclk", "dout_peric_rgmii_clk";
assigned-clocks = <&clock_peric PERIC_EQOS_PHYRXCLK_MUX>,
<&clock_peric PERIC_EQOS_PHYRXCLK>;
assigned-clock-parents = <&clock_peric PERIC_EQOS_PHYRXCLK>;
pinctrl-names = "default";
pinctrl-0 = <&eth1_tx_clk>, <&eth1_tx_data>, <&eth1_tx_ctrl>,
<&eth1_phy_intr>, <&eth1_rx_clk>, <&eth1_rx_data>,
<&eth1_rx_ctrl>, <&eth1_mdio>;
local-mac-address = [00 00 00 00 00 00];
iommus = <&smmu_peric 0x0 0x1>;
status = "disabled";
};
ufs: ufs@15120000 {
compatible = "tesla,fsd-ufs";
reg = <0x0 0x15120000 0x0 0x200>, /* 0: HCI standard */
@@ -1007,6 +1037,26 @@ ufs_phy: ufs-phy@15124000 {
clocks = <&clock_fsys0 UFS0_MPHY_REFCLK_IXTAL26>;
clock-names = "ref_clk";
};
ethernet0: ethernet@15300000 {
compatible = "tesla,fsd-ethqos";
reg = <0x0 0x15300000 0x0 0x10000>;
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "macirq";
clocks = <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_CLK_PTP_REF_I>,
<&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_ACLK_I>,
<&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_HCLK_I>,
<&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_RGMII_CLK_I>,
<&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_CLK_RX_I>;
clock-names = "ptp_ref", "master_bus", "slave_bus", "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&eth0_tx_clk>, <&eth0_tx_data>, <&eth0_tx_ctrl>,
<&eth0_phy_intr>, <&eth0_rx_clk>, <&eth0_rx_data>,
<&eth0_rx_ctrl>, <&eth0_mdio>;
local-mac-address = [00 00 00 00 00 00];
iommus = <&smmu_fsys0 0x0 0x1>;
status = "disabled";
};
};
};