[PATCH 0/8] Add support for Qualcomm SA8155-ADP board

Caleb Connolly caleb.connolly at linaro.org
Mon Mar 4 17:50:37 CET 2024



On 04/03/2024 15:51, Volodymyr Babchuk wrote:
> 
> Hi Stephan,
> 
> Stephan Gerhold <stephan at gerhold.net> writes:
> 
>> On Fri, Mar 01, 2024 at 06:25:39PM +0000, Volodymyr Babchuk wrote:
>>> Caleb Connolly <caleb.connolly at linaro.org> writes:
>>>> 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?
>>>
>>> Honestly, there is nothing to look at right now. I just implemented
>>> early printk serial driver for the qcom, made hacks to the device tree
>>> and trying to boot Dom0. I already expecting issues with the GPU,
>>> because it has own SMMU without virtualization support and Xen already
>>> complains about it. So I had to remove it from the DTS for a time being.
>>>
>>
>> Did you enable all the clocks/power domains/etc for the GPU SMMU? If I
>> remember correctly it is off by default and all registers read as
>> zeroes. The SMMU driver could easily get confused about the capabilities
>> of the SMMU (e.g. the stage 2/virtualization support) if all the ID
>> registers read as zeroes.
> 
> Ah, this is a great idea, thanks. I tried a quick test by enabling only
> clocks that are provided by GCC, but looks like I need to enable GPUCC
> clocks as well. So I need to write a driver for GPUCC or at least
> figure which registers to write with a debugger. I'll try this later.
> 
> By the way, do you have any suggestion about my second issue? When Linux
> in the Dom0 tries to access UFS, CPU gets a secure interrupt and hangs in
> TZ. I had the same exactly behavior when I tried to access EMAC without enabling
> clocks and power domains in U-Boot. But Linux should enable all
> prerequisites for UFS... I suspect that there is an additional
> initialization needs to be done, but I didn't figured it yet.

Maybe it would be easiest to try enabling UFS in U-Boot first? I have it
working on SDM845 and SM8250, so it should be easy enough to add SM8150
as well...

You can find the UFS and PHY patches in the branch linked below (sorry
it's not very clean... Maybe easier to just add your drivers on top)

This way we can more easily dig in and see what the root cause is.

If you run into issues there let me know and I can maybe give it a try
on an SM8150 HDK.

https://git.codelinaro.org/linaro/qcomlt/u-boot/-/commits/caleb/rbx-integration/?ref_type=HEADS
> 

-- 
// Caleb (they/them)


More information about the U-Boot mailing list