[U-Boot] [RFC 00/35] sunxi: Add initial CLK, RESET support
Jagan Teki
jagan at amarulasolutions.com
Mon Jul 16 11:28:15 UTC 2018
This is series is trying to add initial support for CLK and RESET
drivers for Allwinner SoC's with USB as a starting IP.
Linux handle both clock and reset as ccu with common DT bindings,
but besides that U-Boot handle them separately with individual
generic uclass functions. So we need have a separate drivers for
CLK and RESET with common DT binding.
This series is trying to resolve this by binding the reset driver
from CLK driver .bind call. First of all the CLK driver will probe
based on DT compatible and the .bind call of CLK driver will bind
the respective reset driver based on uclass driver name.
I would prefer USB can be initial IP to go, since it doesn't rely on
dm pinctrl or any other dm stuff require.
Tested this on A64, H5, H3 but I still need to have closer look
on other SoCs.
All these changes available at u-boot-sunxi/clk
Suggestions,
Jagan.
Andre Przywara (1):
sunxi: clk: add DM clock driver template for the A64 SoC
Jagan Teki (34):
clk: Kconfig: Ascending order to sub directiory kconfigs
net: sun8i_emac: Make proper order for include files
mtd: sunxi_nand_spl: Make proper order for include files
dt-bindings: reset: Sync sun4i-a10-ccu.h from Linux
dt-bindings: clock: Sync sun5i-ccu.h from Linux
dt-bindings: reset: Sync sun5i-ccu.h from Linux
dt-bindings: clock: Sync sun6i-a31-ccu.h from Linux
dt-bindings: reset: Sync sun6i-a31-ccu.h from Linux
clk: sunxi: Add Kconfig entry
clk: sunxi: a64: Add disable function
clk: sunxi: a64: Implement USB clocks
reset: sunxi: Add DM reset driver template for the A64 SoC
reset: sunxi: a64: Bind reset from clock driver
reset: Add default request ops
reset: sunxi: a64: Implement USB resets
clk: sunxi: Add initial CLK driver for H3_H5
reset: sunxi: Add initial RESET driver for H3_H5
clk: sunxi: Add initial CLK driver for A10/A20
reset: sunxi: Add initial RESET driver for A10/A20
clk: sunxi: Add initial CLK driver for A10s/A13
reset: sunxi: Add initial RESET driver for A10s/A13
clk: sunxi: Add initial CLK driver for A31/A31s
reset: sunxi: Add initial RESET driver for A31/A31s
clk: sunxi: Add initial CLK driver for A23
reset: sunxi: Add initial RESET driver for A23
clk: sunxi: a23: Add CLK support for A33
reset: sunxi: a23: Add RESET support A33
clk: sunxi: Add initial CLK driver for A83T
reset: sunxi: Add initial RESET driver for A83T
sunxi: Enable CLK and RESET
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
arch/arm/include/asm/arch-sunxi/clock.h | 8 +
arch/arm/mach-sunxi/Kconfig | 18 ++
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 | 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 | 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 | 1 +
configs/sun8i_a23_evb_defconfig | 1 +
configs/sunxi_Gemei_G9_defconfig | 1 +
configs/tbs_a711_defconfig | 1 +
drivers/clk/Kconfig | 9 +-
drivers/clk/Makefile | 1 +
drivers/clk/sunxi/Kconfig | 60 +++++
drivers/clk/sunxi/Makefile | 15 ++
drivers/clk/sunxi/clk_a10.c | 105 ++++++++
drivers/clk/sunxi/clk_a10s.c | 105 ++++++++
drivers/clk/sunxi/clk_a23.c | 113 +++++++++
drivers/clk/sunxi/clk_a31.c | 130 ++++++++++
drivers/clk/sunxi/clk_a64.c | 141 +++++++++++
drivers/clk/sunxi/clk_a83t.c | 120 +++++++++
drivers/clk/sunxi/clk_h3.c | 131 ++++++++++
drivers/clk/sunxi/clk_sunxi.c | 39 +++
drivers/mtd/nand/sunxi_nand_spl.c | 4 +-
drivers/net/sun8i_emac.c | 8 +-
drivers/phy/allwinner/phy-sun4i-usb.c | 63 +++--
drivers/reset/Kconfig | 2 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-uclass.c | 10 +-
drivers/reset/sunxi/Kconfig | 61 +++++
drivers/reset/sunxi/Makefile | 13 +
drivers/reset/sunxi/reset_a10.c | 95 +++++++
drivers/reset/sunxi/reset_a10s.c | 93 +++++++
drivers/reset/sunxi/reset_a23.c | 111 +++++++++
drivers/reset/sunxi/reset_a31.c | 123 +++++++++
drivers/reset/sunxi/reset_a64.c | 115 +++++++++
drivers/reset/sunxi/reset_a83t.c | 117 +++++++++
drivers/reset/sunxi/reset_h3.c | 121 +++++++++
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 +++---
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/sun5i-ccu.h | 106 ++++++++
include/dt-bindings/clock/sun6i-a31-ccu.h | 191 ++++++++++++++
include/dt-bindings/reset/sun4i-a10-ccu.h | 69 ++++++
include/dt-bindings/reset/sun5i-ccu.h | 32 +++
include/dt-bindings/reset/sun6i-a31-ccu.h | 106 ++++++++
scripts/config_whitelist.txt | 2 -
136 files changed, 2549 insertions(+), 528 deletions(-)
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_sunxi.c
create mode 100644 drivers/reset/sunxi/Kconfig
create mode 100644 drivers/reset/sunxi/Makefile
create mode 100644 drivers/reset/sunxi/reset_a10.c
create mode 100644 drivers/reset/sunxi/reset_a10s.c
create mode 100644 drivers/reset/sunxi/reset_a23.c
create mode 100644 drivers/reset/sunxi/reset_a31.c
create mode 100644 drivers/reset/sunxi/reset_a64.c
create mode 100644 drivers/reset/sunxi/reset_a83t.c
create mode 100644 drivers/reset/sunxi/reset_h3.c
delete mode 100644 drivers/usb/host/ehci-sunxi.c
delete mode 100644 drivers/usb/host/ohci-sunxi.c
create mode 100644 include/dt-bindings/clock/sun5i-ccu.h
create mode 100644 include/dt-bindings/clock/sun6i-a31-ccu.h
create mode 100644 include/dt-bindings/reset/sun4i-a10-ccu.h
create mode 100644 include/dt-bindings/reset/sun5i-ccu.h
create mode 100644 include/dt-bindings/reset/sun6i-a31-ccu.h
--
2.17.1
More information about the U-Boot
mailing list