Linux-6.18.2/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
2025-12-23 20:06:59 +08:00

160 lines
2.7 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
* Copyright (C) 2025 E Shattow <e@freeshell.de>
*/
/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include "jh7110-common.dtsi"
/ {
aliases {
i2c1 = &i2c1;
i2c3 = &i2c3;
i2c4 = &i2c4;
serial3 = &uart3;
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&sysgpio 33 GPIO_ACTIVE_LOW>;
};
};
&gmac0 {
assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>;
starfive,tx-use-rgmii-clk;
status = "okay";
};
&i2c0 {
status = "okay";
};
&i2c2 {
status = "disabled";
};
&i2c6 {
status = "disabled";
};
&mmc1 {
#address-cells = <1>;
#size-cells = <0>;
mmc-pwrseq = <&sdio_pwrseq>;
non-removable;
status = "okay";
ap6256: wifi@1 {
compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
reg = <1>;
interrupt-parent = <&sysgpio>;
interrupts = <34 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "host-wake";
pinctrl-0 = <&wifi_host_wake_irq>;
pinctrl-names = "default";
};
};
&pcie0 {
status = "okay";
};
&phy0 {
rx-internal-delay-ps = <1500>;
tx-internal-delay-ps = <1500>;
motorcomm,rx-clk-drv-microamp = <3970>;
motorcomm,rx-data-drv-microamp = <2910>;
motorcomm,tx-clk-10-inverted;
motorcomm,tx-clk-100-inverted;
motorcomm,tx-clk-1000-inverted;
motorcomm,tx-clk-adj-enabled;
};
&pwm {
status = "okay";
};
&spi0 {
status = "okay";
};
&sysgpio {
uart1_pins: uart1-0 {
tx-pins {
pinmux = <GPIOMUX(16, GPOUT_SYS_UART1_TX,
GPOEN_ENABLE,
GPI_NONE)>;
bias-disable;
drive-strength = <12>;
input-disable;
input-schmitt-disable;
};
rx-pins {
pinmux = <GPIOMUX(17, GPOUT_LOW,
GPOEN_DISABLE,
GPI_SYS_UART1_RX)>;
bias-pull-up;
input-enable;
input-schmitt-enable;
};
cts-pins {
pinmux = <GPIOMUX(3, GPOUT_LOW,
GPOEN_DISABLE,
GPI_SYS_UART1_CTS)>;
bias-disable;
input-enable;
input-schmitt-enable;
};
rts-pins {
pinmux = <GPIOMUX(2, GPOUT_SYS_UART1_RTS,
GPOEN_ENABLE,
GPI_NONE)>;
bias-disable;
input-disable;
input-schmitt-disable;
};
};
usb0_pins: usb0-0 {
vbus-pins {
pinmux = <GPIOMUX(25, GPOUT_SYS_USB_DRIVE_VBUS,
GPOEN_ENABLE,
GPI_NONE)>;
bias-disable;
input-disable;
input-schmitt-disable;
slew-rate = <0>;
};
};
wifi_host_wake_irq: wifi-host-wake-irq-0 {
wake-pins {
pinmux = <GPIOMUX(34, GPOUT_LOW,
GPOEN_DISABLE,
GPI_NONE)>;
input-enable;
};
};
};
&uart1 {
uart-has-rtscts;
pinctrl-0 = <&uart1_pins>;
pinctrl-names = "default";
status = "okay";
};
&usb0 {
dr_mode = "host";
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins>;
status = "okay";
};