diff options
| author | Tom Rini <trini@konsulko.com> | 2026-08-13 11:29:59 -0600 |
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2026-08-13 11:29:59 -0600 |
| commit | e50f87c650f87866ab8ca19d0695236a5936d648 (patch) | |
| tree | f48a1660fc06ea9aaf170981b72786e5171663d7 | |
| parent | 5a92645e1f9020d24d19e03fff2ae63f30080770 (diff) | |
| parent | f75a3d96e1f33c1b8737018843b7bd5fc207b9d4 (diff) | |
| download | u-boot-e50f87c650f87866ab8ca19d0695236a5936d648.tar.gz u-boot-e50f87c650f87866ab8ca19d0695236a5936d648.zip | |
Merge tag 'u-boot-rockchip-2027.01-20260813' of https://git.u-boot-project.org/u-boot/custodians/u-boot-rockchip into next
- Drop redundant OTP nodes from RK3528/RK356x since 7.1 DTS sync,
- Enable USB on RK3528,
- Add support for another SPI chip on Radxa Rock 4D,
- Fix fractional PLLs on RK3588/RK3576,
| -rw-r--r-- | arch/arm/dts/rk3528-generic.dts | 18 | ||||
| -rw-r--r-- | arch/arm/dts/rk3528-u-boot.dtsi | 5 | ||||
| -rw-r--r-- | arch/arm/dts/rk356x-u-boot.dtsi | 5 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-rockchip/clock.h | 8 | ||||
| -rw-r--r-- | configs/generic-rk3528_defconfig | 10 | ||||
| -rw-r--r-- | configs/rock-4d-rk3576_defconfig | 1 | ||||
| -rw-r--r-- | drivers/clk/rockchip/clk_pll.c | 86 | ||||
| -rw-r--r-- | dts/upstream/src/arm64/rockchip/rk3528-armsom-sige1.dts | 25 | ||||
| -rw-r--r-- | dts/upstream/src/arm64/rockchip/rk3528-nanopi-zero2.dts | 29 | ||||
| -rw-r--r-- | dts/upstream/src/arm64/rockchip/rk3528-radxa-e20c.dts | 60 | ||||
| -rw-r--r-- | dts/upstream/src/arm64/rockchip/rk3528-rock-2.dtsi | 17 | ||||
| -rw-r--r-- | dts/upstream/src/arm64/rockchip/rk3528-rock-2a.dts | 11 | ||||
| -rw-r--r-- | dts/upstream/src/arm64/rockchip/rk3528-rock-2f.dts | 12 | ||||
| -rw-r--r-- | dts/upstream/src/arm64/rockchip/rk3528.dtsi | 88 |
14 files changed, 311 insertions, 64 deletions
diff --git a/arch/arm/dts/rk3528-generic.dts b/arch/arm/dts/rk3528-generic.dts index 637ca03325e..34d614452ec 100644 --- a/arch/arm/dts/rk3528-generic.dts +++ b/arch/arm/dts/rk3528-generic.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* - * Minimal generic DT for RK3528 with eMMC and SD-card enabled + * Minimal generic DT for RK3528 with eMMC, SD-card and USB OTG enabled */ /dts-v1/; @@ -45,3 +45,19 @@ pinctrl-0 = <&uart0m0_xfer>; status = "okay"; }; + +&usb_host0_xhci { + dr_mode = "peripheral"; + maximum-speed = "high-speed"; + phys = <&usb2phy_otg>; + phy-names = "usb2-phy"; + status = "okay"; +}; + +&usb2phy { + status = "okay"; +}; + +&usb2phy_otg { + status = "okay"; +}; diff --git a/arch/arm/dts/rk3528-u-boot.dtsi b/arch/arm/dts/rk3528-u-boot.dtsi index 31345df6295..3126fb4cc8f 100644 --- a/arch/arm/dts/rk3528-u-boot.dtsi +++ b/arch/arm/dts/rk3528-u-boot.dtsi @@ -22,11 +22,6 @@ compatible = "rockchip,rkrng"; reg = <0x0 0xffc50000 0x0 0x200>; }; - - otp: efuse@ffce0000 { - compatible = "rockchip,rk3528-otp"; - reg = <0x0 0xffce0000 0x0 0x4000>; - }; }; }; diff --git a/arch/arm/dts/rk356x-u-boot.dtsi b/arch/arm/dts/rk356x-u-boot.dtsi index d09dab35b31..4fd297cc02d 100644 --- a/arch/arm/dts/rk356x-u-boot.dtsi +++ b/arch/arm/dts/rk356x-u-boot.dtsi @@ -20,11 +20,6 @@ compatible = "rockchip,rk3568-dmc"; bootph-all; }; - - otp: efuse@fe38c000 { - compatible = "rockchip,rk3568-otp"; - reg = <0x0 0xfe38c000 0x0 0x4000>; - }; }; #ifdef CONFIG_ROCKCHIP_SPI_IMAGE diff --git a/arch/arm/include/asm/arch-rockchip/clock.h b/arch/arm/include/asm/arch-rockchip/clock.h index 95b08bfd046..8d3819778eb 100644 --- a/arch/arm/include/asm/arch-rockchip/clock.h +++ b/arch/arm/include/asm/arch-rockchip/clock.h @@ -101,10 +101,10 @@ struct rockchip_pll_rate_table { unsigned int dsmpd; unsigned int frac; /* for RK3588 */ - unsigned int m; - unsigned int p; - unsigned int s; - unsigned int k; + unsigned int m; /* main divider, 10 bit unsigned */ + unsigned int p; /* pre-divider, 6 bit unsigned */ + unsigned int s; /* scaler, 3 bit unsigned */ + s16 k; /* fractional part, 16 bit two's complement */ }; enum rockchip_pll_type { diff --git a/configs/generic-rk3528_defconfig b/configs/generic-rk3528_defconfig index c989263e014..130aa124298 100644 --- a/configs/generic-rk3528_defconfig +++ b/configs/generic-rk3528_defconfig @@ -19,6 +19,8 @@ CONFIG_CMD_GPIO=y CONFIG_CMD_GPT=y CONFIG_CMD_MISC=y CONFIG_CMD_MMC=y +CONFIG_CMD_ROCKUSB=y +CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_RNG=y # CONFIG_SPL_DOS_PARTITION is not set @@ -26,6 +28,7 @@ CONFIG_CMD_RNG=y CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" CONFIG_NO_NET=y # CONFIG_ADC is not set +# CONFIG_USB_FUNCTION_FASTBOOT is not set CONFIG_ROCKCHIP_GPIO=y CONFIG_SUPPORT_EMMC_RPMB=y CONFIG_MMC_DW=y @@ -33,7 +36,14 @@ CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_SDMA=y CONFIG_MMC_SDHCI_ROCKCHIP=y +CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_BAUDRATE=1500000 CONFIG_DEBUG_UART_SHIFT=2 CONFIG_SYS_NS16550_MEM32=y +CONFIG_USB=y +CONFIG_USB_DWC3=y +CONFIG_USB_DWC3_GENERIC=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DOWNLOAD=y +CONFIG_USB_FUNCTION_ROCKUSB=y CONFIG_ERRNO_STR=y diff --git a/configs/rock-4d-rk3576_defconfig b/configs/rock-4d-rk3576_defconfig index 7228a9d879a..93faf09962c 100644 --- a/configs/rock-4d-rk3576_defconfig +++ b/configs/rock-4d-rk3576_defconfig @@ -49,6 +49,7 @@ CONFIG_MMC_DW=y CONFIG_MMC_DW_ROCKCHIP=y CONFIG_SPI_FLASH_SFDP_SUPPORT=y CONFIG_SPI_FLASH_MACRONIX=y +CONFIG_SPI_FLASH_XMC=y CONFIG_DWC_ETH_QOS=y CONFIG_DWC_ETH_QOS_ROCKCHIP=y CONFIG_PHY_REALTEK=y diff --git a/drivers/clk/rockchip/clk_pll.c b/drivers/clk/rockchip/clk_pll.c index 9dec40b1fe8..f677525bba2 100644 --- a/drivers/clk/rockchip/clk_pll.c +++ b/drivers/clk/rockchip/clk_pll.c @@ -11,6 +11,7 @@ #include <asm/arch-rockchip/hardware.h> #include <div64.h> #include <linux/delay.h> +#include <linux/math64.h> static struct rockchip_pll_rate_table rockchip_auto_table; @@ -166,34 +167,43 @@ rockchip_pll_clk_set_by_auto(ulong fin_hz, return rate_table; } -static u32 -rockchip_rk3588_pll_k_get(u32 m, u32 p, u32 s, u64 fin_hz, u64 fvco) +/* + * 2250 MHz <= Fvco <= 4500 MHz + * For Fvco > 3 GHz: period jitter +-1% frac PLL, +-0.75% int PLL + * For Fvco < 3 GHz: period jitter +-2% frac PLL, +-1.50% int PLL + * Fvco = ((m + k / 65536) * Fin) / p + * Fout = ((m + k / 65536) * Fin) / (p * 2^s) + * Fref = Fin / p + * -32768 <= k <= 32767 (only available in frac PLLs, not int PLLs) + */ +static void +rockchip_rk3588_pll_k_get(struct rockchip_pll_rate_table *rate_table, u64 fref, u64 fvco) { - u64 fref, fout, ffrac; - u32 k = 0; + u64 ffrac; + int k; - fref = fin_hz / p; - ffrac = fvco - (m * fref); - fout = ffrac * 65536; - k = fout / fref; + ffrac = fvco - (rate_table->m) * fref; + k = ffrac * 65536 / fref; if (k > 32767) { - fref = fin_hz / p; - ffrac = ((m + 1) * fref) - fvco; - fout = ffrac * 65536; - k = ((fout * 10 / fref) + 7) / 10; - if (k > 32767) - k = 0; - else - k = ~k + 1; + /* + * The requested rate is closer to the next integer multiplier + * m, so pick it and use a negative fractional coefficient k + */ + rate_table->m += 1; + ffrac = (rate_table->m) * fref - fvco; + /* + * Round up to avoid overshooting requested rate for negative k + */ + k = -(int)DIV64_U64_ROUND_UP(ffrac * 65536, fref); } - return k; + rate_table->k = k; } static struct rockchip_pll_rate_table * rockchip_rk3588_pll_frac_by_auto(unsigned long fin_hz, unsigned long fout_hz) { struct rockchip_pll_rate_table *rate_table = &rockchip_auto_table; - u32 p, m, s, k; + u32 p, m, s; u64 fvco; for (s = 0; s <= 6; s++) { @@ -204,18 +214,13 @@ rockchip_rk3588_pll_frac_by_auto(unsigned long fin_hz, unsigned long fout_hz) for (m = 64; m <= 1023; m++) { if ((fvco >= m * fin_hz / p) && (fvco < (m + 1) * fin_hz / p)) { - k = rockchip_rk3588_pll_k_get(m, p, s, - fin_hz, - fvco); - if (!k) - continue; rate_table->p = p; + rate_table->m = m; rate_table->s = s; - rate_table->k = k; - if (k > 32767) - rate_table->m = m + 1; - else - rate_table->m = m; + + rockchip_rk3588_pll_k_get(rate_table, + fin_hz / p, + fvco); return rate_table; } } @@ -556,9 +561,10 @@ static int rk3588_pll_set_rate(struct rockchip_pll_clock *pll, static ulong rk3588_pll_get_rate(struct rockchip_pll_clock *pll, void __iomem *base, ulong pll_id) { - u32 m, p, s, k; + u32 m, p, s; u32 con = 0, shift, mode; - u64 rate, postdiv; + u64 rate; + s16 k; con = readl(base + pll->mode_offset); shift = pll->mode_shift; @@ -585,25 +591,7 @@ static ulong rk3588_pll_get_rate(struct rockchip_pll_clock *pll, rate = OSC_HZ / p; rate *= m; - if (k & BIT(15)) { - /* fractional mode */ - u64 frac_rate64; - - k = (~(k - 1)) & RK3588_PLLCON2_K_MASK; - frac_rate64 = OSC_HZ * k; - postdiv = p; - postdiv *= 65536; - do_div(frac_rate64, postdiv); - rate -= frac_rate64; - } else { - /* fractional mode */ - u64 frac_rate64 = OSC_HZ * k; - - postdiv = p; - postdiv *= 65536; - do_div(frac_rate64, postdiv); - rate += frac_rate64; - } + rate += div_s64((s64)OSC_HZ * k, p * 65536); rate = rate >> s; return rate; case RKCLK_PLL_MODE_DEEP: diff --git a/dts/upstream/src/arm64/rockchip/rk3528-armsom-sige1.dts b/dts/upstream/src/arm64/rockchip/rk3528-armsom-sige1.dts index c41af8fc0c8..ee4183fb980 100644 --- a/dts/upstream/src/arm64/rockchip/rk3528-armsom-sige1.dts +++ b/dts/upstream/src/arm64/rockchip/rk3528-armsom-sige1.dts @@ -480,3 +480,28 @@ vddio-supply = <&vcc_1v8>; }; }; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host0_xhci { + extcon = <&usb2phy>; + maximum-speed = "high-speed"; + phys = <&usb2phy_otg>; + phy-names = "usb2-phy"; + status = "okay"; +}; + +&usb2phy { + status = "okay"; +}; + +&usb2phy_host { + status = "okay"; +}; + +&usb2phy_otg { + phy-supply = <&vcc5v0_usb_otg>; + status = "okay"; +}; diff --git a/dts/upstream/src/arm64/rockchip/rk3528-nanopi-zero2.dts b/dts/upstream/src/arm64/rockchip/rk3528-nanopi-zero2.dts index 9f683033c5f..97d85124d21 100644 --- a/dts/upstream/src/arm64/rockchip/rk3528-nanopi-zero2.dts +++ b/dts/upstream/src/arm64/rockchip/rk3528-nanopi-zero2.dts @@ -338,3 +338,32 @@ pinctrl-0 = <&uart0m0_xfer>; status = "okay"; }; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + +&usb_host0_xhci { + extcon = <&usb2phy>; + maximum-speed = "high-speed"; + phys = <&usb2phy_otg>; + phy-names = "usb2-phy"; + status = "okay"; +}; + +&usb2phy { + status = "okay"; +}; + +&usb2phy_host { + phy-supply = <&usb2_host_5v>; + status = "okay"; +}; + +&usb2phy_otg { + status = "okay"; +}; diff --git a/dts/upstream/src/arm64/rockchip/rk3528-radxa-e20c.dts b/dts/upstream/src/arm64/rockchip/rk3528-radxa-e20c.dts index b3245275615..f872b8d20eb 100644 --- a/dts/upstream/src/arm64/rockchip/rk3528-radxa-e20c.dts +++ b/dts/upstream/src/arm64/rockchip/rk3528-radxa-e20c.dts @@ -134,6 +134,18 @@ regulator-max-microvolt = <5000000>; }; + vcc5v0_usb20: regulator-5v0-vcc-usb20 { + compatible = "regulator-fixed"; + enable-active-high; + gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb_host_en>; + regulator-name = "vcc5v0_usb20"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vcc5v0_sys>; + }; + vccio_sd: regulator-vccio-sd { compatible = "regulator-gpio"; gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; @@ -273,6 +285,12 @@ rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; }; }; + + usb { + usb_host_en: usb-host-en { + rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; }; &pwm1 { @@ -320,3 +338,45 @@ pinctrl-0 = <&uart0m0_xfer>; status = "okay"; }; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + +/* + * The usb controller can only work in peripheral mode, as it is + * connected to one of the ports of an outward-facing usb hub. + * + * type_c-port (hub-input) + * | + * usb-hub + * | | + * uart-usb usb-host0 + * | + * uart0 + */ +&usb_host0_xhci { + dr_mode = "peripheral"; + extcon = <&usb2phy>; + maximum-speed = "high-speed"; + phys = <&usb2phy_otg>; + phy-names = "usb2-phy"; + status = "okay"; +}; + +&usb2phy { + status = "okay"; +}; + +&usb2phy_host { + phy-supply = <&vcc5v0_usb20>; + status = "okay"; +}; + +&usb2phy_otg { + status = "okay"; +}; diff --git a/dts/upstream/src/arm64/rockchip/rk3528-rock-2.dtsi b/dts/upstream/src/arm64/rockchip/rk3528-rock-2.dtsi index aedc7ee9ee4..501a91f4c23 100644 --- a/dts/upstream/src/arm64/rockchip/rk3528-rock-2.dtsi +++ b/dts/upstream/src/arm64/rockchip/rk3528-rock-2.dtsi @@ -166,6 +166,10 @@ }; }; +&combphy { + status = "okay"; +}; + &cpu0 { cpu-supply = <&vdd_arm>; }; @@ -291,3 +295,16 @@ pinctrl-0 = <&uart0m0_xfer>; status = "okay"; }; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb2phy { + status = "okay"; +}; + +&usb2phy_host { + phy-supply = <&vcc5v0_usb20>; + status = "okay"; +}; diff --git a/dts/upstream/src/arm64/rockchip/rk3528-rock-2a.dts b/dts/upstream/src/arm64/rockchip/rk3528-rock-2a.dts index 0b696d49b71..5e17ec2758d 100644 --- a/dts/upstream/src/arm64/rockchip/rk3528-rock-2a.dts +++ b/dts/upstream/src/arm64/rockchip/rk3528-rock-2a.dts @@ -79,3 +79,14 @@ }; }; }; + +&usb_host0_xhci { + dr_mode = "host"; + extcon = <&usb2phy>; + status = "okay"; +}; + +&usb2phy_otg { + phy-supply = <&vcc5v0_usb30_otg>; + status = "okay"; +}; diff --git a/dts/upstream/src/arm64/rockchip/rk3528-rock-2f.dts b/dts/upstream/src/arm64/rockchip/rk3528-rock-2f.dts index 3e2b9b685cb..f2b021ff504 100644 --- a/dts/upstream/src/arm64/rockchip/rk3528-rock-2f.dts +++ b/dts/upstream/src/arm64/rockchip/rk3528-rock-2f.dts @@ -8,3 +8,15 @@ model = "Radxa ROCK 2F"; compatible = "radxa,rock-2f", "rockchip,rk3528"; }; + +&usb_host0_xhci { + extcon = <&usb2phy>; + maximum-speed = "high-speed"; + phys = <&usb2phy_otg>; + phy-names = "usb2-phy"; + status = "okay"; +}; + +&usb2phy_otg { + status = "okay"; +}; diff --git a/dts/upstream/src/arm64/rockchip/rk3528.dtsi b/dts/upstream/src/arm64/rockchip/rk3528.dtsi index 806b8109f67..03cd00f88db 100644 --- a/dts/upstream/src/arm64/rockchip/rk3528.dtsi +++ b/dts/upstream/src/arm64/rockchip/rk3528.dtsi @@ -336,6 +336,33 @@ }; }; + usb_host0_xhci: usb@fe500000 { + compatible = "rockchip,rk3528-dwc3", "snps,dwc3"; + reg = <0x0 0xfe500000 0x0 0x400000>; + clocks = <&cru CLK_REF_USB3OTG>, + <&cru CLK_SUSPEND_USB3OTG>, + <&cru ACLK_USB3OTG>; + clock-names = "ref_clk", "suspend_clk", "bus_clk"; + interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; + power-domains = <&power RK3528_PD_VPU>; + resets = <&cru SRST_A_USB3OTG>; + dr_mode = "otg"; + phys = <&usb2phy_otg>, <&combphy PHY_TYPE_USB3>; + phy-names = "usb2-phy", "usb3-phy"; + phy_type = "utmi_wide"; + snps,dis_enblslpm_quirk; + snps,dis_rxdet_inp3_quirk; + snps,dis-del-phy-power-chg-quirk; + snps,dis-tx-ipgap-linecheck-quirk; + snps,dis-u1-entry-quirk; + snps,dis-u2-entry-quirk; + snps,dis-u2-freeclk-exists-quirk; + snps,dis_u2_susphy_quirk; + snps,parkmode-disable-hs-quirk; + snps,parkmode-disable-ss-quirk; + status = "disabled"; + }; + gic: interrupt-controller@fed01000 { compatible = "arm,gic-400"; reg = <0x0 0xfed01000 0 0x1000>, @@ -349,6 +376,30 @@ #interrupt-cells = <3>; }; + usb_host0_ehci: usb@ff100000 { + compatible = "generic-ehci"; + reg = <0x0 0xff100000 0x0 0x40000>; + clocks = <&cru HCLK_USBHOST>, <&cru HCLK_USBHOST_ARB>, + <&usb2phy>; + interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; + phys = <&usb2phy_host>; + phy-names = "usb"; + power-domains = <&power RK3528_PD_VO>; + status = "disabled"; + }; + + usb_host0_ohci: usb@ff140000 { + compatible = "generic-ohci"; + reg = <0x0 0xff140000 0x0 0x40000>; + clocks = <&cru HCLK_USBHOST>, <&cru HCLK_USBHOST_ARB>, + <&usb2phy>; + interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; + phys = <&usb2phy_host>; + phy-names = "usb"; + power-domains = <&power RK3528_PD_VO>; + status = "disabled"; + }; + qos_crypto_a: qos@ff200000 { compatible = "rockchip,rk3528-qos", "syscon"; reg = <0x0 0xff200000 0x0 0x20>; @@ -983,6 +1034,14 @@ status = "disabled"; }; + wdt: watchdog@ffac0000 { + compatible = "rockchip,rk3528-wdt", "snps,dw-wdt"; + reg = <0x0 0xffac0000 0x0 0x100>; + clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>; + clock-names = "tclk", "pclk"; + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; + }; + saradc: adc@ffae0000 { compatible = "rockchip,rk3528-saradc"; reg = <0x0 0xffae0000 0x0 0x10000>; @@ -1273,6 +1332,35 @@ rockchip,pipe-phy-grf = <&pipe_phy_grf>; status = "disabled"; }; + + usb2phy: usb2phy@ffdf0000 { + compatible = "rockchip,rk3528-usb2phy"; + reg = <0x0 0xffdf0000 0x0 0x10000>; + clocks = <&cru CLK_REF_USBPHY>, <&cru PCLK_USBPHY>; + clock-names = "phyclk", "pclk"; + #clock-cells = <0>; + clock-output-names = "clk_usbphy_480m"; + power-domains = <&power RK3528_PD_VO>; + rockchip,usbgrf = <&vo_grf>; + status = "disabled"; + + usb2phy_otg: otg-port { + interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "otg-bvalid", "otg-id", + "linestate"; + #phy-cells = <0>; + status = "disabled"; + }; + + usb2phy_host: host-port { + interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "linestate"; + #phy-cells = <0>; + status = "disabled"; + }; + }; }; }; |
