This series is refined version of Allwinner CLK, RESET support for previous RFC[3] which implements CLK and RESET for - USB - MMC - SPI - UART - Ethernet
This series depends on 'musb shutdown' series [1] and Linux dts(i) sync series [2]. Since this series supporting MMC, the previous version[4] DM_MMC migration changes are squashed and droped reset and clock ccm hacks. Tested on A64, H3, H5, H6, R40, A83T, A20. Changes for v3: - Added H6 CLK, RESET changes - Added fastboot mmc device patch - Added fat env mmc device patch - Update bootorder to check eMMC as per DT - Collect Tested-by Changes for v2: - Fixed few warnings and spaces in reset descriptor table. - Add Ethernet CLK and RESET changes All these changes available at u-boot-sunxi/clk Note: - V3S, A23, A33 still need to test. Any inputs, Jagan. Jagan Teki (58): clk: Add Allwinner A64 CLK driver reset: Add default request ops reset: Add Allwinner RESET driver clk: sunxi: Add Allwinner H3/H5 CLK driver clk: sunxi: Add Allwinner A10/A20 CLK driver clk: sunxi: Add Allwinner A10s/A13 CLK driver clk: sunxi: Add Allwinner A31 CLK driver clk: sunxi: Add Allwinner A23 CLK driver clk: sunxi: a23: Add CLK support for A33 clk: sunxi: Add Allwinner A83T CLK driver clk: sunxi: Add Allwinner R40 CLK driver clk: sunxi: Add Allwinner V3S CLK driver sunxi: Enable CLK musb-new: sunxi: Use CLK and RESET support phy: sun4i-usb: Use CLK and RESET support sunxi: usb: Switch to Generic host controllers usb: host: Drop [e-o]hci-sunxi drivers clk: sunxi: Implement AHB bus MMC clocks clk: sunxi: Implement direct MMC clocks clk: sunxi: Implement AHB bus MMC resets reset: Add get reset by name optionally reset: Add reset valid clk: sunxi: Add Allwinner H6 CLK, RESET driver arm64: allwinner: dts: h6: fix Pine H64 MMC bus width sunxi: h6: Enable CLK, RESET dm: mmc: sunxi: Add CLK and RESET support fastboot: sunxi: Update fastboot mmc default device env: fat: Add func to get fat device, partition sunxi: Get fat device wrt boot device, 'auto' partition env: sunxi: Don't update fat dev, part wrt MMC_SUNXI_SLOT_EXTRA sunxi: Add mmc 2, 3 bootenv devices sunxi: A20: Enable DM_MMC mmc: sunxi: Add mmc, emmc H5/A64 compatible sunxi: H3_H5: Enable DM_MMC sunxi: A64: Enable DM_MMC mmc: sunxi: Add A83T emmc compatible sunxi: A83T: Enable DM_MMC sunxi: V40: Enable DM_MMC sunxi: H6: Enable DM_MMC sunxi: A13/A31: Enable DM_MMC sunxi: A23/A33/V3S: Enable DM_MMC clk: sunxi: Implement SPI clocks clk: sunxi: Implement SPI resets spi: sun4i: Add CLK support spi: Add Allwinner A31 SPI driver clk: sunxi: Implement UART clocks clk: sunxi: Implement UART resets clk: sunxi: Implement Ethernet clocks clk: sunxi: Implement Ethernet resets net: sunxi_emac: Add CLK support net: sun8i_emac: Retrieve GMAC clock via 'syscon' phandle net: sun8i_emac: Add CLK and RESET support clk: Get the CLK by index without device clk: Use clk_get_by_index_tail() reset: Get the RESET by index without device clk: sunxi: h3: Implement EPHY CLK and RESET net: sun8i_emac: Add EPHY CLK and RESET support board: sunxi: gmac: Remove Ethernet clock and reset arch/arm/dts/sun50i-h6-pine-h64.dts | 2 + arch/arm/include/asm/arch-sunxi/ccu.h | 82 +++ arch/arm/mach-sunxi/Kconfig | 24 + arch/arm/mach-sunxi/board.c | 50 ++ board/sunxi/gmac.c | 8 - configs/A10-OLinuXino-Lime_defconfig | 1 + configs/A10s-OLinuXino-M_defconfig | 1 + configs/A13-OLinuXinoM_defconfig | 1 + configs/A13-OLinuXino_defconfig | 1 + configs/A20-OLinuXino-Lime2-eMMC_defconfig | 2 + configs/A20-OLinuXino-Lime2_defconfig | 1 + configs/A20-OLinuXino-Lime_defconfig | 1 + configs/A20-Olimex-SOM204-EVB-eMMC_defconfig | 1 + configs/A20-Olimex-SOM204-EVB_defconfig | 2 + configs/Auxtek-T003_defconfig | 1 + configs/Auxtek-T004_defconfig | 1 + configs/Bananapi_defconfig | 1 + configs/Bananapi_m2m_defconfig | 1 + configs/Bananapro_defconfig | 1 + configs/CHIP_defconfig | 1 + configs/CHIP_pro_defconfig | 1 + configs/CSQ_CS908_defconfig | 1 + configs/Colombus_defconfig | 1 + configs/Cubieboard2_defconfig | 1 + configs/Cubieboard_defconfig | 1 + configs/Cubietruck_plus_defconfig | 1 + configs/Hummingbird_A31_defconfig | 1 + configs/Itead_Ibox_A20_defconfig | 1 + configs/Linksprite_pcDuino3_Nano_defconfig | 1 + configs/Linksprite_pcDuino3_defconfig | 1 + configs/Linksprite_pcDuino_defconfig | 1 + configs/MK808C_defconfig | 1 + configs/Marsboard_A10_defconfig | 1 + configs/Mele_A1000G_quad_defconfig | 1 + configs/Mele_A1000_defconfig | 1 + configs/Mele_I7_defconfig | 1 + configs/Mele_M3_defconfig | 1 + configs/Mele_M5_defconfig | 1 + configs/Mele_M9_defconfig | 1 + configs/Mini-X_defconfig | 1 + configs/Orangepi_defconfig | 1 + configs/Orangepi_mini_defconfig | 1 + configs/Sinlinx_SinA31s_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 2 + configs/Sinovoip_BPI_M2_Plus_defconfig | 1 + configs/Sinovoip_BPI_M2_defconfig | 1 + configs/Sinovoip_BPI_M3_defconfig | 1 + configs/Wexler_TAB7200_defconfig | 1 + configs/Wobo_i5_defconfig | 1 + configs/a64-olinuxino_defconfig | 1 + configs/amarula_a64_relic_defconfig | 1 + configs/ba10_tv_box_defconfig | 1 + configs/bananapi_m1_plus_defconfig | 1 + configs/bananapi_m64_defconfig | 1 + configs/ga10h_v1_1_defconfig | 1 + configs/h8_homlet_v2_defconfig | 1 + configs/i12-tvbox_defconfig | 1 + configs/icnova-a20-swac_defconfig | 1 + configs/inet1_defconfig | 1 + configs/inet_q972_defconfig | 1 + configs/jesurun_q5_defconfig | 1 + configs/libretech_all_h3_cc_h2_plus_defconfig | 1 + configs/libretech_all_h3_cc_h3_defconfig | 1 + configs/libretech_all_h3_cc_h5_defconfig | 1 + configs/mixtile_loftq_defconfig | 1 + configs/mk802_a10s_defconfig | 1 + configs/mk802_defconfig | 1 + configs/mk802ii_defconfig | 1 + configs/nanopi_a64_defconfig | 1 + configs/nanopi_m1_defconfig | 1 + configs/nanopi_m1_plus_defconfig | 1 + configs/nanopi_neo2_defconfig | 1 + configs/nanopi_neo_air_defconfig | 1 + configs/nanopi_neo_defconfig | 1 + configs/nanopi_neo_plus2_defconfig | 1 + configs/orangepi_2_defconfig | 1 + configs/orangepi_lite_defconfig | 1 + configs/orangepi_one_defconfig | 1 + configs/orangepi_pc2_defconfig | 1 + configs/orangepi_pc_defconfig | 1 + configs/orangepi_pc_plus_defconfig | 1 + configs/orangepi_plus2e_defconfig | 1 + configs/orangepi_plus_defconfig | 1 + configs/orangepi_prime_defconfig | 1 + configs/orangepi_r1_defconfig | 1 + configs/orangepi_win_defconfig | 1 + configs/orangepi_zero_defconfig | 1 + configs/orangepi_zero_plus2_defconfig | 1 + configs/orangepi_zero_plus_defconfig | 1 + configs/parrot_r16_defconfig | 2 + configs/pine64_plus_defconfig | 1 + configs/r7-tv-dongle_defconfig | 1 + configs/sopine_baseboard_defconfig | 1 + configs/sun8i_a23_evb_defconfig | 1 + configs/sunxi_Gemei_G9_defconfig | 1 + configs/tbs_a711_defconfig | 1 + drivers/clk/Kconfig | 1 + drivers/clk/Makefile | 1 + drivers/clk/clk-uclass.c | 84 +++- drivers/clk/sunxi/Kconfig | 82 +++ drivers/clk/sunxi/Makefile | 18 + drivers/clk/sunxi/clk_a10.c | 107 ++++ drivers/clk/sunxi/clk_a10s.c | 96 ++++ drivers/clk/sunxi/clk_a23.c | 105 ++++ drivers/clk/sunxi/clk_a31.c | 128 +++++ drivers/clk/sunxi/clk_a64.c | 115 +++++ drivers/clk/sunxi/clk_a83t.c | 105 ++++ drivers/clk/sunxi/clk_h3.c | 130 +++++ drivers/clk/sunxi/clk_h6.c | 73 +++ drivers/clk/sunxi/clk_r40.c | 123 +++++ drivers/clk/sunxi/clk_sunxi.c | 77 +++ drivers/clk/sunxi/clk_v3s.c | 91 ++++ drivers/fastboot/Kconfig | 3 +- drivers/mmc/sunxi_mmc.c | 121 +++-- drivers/net/sun8i_emac.c | 179 ++++--- drivers/net/sunxi_emac.c | 28 +- drivers/phy/allwinner/phy-sun4i-usb.c | 77 ++- drivers/reset/Kconfig | 8 + drivers/reset/Makefile | 1 + drivers/reset/reset-sunxi.c | 124 +++++ drivers/reset/reset-uclass.c | 81 ++- drivers/spi/Kconfig | 6 + drivers/spi/Makefile | 1 + drivers/spi/sun4i_spi.c | 40 +- drivers/spi/sun6i_spi.c | 475 ++++++++++++++++++ drivers/usb/host/Kconfig | 2 + drivers/usb/host/Makefile | 2 - drivers/usb/host/ehci-sunxi.c | 204 -------- drivers/usb/host/ohci-sunxi.c | 233 --------- drivers/usb/musb-new/sunxi.c | 82 +-- env/Kconfig | 3 +- env/fat.c | 9 +- include/clk.h | 15 + include/configs/sun4i.h | 4 - include/configs/sun50i.h | 5 - include/configs/sun5i.h | 4 - include/configs/sun6i.h | 4 - include/configs/sun7i.h | 4 - include/configs/sun8i.h | 4 - include/configs/sunxi-common.h | 9 +- include/fat.h | 1 + include/reset.h | 52 ++ scripts/config_whitelist.txt | 2 - 143 files changed, 2695 insertions(+), 685 deletions(-) create mode 100644 arch/arm/include/asm/arch-sunxi/ccu.h create mode 100644 drivers/clk/sunxi/Kconfig create mode 100644 drivers/clk/sunxi/Makefile create mode 100644 drivers/clk/sunxi/clk_a10.c create mode 100644 drivers/clk/sunxi/clk_a10s.c create mode 100644 drivers/clk/sunxi/clk_a23.c create mode 100644 drivers/clk/sunxi/clk_a31.c create mode 100644 drivers/clk/sunxi/clk_a64.c create mode 100644 drivers/clk/sunxi/clk_a83t.c create mode 100644 drivers/clk/sunxi/clk_h3.c create mode 100644 drivers/clk/sunxi/clk_h6.c create mode 100644 drivers/clk/sunxi/clk_r40.c create mode 100644 drivers/clk/sunxi/clk_sunxi.c create mode 100644 drivers/clk/sunxi/clk_v3s.c create mode 100644 drivers/reset/reset-sunxi.c create mode 100644 drivers/spi/sun6i_spi.c delete mode 100644 drivers/usb/host/ehci-sunxi.c delete mode 100644 drivers/usb/host/ohci-sunxi.c -- 2.18.0.321.gffc6fa0e3 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot