
On 29/02/2024 14:21, Volodymyr Babchuk wrote:
This patch series adds support for Qualcomm SA8155-ADP development board. Main motivation for this series is to allow running virtualization software on this board and U-Boot is a good way to break Qualcomm's boot chain at EL2 with more convenient ways for uploading and running the code. With this patches applied it is possible to upload and run Xen on this board. KVM probably should work too.
This is really cool! I've experimented with this on SDM845 and SM8250 but never really did anything with it... I'd love to take a look at your Xen branch?
I added myself as a maintainer for this board, but my abilities to maintain it are quite limited as I have no access to Qualcomm documentation. I used mostly Linux drivers as the source for device-specific information, like register addresses and offsets. If anyone wants to maintain this, I will gladly agree.
Volodymyr Babchuk (8): clk: qcom: clear div mask before assigning new divider dts: qcom: import device trees and bindings for SA8155P-ADP net: dw_eth_qos: add support for Qualcomm SM8150 SoC clk: qcom: add support for power domains uclass clk: qcom: add driver for SM8150 SoC pinctr: qcom: pass pin number to get_function_mux callback pinctrl: qcom: add driver for SM8150 SoC board: add support for Qualcomm SA8155P-ADP board
arch/arm/dts/pmm8155au_1.dtsi | 135 + arch/arm/dts/pmm8155au_2.dtsi | 108 + arch/arm/dts/sa8155p-adp-u-boot.dtsi | 30 + arch/arm/dts/sa8155p-adp.dts | 606 ++ arch/arm/dts/sa8155p.dtsi | 40 + arch/arm/dts/sm8150.dtsi | 5293 +++++++++++++++++ arch/arm/mach-snapdragon/Kconfig | 14 + arch/arm/mach-snapdragon/Makefile | 2 + arch/arm/mach-snapdragon/init_sa8155p.c | 30 + arch/arm/mach-snapdragon/sysmap-sm8150.c | 31 + board/qualcomm/sa8155p-adp/Kconfig | 12 + board/qualcomm/sa8155p-adp/MAINTAINERS | 6 + configs/sa8155p_adp_defconfig | 33 + doc/board/qualcomm/index.rst | 1 + doc/board/qualcomm/sa8155p-adp.rst | 94 + drivers/clk/qcom/Kconfig | 8 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/clock-qcom.c | 96 +- drivers/clk/qcom/clock-qcom.h | 7 + drivers/clk/qcom/clock-sm8150.c | 234 + drivers/net/dwc_eth_qos.c | 4 + drivers/net/dwc_eth_qos.h | 2 + drivers/net/dwc_eth_qos_qcom.c | 47 +- drivers/pinctrl/qcom/Kconfig | 7 + drivers/pinctrl/qcom/Makefile | 1 + drivers/pinctrl/qcom/pinctrl-apq8016.c | 3 +- drivers/pinctrl/qcom/pinctrl-apq8096.c | 3 +- drivers/pinctrl/qcom/pinctrl-ipq4019.c | 3 +- drivers/pinctrl/qcom/pinctrl-qcom.c | 4 +- drivers/pinctrl/qcom/pinctrl-qcom.h | 3 +- drivers/pinctrl/qcom/pinctrl-qcs404.c | 3 +- drivers/pinctrl/qcom/pinctrl-sdm845.c | 3 +- drivers/pinctrl/qcom/pinctrl-sm8150.c | 589 ++ include/configs/sa8155p_adp.h | 25 + .../dt-bindings/clock/qcom,dispcc-sm8150.h | 76 + include/dt-bindings/clock/qcom,gcc-sm8150.h | 252 + include/dt-bindings/clock/qcom,gpucc-sm8150.h | 33 + include/dt-bindings/clock/qcom,rpmh.h | 37 + include/dt-bindings/dma/qcom-gpi.h | 11 + include/dt-bindings/firmware/qcom,scm.h | 39 + include/dt-bindings/iio/qcom,spmi-vadc.h | 303 + .../dt-bindings/interconnect/qcom,osm-l3.h | 15 + .../dt-bindings/interconnect/qcom,sm8150.h | 159 + include/dt-bindings/phy/phy-qcom-qmp.h | 20 + include/dt-bindings/power/qcom-rpmpd.h | 412 ++ .../regulator/qcom,rpmh-regulator.h | 36 + include/dt-bindings/soc/qcom,rpmh-rsc.h | 14 + 47 files changed, 8866 insertions(+), 19 deletions(-) create mode 100644 arch/arm/dts/pmm8155au_1.dtsi create mode 100644 arch/arm/dts/pmm8155au_2.dtsi create mode 100644 arch/arm/dts/sa8155p-adp-u-boot.dtsi create mode 100644 arch/arm/dts/sa8155p-adp.dts create mode 100644 arch/arm/dts/sa8155p.dtsi create mode 100644 arch/arm/dts/sm8150.dtsi create mode 100644 arch/arm/mach-snapdragon/init_sa8155p.c create mode 100644 arch/arm/mach-snapdragon/sysmap-sm8150.c create mode 100644 board/qualcomm/sa8155p-adp/Kconfig create mode 100644 board/qualcomm/sa8155p-adp/MAINTAINERS create mode 100644 configs/sa8155p_adp_defconfig create mode 100644 doc/board/qualcomm/sa8155p-adp.rst create mode 100644 drivers/clk/qcom/clock-sm8150.c create mode 100644 drivers/pinctrl/qcom/pinctrl-sm8150.c create mode 100644 include/configs/sa8155p_adp.h create mode 100644 include/dt-bindings/clock/qcom,dispcc-sm8150.h create mode 100644 include/dt-bindings/clock/qcom,gcc-sm8150.h create mode 100644 include/dt-bindings/clock/qcom,gpucc-sm8150.h create mode 100644 include/dt-bindings/clock/qcom,rpmh.h create mode 100644 include/dt-bindings/dma/qcom-gpi.h create mode 100644 include/dt-bindings/firmware/qcom,scm.h create mode 100644 include/dt-bindings/iio/qcom,spmi-vadc.h create mode 100644 include/dt-bindings/interconnect/qcom,osm-l3.h create mode 100644 include/dt-bindings/interconnect/qcom,sm8150.h create mode 100644 include/dt-bindings/phy/phy-qcom-qmp.h create mode 100644 include/dt-bindings/power/qcom-rpmpd.h create mode 100644 include/dt-bindings/regulator/qcom,rpmh-regulator.h create mode 100644 include/dt-bindings/soc/qcom,rpmh-rsc.h