From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Date: Mon, 31 Dec 2018 22:29:01 +0530 Subject: [U-Boot] [PATCH v5 00/26] clk: Add Allwinner CLK, RESET support Message-ID: <20181231165927.13803-1-jagan@amarulasolutions.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Although the previous version[1] is properly handled the clock gates with enable and disable management, but this series is trying to add some more complex Allwinner CLK architecture by handling parent clock and other CLK attributes. Allwinner Clock control unit comprises of parent clocks, gates, multiplexers, dividers, multipliers, pre/post dividers and flags etc. So, the U-Boot implementation of ccu has divided into gates and tree. gates are generic clock configuration of enable/disable bit management and these can be handled via ccu_clock_gate, which is almost same as previous version changes. Tree clock has more Allwinner CLK attributes like clock type, fixed clocks, misc clocks, mp, nk, nkm, nkmp, pre/post div, flags etc and these can be managed via ccu_clock_tree. On top of initial clock gates supported from previous version, this series is trying to add support for MP, NK, MISC, FIXED clock types with get_rate functionality and that can eventually used by uart driver. On the summary, this would be an initial infrasture that can fit into remaining clock handle support like set_rate, so the rest of code will add on the requirement basics. Once this is fine, I will try to add code for other parts especially for MMC since we have migration deadline for BLK, MMC, SCSI. So, please do let me know if anyone have any inputs. All these changes available at u-boot-sunxi/clk-next thanks, Jagan. [1] https://patchwork.ozlabs.org/cover/962226/ Jagan Teki (26): clk: Add Allwinner A64 CLK driver 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/A33 CLK driver clk: sunxi: Add Allwinner A83T CLK driver clk: sunxi: Add Allwinner R40 CLK driver clk: sunxi: Add Allwinner V3S CLK driver clk: sunxi: Implement UART clocks clk: sunxi: Implement UART resets clk: sunxi: Add Allwinner H6 CLK driver sunxi: A64: Update sun50i-a64-ccu.h clk: sunxi: Add ccu clock tree support sunxi: Enable CLK phy: sun4i-usb: Use CLK and RESET support reset: Add reset valid musb-new: sunxi: Use CLK and RESET support sunxi: usb: Switch to Generic host controllers usb: host: Drop [e-o]hci-sunxi drivers clk: sunxi: Implement SPI clocks spi: sun4i: Add CLK support clk: sunxi: Implement A64 SPI clocks, resets spi: Add Allwinner A31 SPI driver board: sopine: Enable SPI/SPI-FLASH .../sun50i-a64-sopine-baseboard-u-boot.dtsi | 16 + arch/arm/include/asm/arch-sunxi/ccu.h | 284 +++++++++++++ arch/arm/mach-sunxi/Kconfig | 12 + 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 | 1 + configs/A20-OLinuXino-Lime2_defconfig | 1 + configs/A20-OLinuXino-Lime_defconfig | 1 + configs/A20-Olimex-SOM204-EVB_defconfig | 1 + 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 | 1 + 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/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 | 1 + configs/pine64_plus_defconfig | 1 + configs/r7-tv-dongle_defconfig | 1 + configs/sopine_baseboard_defconfig | 8 + 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/sunxi/Kconfig | 82 ++++ drivers/clk/sunxi/Makefile | 18 + drivers/clk/sunxi/clk_a10.c | 77 ++++ drivers/clk/sunxi/clk_a10s.c | 68 +++ drivers/clk/sunxi/clk_a23.c | 75 ++++ drivers/clk/sunxi/clk_a31.c | 82 ++++ drivers/clk/sunxi/clk_a64.c | 125 ++++++ drivers/clk/sunxi/clk_a83t.c | 75 ++++ drivers/clk/sunxi/clk_h3.c | 89 ++++ drivers/clk/sunxi/clk_h6.c | 53 +++ drivers/clk/sunxi/clk_r40.c | 88 ++++ drivers/clk/sunxi/clk_sunxi.c | 256 +++++++++++ drivers/clk/sunxi/clk_v3s.c | 59 +++ drivers/phy/allwinner/phy-sun4i-usb.c | 77 +++- drivers/reset/Kconfig | 8 + drivers/reset/Makefile | 1 + drivers/reset/reset-sunxi.c | 125 ++++++ drivers/spi/Kconfig | 6 + drivers/spi/Makefile | 1 + drivers/spi/sun4i_spi.c | 46 +- drivers/spi/sun6i_spi.c | 398 ++++++++++++++++++ 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 | 81 ++-- 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 | 1 - include/dt-bindings/clock/sun50i-a64-ccu.h | 2 + include/reset.h | 11 + scripts/config_whitelist.txt | 2 - 130 files changed, 2248 insertions(+), 534 deletions(-) create mode 100644 arch/arm/dts/sun50i-a64-sopine-baseboard-u-boot.dtsi 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