]> git.dujemihanovic.xyz Git - u-boot.git/commit
clk/qcom: handle resets and clocks in one device
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Tue, 7 Nov 2023 12:41:01 +0000 (12:41 +0000)
committerCaleb Connolly <caleb.connolly@linaro.org>
Tue, 16 Jan 2024 12:26:23 +0000 (12:26 +0000)
commit3ead661633293413e9af6d1e20c0a1a362d08ee8
tree90abadb47988c06b9a62bf0ab3828fc783edfab8
parentfac2121a47fe5fe6af45af0f5acfa5b8bd369b52
clk/qcom: handle resets and clocks in one device

Qualcomm's clock controller blocks actually do much more than it
says on the tin.. They provide clocks, resets and power domains.
Currently, U-Boot requires one to spawn 2 separate devices for
controlling clocks and resets, both spanning the same register space.
Refactor the code to make it work with just a single DT node, making
it compatible with upstream Linux bindings and dropping the dedicated
reset driver in favour of including it in the clock driver.

Heavily inspired by Renesas code for a similar hw block.

[caleb: moved drivers to clk/qcom, added reset driver and adjusted bind
logic. Imported qcom,gcc-ipq4019.h from Linux]

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
15 files changed:
arch/arm/Kconfig
arch/arm/dts/qcom-ipq4019.dtsi
arch/arm/dts/qcs404-evb.dts
drivers/clk/qcom/clock-apq8016.c
drivers/clk/qcom/clock-apq8096.c
drivers/clk/qcom/clock-ipq4019.c
drivers/clk/qcom/clock-qcom.c
drivers/clk/qcom/clock-qcom.h
drivers/clk/qcom/clock-qcs404.c
drivers/clk/qcom/clock-sdm845.c
drivers/reset/Kconfig
drivers/reset/Makefile
drivers/reset/reset-qcom.c [deleted file]
include/dt-bindings/clock/qcom,gcc-ipq4019.h [moved from include/dt-bindings/clock/qcom,ipq4019-gcc.h with 58% similarity]
include/dt-bindings/reset/qcom,ipq4019-reset.h [deleted file]