From: Michal Simek Date: Mon, 16 Aug 2021 08:51:53 +0000 (+0200) Subject: arm64: versal: Add support for vpk120-revB X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=96d51d903a4224a2c4b3c7c3ef96ac80a3b22116;p=thirdparty%2Fu-boot.git arm64: versal: Add support for vpk120-revB RevB has different SD level shifter compare to revA. From Versal perspective description revB should be similar to revA but there are expected changes in i2c infrastructure which is not described from Versal point of view yet. Adding revB description as placeholder for other changes which may come. From Sai Krishna Potthuri "Input Tap delays for New level shifter(NXP/DIODE) are different from legacy level shifter tap values. This patch adds tap delay values for SD3.0 new level shifter. Default driver supports tap delay values for legacy level shifter and with this patch mmc driver overwrite them with the new tap values." Signed-off-by: Michal Simek --- diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 432c3a2b6b1..39aa30a2416 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -380,6 +380,7 @@ dtb-$(CONFIG_ARCH_VERSAL) += \ versal-vmk180-revA-x-ebm-02-revA.dtb \ versal-vmk180-revA-x-ebm-03-revA.dtb \ versal-vpk120-revA.dtb \ + versal-vpk120-revB.dtb \ versal-vp-x-a2785-00-revA.dtb \ versal-x-ebm-01-revA.dtbo \ versal-x-ebm-02-revA.dtbo \ diff --git a/arch/arm/dts/versal-vpk120-revB.dts b/arch/arm/dts/versal-vpk120-revB.dts new file mode 100644 index 00000000000..c3ae5c259b5 --- /dev/null +++ b/arch/arm/dts/versal-vpk120-revB.dts @@ -0,0 +1,144 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * dts file for Xilinx Versal vpk120 revB + * + * (C) Copyright 2021, Xilinx, Inc. + * + * Michal Simek + */ + +#include "versal.dtsi" +#include "versal-clk.dtsi" + +/ { + model = "Xilinx Versal vpk120 Eval board revB"; + compatible = "xlnx,versal-vpk120-revB", "xlnx,versal-vpk120", + "xlnx,versal"; + + memory: memory@0 { + device_type = "memory"; + reg = <0 0 0 0x80000000>, <0x8 0x0 0x1 0x80000000>; + }; + + chosen { + bootargs = "console=ttyAMA0 earlycon=pl011,mmio32,0xFF000000,115200n8 clk_ignore_unused"; + stdout-path = "serial0:115200"; + }; + + aliases { + serial0 = &serial0; + ethernet0 = &gem0; + i2c0 = &i2c0; + i2c1 = &i2c1; + mmc0 = &sdhci1; + spi0 = &qspi; + usb0 = &usb0; + rtc0 = &rtc; + }; + /* Missing any LED for heartbeat */ +}; + +&qspi { /* PMC_MIO_500 0 - 12 */ + status = "okay"; /* u93 and u92 */ + num-cs = <1>; + is-dual = <1>; + spi-rx-bus-width = <4>; + spi-tx-bus-width = <4>; + + flash@0 { + compatible = "m25p80", "jedec,spi-nor"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + spi-tx-bus-width = <1>; + spi-rx-bus-width = <4>; + spi-max-frequency = <35000000>; + partition@0 { + label = "spi0-flash0"; + reg = <0x0 0x8000000>; + }; + }; +}; + +&usb0 { /* PMC_MIO_500 13 - 25 USB 2.0 */ + status = "okay"; + xlnx,usb-polarity = <0>; + xlnx,usb-reset-mode = <0>; +}; + +&dwc3_0 { /* USB 2.0 host */ + status = "okay"; + dr_mode = "host"; + maximum-speed = "high-speed"; /* FIXME */ + snps,dis_u2_susphy_quirk; + snps,dis_u3_susphy_quirk; + snps,usb3_lpm_capable; +}; + +&sdhci1 { /* PMC_MIO_501 26 - 36/51 */ + status = "okay"; + xlnx,mio-bank = <1>; + no-1-8-v; + clk-phase-sd-hs = <111>, <48>; + clk-phase-uhs-sdr25 = <114>, <48>; + clk-phase-uhs-ddr50 = <126>, <36>; +}; + +/* PWM via MIO 41/FAN TACH MIO 49 - FIXME */ + +&serial0 { /* PMC_MIO42/43 */ + status = "okay"; +}; + +&i2c0 { /* PMC_MIO46/47 */ + status = "okay"; + clock-frequency = <400000>; +}; + +&i2c1 { /* PMC_MIO44/45 */ + status = "okay"; + clock-frequency = <400000>; +}; + +/* PCIe at MIO 38/39/40/50 */ + +&gem0 { /* PMC_MIO_48 - reset, LPD_MIO0-11 , mdio LPD_MIO24/25 */ + status = "okay"; + phy-handle = <&phy1>; /* u198 */ + phy-mode = "rgmii-id"; + phy1: phy@1 { + reg = <1>; + ti,rx-internal-delay = <0xb>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <1>; + ti,dp83867-rxctrl-strap-quirk; + }; +}; + +/* LPD_MIO12-23 - PM */ + +&can1 { /* MIO40-41 */ + status = "okay"; +}; + +&dcc { + status = "okay"; +}; + +&rtc { + status = "okay"; +}; + +&gpio0 { + status = "okay"; + /* FIXME Fill names when versal starts */ +}; + +&gpio1 { + status = "okay"; + /* FIXME Fill names when versal starts */ +}; + +&watchdog { + status = "okay"; +}; diff --git a/configs/xilinx_versal_virt_defconfig b/configs/xilinx_versal_virt_defconfig index d514e3f1d8f..f3245af398e 100644 --- a/configs/xilinx_versal_virt_defconfig +++ b/configs/xilinx_versal_virt_defconfig @@ -42,7 +42,7 @@ CONFIG_CMD_MTDPARTS=y CONFIG_CMD_UBI=y CONFIG_PARTITION_TYPE_GUID=y CONFIG_OF_BOARD=y -CONFIG_OF_LIST="versal-v350-revA versal-vck5000-revA versal-vck190-revA versal-vck190-revA-x-ebm-01-revA versal-vc-p-a2197-00-revA-x-prc-01-revA versal-vc-p-a2197-00-revA-x-prc-01-revA-ospi versal-vc-p-a2197-00-revA-x-prc-02-revA versal-vc-p-a2197-00-revA-x-prc-03-revA versal-vc-p-a2197-00-revA-x-prc-04-revA versal-vc-p-a2197-00-revA-x-prc-04-revA-ospi versal-vc-p-a2197-00-revA-x-prc-05-revA versal-vmk180-revA versal-vmk180-revA-x-ebm-01-revA" +CONFIG_OF_LIST="versal-v350-revA versal-vck5000-revA versal-vck190-revA versal-vck190-revA-x-ebm-01-revA versal-vc-p-a2197-00-revA-x-prc-01-revA versal-vc-p-a2197-00-revA-x-prc-01-revA-ospi versal-vc-p-a2197-00-revA-x-prc-02-revA versal-vc-p-a2197-00-revA-x-prc-03-revA versal-vc-p-a2197-00-revA-x-prc-04-revA versal-vc-p-a2197-00-revA-x-prc-04-revA-ospi versal-vc-p-a2197-00-revA-x-prc-05-revA versal-vmk180-revA versal-vmk180-revA-x-ebm-01-revA versal-vpk120-revA versal-vpk120-revB" CONFIG_MULTI_DTB_FIT=y CONFIG_ENV_IS_NOWHERE=y CONFIG_ENV_IS_IN_FAT=y