The VIM3 on-board MCU can mux the PCIe/USB3.0 shared differential lines using a FUSB340TMX USB 3.1 SuperSpeed Data Switch between an USB3.0 Type A connector and a M.2 Key M slot. The PHY driving these differential lines is shared between the USB3.0 controller and the PCIe Controller, thus only a single controller can use it.
This serie adds a VIM3 specific board support and adds this dynamic switching right before booting Linux. Neil Armstrong (4): ARM: dts: sync amlogic G12A/SM1 DT from Linux 5.9-rc1 board: amlogic: add a vim3 specific board support configs: vim3: use the vim3 board support board: amlogic: vim3: add support for dynamic PCIe enable arch/arm/dts/meson-g12-common.dtsi | 55 ++++--- arch/arm/dts/meson-g12b-odroid-n2.dts | 136 +++++++++++++++++- arch/arm/dts/meson-khadas-vim3.dtsi | 26 +++- arch/arm/dts/meson-sm1-khadas-vim3l.dts | 92 ++++++++++++ arch/arm/dts/meson-sm1-odroid-c4.dts | 88 ++++++++++++ board/amlogic/vim3/MAINTAINERS | 9 ++ board/amlogic/vim3/Makefile | 6 + board/amlogic/vim3/vim3.c | 136 ++++++++++++++++++ board/amlogic/w400/MAINTAINERS | 4 - configs/khadas-vim3_defconfig | 5 +- configs/khadas-vim3l_defconfig | 5 +- include/dt-bindings/clock/g12a-clkc.h | 2 + .../dt-bindings/sound/meson-g12a-toacodec.h | 10 ++ 13 files changed, 544 insertions(+), 30 deletions(-) create mode 100644 board/amlogic/vim3/MAINTAINERS create mode 100644 board/amlogic/vim3/Makefile create mode 100644 board/amlogic/vim3/vim3.c create mode 100644 include/dt-bindings/sound/meson-g12a-toacodec.h -- 2.22.0