mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Merge tag 'pxa1908-dt-for-6.19' of https://gitlab.com/pxa1908-mainline/linux into soc/dt
PXA1908 DT changes for 6.19 Rollup of hardware support which has accumulated since support for the SoC and coreprimevelte board was merged. This most notably includes eMMC, PMIC, backlight and touchscreen. A few QoL fixes are also included. * tag 'pxa1908-dt-for-6.19' of https://gitlab.com/pxa1908-mainline/linux: arm64: dts: marvell: pxa1908: Add power domains arm64: dts: marvell: samsung,coreprimevelte: Add USB connector arm64: dts: marvell: samsung,coreprimevelte: Fill in memory node arm64: dts: marvell: samsung,coreprimevelte: Drop some reserved memory arm64: dts: marvell: pxa1908: Move ramoops to SoC dtsi arm64: dts: marvell: samsung,coreprimevelte: Add vibrator arm64: dts: marvell: pxa1908: Add PWMs arm64: dts: marvell: samsung,coreprimevelte: Enable eMMC arm64: dts: marvell: samsung,coreprimevelte: Correct CD GPIO arm64: dts: marvell: samsung,coreprimevelte: Add backlight arm64: dts: samsung,coreprimevelte: add SDIO arm64: dts: samsung,coreprimevelte: add touchscreen arm64: dts: samsung,coreprimevelte: add PMIC Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
aliases {
|
||||
mmc0 = &sdh2; /* eMMC */
|
||||
mmc1 = &sdh0; /* SD card */
|
||||
mmc2 = &sdh1; /* SDIO */
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
@@ -23,6 +24,7 @@
|
||||
fb0: framebuffer@17177000 {
|
||||
compatible = "simple-framebuffer";
|
||||
reg = <0 0x17177000 0 (480 * 800 * 4)>;
|
||||
power-domains = <&apmu PXA1908_POWER_DOMAIN_DSI>;
|
||||
width = <480>;
|
||||
height = <800>;
|
||||
stride = <(480 * 4)>;
|
||||
@@ -30,46 +32,26 @@
|
||||
};
|
||||
};
|
||||
|
||||
/* Bootloader fills this in */
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0 0 0 0>;
|
||||
reg = <0 0 0 0x40000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
/*
|
||||
* Reserved by the vendor bootloader as a "secure region".
|
||||
*
|
||||
* TODO: See if the responsible stage of the bootloader can be
|
||||
* replaced
|
||||
*/
|
||||
secure-region@0 {
|
||||
reg = <0 0 0 0x1000000>;
|
||||
};
|
||||
|
||||
framebuffer@17000000 {
|
||||
reg = <0 0x17000000 0 0x1800000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
gpu@9000000 {
|
||||
reg = <0 0x9000000 0 0x1000000>;
|
||||
};
|
||||
|
||||
/* Communications processor, aka modem */
|
||||
cp@5000000 {
|
||||
reg = <0 0x5000000 0 0x3000000>;
|
||||
};
|
||||
|
||||
cm3@a000000 {
|
||||
reg = <0 0xa000000 0 0x80000>;
|
||||
};
|
||||
|
||||
seclog@8000000 {
|
||||
reg = <0 0x8000000 0 0x100000>;
|
||||
};
|
||||
|
||||
ramoops@8100000 {
|
||||
compatible = "ramoops";
|
||||
reg = <0 0x8100000 0 0x40000>;
|
||||
record-size = <0x8000>;
|
||||
console-size = <0x20000>;
|
||||
max-reason = <5>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c-muic {
|
||||
@@ -88,6 +70,12 @@
|
||||
reg = <0x14>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
usb_con: connector {
|
||||
compatible = "usb-b-connector";
|
||||
label = "micro-USB";
|
||||
type = "micro";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -115,6 +103,21 @@
|
||||
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
backlight {
|
||||
compatible = "kinetic,ktd2801";
|
||||
ctrl-gpios = <&gpio 97 GPIO_ACTIVE_HIGH>;
|
||||
max-brightness = <210>;
|
||||
};
|
||||
|
||||
vibrator {
|
||||
compatible = "pwm-vibrator";
|
||||
pwm-names = "enable";
|
||||
pwms = <&pwm3 100000>;
|
||||
enable-gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vibrator_pin>;
|
||||
};
|
||||
};
|
||||
|
||||
&smmu {
|
||||
@@ -286,6 +289,151 @@
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0x208 0x388>;
|
||||
};
|
||||
|
||||
sdh1_pins_0: sdh1-pins-0 {
|
||||
pinctrl-single,pins = <
|
||||
0x170 1
|
||||
0x174 1
|
||||
0x178 1
|
||||
0x17c 1
|
||||
0x180 1
|
||||
>;
|
||||
pinctrl-single,drive-strength = <0x1000 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0 0x388>;
|
||||
};
|
||||
|
||||
sdh1_pins_1: sdh1-pins-1 {
|
||||
pinctrl-single,pins = <0x184 1>;
|
||||
pinctrl-single,drive-strength = <0 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0x208 0x388>;
|
||||
};
|
||||
|
||||
sdh1_pins_2: sdh1-pins-2 {
|
||||
pinctrl-single,pins = <0xec 0>;
|
||||
pinctrl-single,drive-strength = <0x1000 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0x8000 0x8000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0x8000 0x8000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0 0x388>;
|
||||
};
|
||||
|
||||
sdh1_fast_pins_0: sdh1-fast-pins-0 {
|
||||
pinctrl-single,pins = <
|
||||
0x170 1
|
||||
0x174 1
|
||||
0x178 1
|
||||
0x17c 1
|
||||
0x180 1
|
||||
>;
|
||||
pinctrl-single,drive-strength = <0x1800 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0 0x388>;
|
||||
};
|
||||
|
||||
sdh1_fast_pins_1: sdh1-fast-pins-1 {
|
||||
pinctrl-single,pins = <0x184 1>;
|
||||
pinctrl-single,drive-strength = <0x1800 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0x208 0x388>;
|
||||
};
|
||||
|
||||
sdh2_pins_0: sdh2-pins-0 {
|
||||
pinctrl-single,pins = <
|
||||
0x24 1
|
||||
0x28 1
|
||||
0x2c 1
|
||||
0x30 1
|
||||
0x34 1
|
||||
0x38 1
|
||||
0x3c 1
|
||||
0x40 1
|
||||
>;
|
||||
pinctrl-single,drive-strength = <0x1000 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0 0x388>;
|
||||
};
|
||||
|
||||
sdh2_pins_1: sdh2-pins-1 {
|
||||
pinctrl-single,pins = <0x64 1>;
|
||||
pinctrl-single,drive-strength = <0x1000 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0x208 0x388>;
|
||||
};
|
||||
|
||||
sdh2_pins_2: sdh2-pins-2 {
|
||||
pinctrl-single,pins = <0x5c 1>;
|
||||
pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0x8000 0xa000 0x8000 0xa000>;
|
||||
pinctrl-single,low-power-mode = <0x288 0x388>;
|
||||
};
|
||||
|
||||
sdh2_fast_pins_0: sdh2-fast-pins-0 {
|
||||
pinctrl-single,pins = <
|
||||
0x24 1
|
||||
0x28 1
|
||||
0x2c 1
|
||||
0x30 1
|
||||
0x34 1
|
||||
0x38 1
|
||||
0x3c 1
|
||||
0x40 1
|
||||
>;
|
||||
pinctrl-single,drive-strength = <0x1800 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0 0x388>;
|
||||
};
|
||||
|
||||
sdh2_fast_pins_1: sdh2-fast-pins-1 {
|
||||
pinctrl-single,pins = <0x64 1>;
|
||||
pinctrl-single,drive-strength = <0x1800 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0x208 0x388>;
|
||||
};
|
||||
|
||||
sdh2_fast_pins_2: sdh2-fast-pins-2 {
|
||||
pinctrl-single,pins = <0x5c 1>;
|
||||
pinctrl-single,drive-strength = <0x1800 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0x8000 0xa000 0x8000 0xa000>;
|
||||
pinctrl-single,low-power-mode = <0x288 0x388>;
|
||||
};
|
||||
|
||||
vibrator_pin: vibrator-pin {
|
||||
pinctrl-single,pins = <0x12c 0>;
|
||||
pinctrl-single,drive-strength = <0x1000 0x1800>;
|
||||
pinctrl-single,bias-pullup = <0x8000 0xc000 0x8000 0xc000>;
|
||||
pinctrl-single,bias-pulldown = <0xa000 0xa000 0 0xa000>;
|
||||
pinctrl-single,input-schmitt = <0 0x30>;
|
||||
pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
|
||||
pinctrl-single,low-power-mode = <0 0x388>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
@@ -303,10 +451,46 @@
|
||||
|
||||
&twsi2 {
|
||||
status = "okay";
|
||||
|
||||
pmic@30 {
|
||||
compatible = "marvell,88pm886-a1";
|
||||
reg = <0x30>;
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
wakeup-source;
|
||||
|
||||
regulators {
|
||||
ldo2: ldo2 {
|
||||
regulator-min-microvolt = <1900000>;
|
||||
regulator-max-microvolt = <3100000>;
|
||||
};
|
||||
|
||||
ldo6: ldo6 {
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo14: ldo14 {
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&twsi3 {
|
||||
status = "okay";
|
||||
|
||||
touchscreen@50 {
|
||||
compatible = "imagis,ist3032c";
|
||||
reg = <0x50>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <72 IRQ_TYPE_EDGE_FALLING>;
|
||||
vdd-supply = <&ldo2>;
|
||||
touchscreen-size-x = <480>;
|
||||
touchscreen-size-y = <800>;
|
||||
};
|
||||
};
|
||||
|
||||
&usb {
|
||||
@@ -314,18 +498,33 @@
|
||||
};
|
||||
|
||||
&sdh2 {
|
||||
/* Disabled for now because initialization fails with -ETIMEDOUT. */
|
||||
status = "disabled";
|
||||
pinctrl-names = "default", "state_uhs";
|
||||
pinctrl-0 = <&sdh2_pins_0 &sdh2_pins_1 &sdh2_pins_2>;
|
||||
pinctrl-1 = <&sdh2_fast_pins_0 &sdh2_fast_pins_1 &sdh2_fast_pins_2>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
mmc-ddr-1_8v;
|
||||
mmc-hs200-1_8v;
|
||||
};
|
||||
|
||||
&sdh0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdh0_pins_0 &sdh0_pins_1 &sdh0_pins_2>;
|
||||
cd-gpios = <&gpio 11 0>;
|
||||
cd-inverted;
|
||||
cd-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
|
||||
bus-width = <4>;
|
||||
wp-inverted;
|
||||
vmmc-supply = <&ldo14>;
|
||||
vqmmc-supply = <&ldo6>;
|
||||
};
|
||||
|
||||
&sdh1 {
|
||||
pinctrl-names = "default", "state_uhs";
|
||||
pinctrl-0 = <&sdh1_pins_0 &sdh1_pins_1 &sdh1_pins_2>;
|
||||
pinctrl-1 = <&sdh1_fast_pins_0 &sdh1_fast_pins_1 &sdh1_pins_2>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
};
|
||||
|
||||
&pwm3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/marvell,pxa1908.h>
|
||||
#include <dt-bindings/power/marvell,pxa1908-power.h>
|
||||
|
||||
/ {
|
||||
model = "Marvell Armada PXA1908";
|
||||
@@ -58,6 +59,20 @@
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ramoops@8100000 {
|
||||
compatible = "ramoops";
|
||||
reg = <0 0x8100000 0 0x40000>;
|
||||
record-size = <0x8000>;
|
||||
console-size = <0x20000>;
|
||||
max-reason = <5>;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
@@ -79,6 +94,7 @@
|
||||
#iommu-cells = <1>;
|
||||
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
||||
power-domains = <&apmu PXA1908_POWER_DOMAIN_VPU>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -195,6 +211,38 @@
|
||||
};
|
||||
};
|
||||
|
||||
pwm0: pwm@1a000 {
|
||||
compatible = "marvell,pxa250-pwm";
|
||||
reg = <0x1a000 0x10>;
|
||||
clocks = <&apbc PXA1908_CLK_PWM0>;
|
||||
#pwm-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm1: pwm@1a400 {
|
||||
compatible = "marvell,pxa250-pwm";
|
||||
reg = <0x1a400 0x10>;
|
||||
clocks = <&apbc PXA1908_CLK_PWM1>;
|
||||
#pwm-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm2: pwm@1a800 {
|
||||
compatible = "marvell,pxa250-pwm";
|
||||
reg = <0x1a800 0x10>;
|
||||
clocks = <&apbc PXA1908_CLK_PWM2>;
|
||||
#pwm-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm3: pwm@1ac00 {
|
||||
compatible = "marvell,pxa250-pwm";
|
||||
reg = <0x1ac00 0x10>;
|
||||
clocks = <&apbc PXA1908_CLK_PWM3>;
|
||||
#pwm-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pmx: pinmux@1e000 {
|
||||
compatible = "marvell,pxa1908-padconf", "pinconf-single";
|
||||
reg = <0x1e000 0x330>;
|
||||
@@ -291,9 +339,10 @@
|
||||
};
|
||||
|
||||
apmu: clock-controller@82800 {
|
||||
compatible = "marvell,pxa1908-apmu";
|
||||
compatible = "marvell,pxa1908-apmu", "syscon";
|
||||
reg = <0x82800 0x400>;
|
||||
#clock-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user