aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/riscv/boot/dts/spacemit/k3-pico-itx.dts23
-rw-r--r--arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi24
-rw-r--r--arch/riscv/boot/dts/spacemit/k3.dtsi36
3 files changed, 83 insertions, 0 deletions
diff --git a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
index 95061af4738d..9eca5d6b4b89 100644
--- a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
+++ b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
@@ -28,6 +28,11 @@
reg = <0x1 0x00000000 0x4 0x00000000>;
};
+ fan0: pwm-fan {
+ compatible = "pwm-fan";
+ pwms = <&cros_ec_pwm 0>;
+ };
+
reg_aux_vcc3v3: regulator-aux-vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "AUX_VCC3V3";
@@ -407,3 +412,21 @@
phy-names = "usb2-phy", "usb3-phy";
status = "okay";
};
+
+&espi0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&espi0_2_cfg>;
+ status = "okay";
+ ec: ec@0 {
+ status = "okay";
+ interrupt-parent = <&gpio>;
+ interrupts = <1 11 IRQ_TYPE_EDGE_RISING>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ cros_ec_pwm: pwm {
+ compatible = "google,cros-ec-pwm";
+ #pwm-cells = <1>;
+ };
+ };
+};
diff --git a/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi b/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi
index 4e8df3073fa4..9fb4ab66328c 100644
--- a/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi
@@ -798,4 +798,28 @@
power-source = <1800>;
};
};
+
+ espi0_2_cfg: espi0-2-cfg {
+ espi0-0-pins {
+ pinmux = <K3_PADCONF(91, 4)>, /* espi0 d0 */
+ <K3_PADCONF(92, 4)>, /* espi0 d1 */
+ <K3_PADCONF(93, 4)>, /* espi0 d2 */
+ <K3_PADCONF(94, 4)>, /* espi0 d3 */
+ <K3_PADCONF(95, 4)>, /* espi0 cs */
+ <K3_PADCONF(97, 4)>, /* espi0 reset */
+ <K3_PADCONF(98, 4)>; /* espi0 alert */
+
+ bias-pull-up; /* normal pull-up */
+ drive-strength = <25>; /* DS8 */
+ power-source = <1800>;
+ };
+
+ espi0-1-pins {
+ pinmux = <K3_PADCONF(96, 4)>; /* espi0 clk */
+
+ bias-pull-down; /* normal pull-down */
+ drive-strength = <25>; /* DS8 */
+ power-source = <1800>;
+ };
+ };
};
diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi
index f5f016049bc2..631169f178d8 100644
--- a/arch/riscv/boot/dts/spacemit/k3.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k3.dtsi
@@ -1585,5 +1585,41 @@
riscv,num-sources = <512>;
status = "reserved";
};
+
+ espi0: espi@cac8c000 {
+ compatible = "spacemit,k3-espi";
+ reg = <0x0 0xcac8c000 0x0 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x0 0x84000000 0x1000>;
+ pr-mem-base0 = <0x84000000>;
+ pr-mem-base1 = <0xcac8c000>;
+ clocks = <&syscon_apmu CLK_APMU_ESPI_SCLK_SRC>,
+ <&syscon_apmu CLK_APMU_ESPI_SCLK>,
+ <&syscon_apmu CLK_APMU_ESPI_MCLK>;
+ clock-names = "sclk_src", "sclk", "mclk";
+ resets = <&syscon_apmu RESET_APMU_ESPI_MCLK>,
+ <&syscon_apmu RESET_APMU_ESPI_SCLK>;
+ assigned-clocks = <&syscon_apmu CLK_APMU_ESPI_SCLK>;
+ assigned-clock-parents = <&syscon_apmu CLK_APMU_ESPI_SCLK_SRC>;
+ operating-frequency = <20>;
+ io-mode = "single";
+ alert-mode = "io1";
+ alert-type = "open-drain";
+ watchdog-timeout = <0xffff>;
+ crc-enable;
+ auto-gating-enable;
+ peripheral-channel-enable;
+ vwire-channel-enable;
+ oob-channel-enable;
+ flash-channel-enable;
+ status = "disabled";
+
+ ec: ec@0 {
+ compatible = "google,cros-ec-espi";
+ reg = <0x0 0x1000>;
+ status = "disabled";
+ };
+ };
};
};