[U-Boot] [PATCH v5 00/26] clk: Add Allwinner CLK, RESET support
Jagan Teki
jagan at amarulasolutions.com
Mon Dec 31 16:59:01 UTC 2018
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
More information about the U-Boot
mailing list