[PATCH 00/10] Add initial support for IPQ9574 based boards
Varadarajan Narayanan
quic_varada at quicinc.com
Tue Feb 27 17:35:06 CET 2024
On Tue, Feb 27, 2024 at 02:37:25AM +0000, Caleb Connolly wrote:
> HI Varada,
>
> On 26/02/2024 10:07, Varadarajan Narayanan wrote:
> > These patches introduce the initial support code needed
> > for the QTI IPQ9574 SoC and RDP433 board.
>
> Awesome!
Thanks for the feedback. Will rework based on the comments given
in this and the other patches and will post a new spin soon.
-Varada
> >
> > SoC : QTI IPQ9574
> > RAM : 2GB DDR4
> > Flash : eMMC 8GB
> > WiFi : 1 x 2.4GHz, 1 x 5GHz, 1 x 6GHz
> >
> > New to both patman and posting to U-Boot. Please let
> > me know if something is not correct, will try to
> > rectify to the best of my abilities.
>
> Patches came through just fine, thanks! I haven't used patman
> personally, but I have used the b4 tool, I'd recommend giving it a spin
> if you haven't yet. Your get_maintainers.pl options might need some
> tweaking too (the defaults from b4 seem to work better ime).
>
> I've spent some time going through your series and there's a lot to go
> over, so apologies if this gets a bit long.
>
> I'm planning to pick up this[1] patch series this week and I'm sorry to
> say it has some fairly major conflicts with your work here. My series
> makes some fairly significant changes to Qualcomm support in U-Boot
> (moving to upstream Linux DT and getting rid of most of the compile time
> board configuration among other things).
>
> The thing I'm mostly concerned with is the totally custom init code and
> linker script. I discovered this branch[2] which seems to have a fairly
> complete git history, but there's still a lot of unknowns.
>
> * What is the custom linker script for (which isn't handled by the
> default one)?
> * Why do you skip U-Boot relocation (GD_FLG_SKIP_RELOC)?
> * How is U-Boot expected to be flashed and consequently loaded on this
> platform? I get the impression that SBL1 jumps to it directly? Is it
> built into an XBL image like on the mobile/IoT platforms, or flashed to
> it's own partition, or to SPI flash?
>
> In general there is very little context around the code being added
> here, and as a result it's hard to understand what exactly is going on
> and why things have been done a certain way.
>
> I'll leave some more detailed comments in line, but I think initially I
> would just like to get a better understanding of the situation here, so
> answers to the questions above would be most helpful!
>
> Please also have a look at reworking this series on top of my patches
> linked at [1], if you have any issues or questions then please do get in
> touch with me via email, or better via the #u-boot IRC channel on OFTC,
> my nick there is calebccff.
>
> Regarding my series, the notable changes are in how mach-snapdragon is
> handled: the target specific memory maps have been dropped in favour of
> reading the memory map from DT. The sysmap headers are also gone,
> instead the defines are moved to the relevant driver (mostly clock/pinctrl).
>
> I think it would be sensible to (for example) introduce
> mach-snapdragon/smem.c for handling stuff like your env_get_location()
> implementation (it would provide smem_env_get_location() which would be
> called from env_get_location() in board.c).
>
> You'll probably also want to skip the carve_out_reserved_memory() call
> for now.
>
> [1]:
> https://lore.kernel.org/u-boot/20240226-b4-qcom-common-target-v5-0-10c8e078befb@linaro.org/
> [2]:
> https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot/-/tree/NHSS.QSDK.12.4.5
> >
> > Thanks
> > Varada
>
> Kind regards,
> >
> >
> > Varadarajan Narayanan (10):
> > mach-snapdragon: Add support for IPQ9574
> > mach-snapdragon: ipq9574: Add SMEM defines needed for IPQ9574
> > clk/qcom: Add support for clock registers in IPQ9574
> > clk/qcom: Include IPQ9574
> > mach-snapdragon: Update gd->ram_size in msm_fixup_memory
> > pinctrl: qcom: Add support for 'pull-down'
> > pinctrl: qcom: Include IPQ9574
> > mmc: msm_sdhci: Handle different vendor cap register offsets
> > mmc: msm_sdhci: Reset clocks before reconfiguration
> > board: qualcomm: Add support for IPQ9574 RDP433
> >
> > arch/arm/dts/Makefile | 2 +
> > arch/arm/dts/ipq9574-default.dts | 167 +++
> > arch/arm/dts/ipq9574-rdp433-mht-phy.dts | 208 +++
> > arch/arm/dts/ipq9574.dtsi | 771 ++++++++++
> > arch/arm/mach-snapdragon/Kconfig | 15 +
> > arch/arm/mach-snapdragon/Makefile | 1 +
> > arch/arm/mach-snapdragon/dram.c | 10 +-
> > .../include/mach/sysmap-ipq9574.h | 252 ++++
> > arch/arm/mach-snapdragon/init_ipq9574.c | 81 +
> > board/qualcomm/ipq9574/Kconfig | 15 +
> > board/qualcomm/ipq9574/Makefile | 4 +
> > board/qualcomm/ipq9574/board_init.c | 326 ++++
> > board/qualcomm/ipq9574/ipq9574.c | 170 +++
> > board/qualcomm/ipq9574/ipq9574.h | 75 +
> > board/qualcomm/ipq9574/u-boot-x32.lds | 250 ++++
> > board/qualcomm/ipq9574/u-boot-x64.lds | 188 +++
> > configs/ipq9574_mmc_defconfig | 118 ++
> > drivers/clk/qcom/Kconfig | 8 +
> > drivers/clk/qcom/Makefile | 1 +
> > drivers/clk/qcom/clock-ipq9574.c | 1320 +++++++++++++++++
> > drivers/clk/qcom/clock-qcom.c | 32 +
> > drivers/clk/qcom/clock-qcom.h | 8 +
> > drivers/mmc/msm_sdhci.c | 21 +-
> > drivers/pinctrl/qcom/Kconfig | 7 +
> > drivers/pinctrl/qcom/Makefile | 1 +
> > drivers/pinctrl/qcom/pinctrl-ipq9574.c | 77 +
> > drivers/pinctrl/qcom/pinctrl-qcom.c | 2 +
> > include/configs/ipq9574.h | 111 ++
> > include/dt-bindings/clock/gcc-ipq9574.h | 156 ++
> > include/dt-bindings/net/qti-ipqsoc.h | 20 +
> > include/dt-bindings/pinctrl/pinctrl-ipqsoc.h | 19 +
> > include/dt-bindings/reset/ipq9574-reset.h | 54 +
> > include/smem.h | 78 +
> > 33 files changed, 4563 insertions(+), 5 deletions(-)
> > create mode 100644 arch/arm/dts/ipq9574-default.dts
> > create mode 100644 arch/arm/dts/ipq9574-rdp433-mht-phy.dts
> > create mode 100644 arch/arm/dts/ipq9574.dtsi
> > create mode 100644 arch/arm/mach-snapdragon/include/mach/sysmap-ipq9574.h
> > create mode 100644 arch/arm/mach-snapdragon/init_ipq9574.c
> > create mode 100644 board/qualcomm/ipq9574/Kconfig
> > create mode 100644 board/qualcomm/ipq9574/Makefile
> > create mode 100644 board/qualcomm/ipq9574/board_init.c
> > create mode 100644 board/qualcomm/ipq9574/ipq9574.c
> > create mode 100644 board/qualcomm/ipq9574/ipq9574.h
> > create mode 100644 board/qualcomm/ipq9574/u-boot-x32.lds
> > create mode 100644 board/qualcomm/ipq9574/u-boot-x64.lds
> > create mode 100644 configs/ipq9574_mmc_defconfig
> > create mode 100644 drivers/clk/qcom/clock-ipq9574.c
> > create mode 100644 drivers/pinctrl/qcom/pinctrl-ipq9574.c
> > create mode 100644 include/configs/ipq9574.h
> > create mode 100644 include/dt-bindings/clock/gcc-ipq9574.h
> > create mode 100644 include/dt-bindings/net/qti-ipqsoc.h
> > create mode 100644 include/dt-bindings/pinctrl/pinctrl-ipqsoc.h
> > create mode 100644 include/dt-bindings/reset/ipq9574-reset.h
> >
>
> --
> // Caleb (they/them)
More information about the U-Boot
mailing list