[PATCH] configs: Add pixel3_defconfig for Pixel 3 / 3 XL

David Heidelberg david at ixit.cz
Tue Jul 29 18:40:06 CEST 2025


On 29/07/2025 18:04, Casey Connolly wrote:
> 
> 
> On 7/29/25 17:59, David Heidelberg wrote:
>> Hello Casey.
>>
>> On 29/07/2025 13:52, Casey Connolly wrote:
>>> Hi David,
>>>
>>> Thanks for the patch! Great to see more devices up and running :D
>>>
>>> On 7/29/25 12:39, David Heidelberg wrote:
>>>> Introduce a defconfig for the Pixel 3 and Pixel 3 XL.
>>>>
>>>> On these devices, U-Boot must be chainloaded via Fastboot. However, 
>>>> due to
>>>> a Fastboot bug, U-Boot won’t start unless a specific condition is met.
>>>>
>>>> To work around this, U-Boot must provide a TEXT_OFFSET of 0x00080000,
>>>> which allows Fastboot to successfully launch U-Boot.
>>>
>>> tbh I think we could just make this the default TEXT_BASE, since we 
>>> don't set one in qcom_defconfig. I don't think(?) that would mess up 
>>> anything else since U-Boot is relocatable anyways.
>>>
>>> Neil: any thoughts there?
>>>
>>>>
>>>> Clearing the framebuffer improves the Pixel 3 experience,
>>>> as it prevents collisions with the Fastboot logo left on the display.
>>>
>>> Does framebuffer actually work on the 3 (non-XL)? This reminds me 
>>> that we should turn off dcache flush for simplefb heh
>>
>> I can't confirm for Pixel 3 (at least until I meet with Petr Hodina 
>> and test), but generally after defining the FB node in dts, it *should*.
> 
> I was never able to get simplefb working in Linux, nor did it work when 
> i tried U-Boot on blueline, I think panel self-refresh is disabled there 
> for some reason :/

In Linux, it doesn't work for me on Pixel 3 XL either (there is driver 
for the AMOLED used on Samsung S9, but probably regulators aren't 
right), but the u-boot with correct simplefb config showed output on 
first good.>
>>
>>>
>>>>
>>>> Instead of:
>>>> $ make CROSS_COMPILE=aarch64-linux-gnu- O=.output qcom_defconfig 
>>>> qcom- phone.config
>>>> do
>>>> $ make CROSS_COMPILE=aarch64-linux-gnu- O=.output pixel3_defconfig 
>>>> qcom-phone.config
>>>>
>>>> Cc: Neil Armstrong <neil.armstrong at linaro.org>
>>>> Cc: Casey Connolly <casey.connolly at linaro.org>
>>>> Signed-off-by: David Heidelberg <david at ixit.cz>
>>>> ---
>>>>   configs/pixel3_defconfig | 13 +++++++++++++
>>>>   1 file changed, 13 insertions(+)
>>>>   create mode 100644 configs/pixel3_defconfig
>>>
>>> I think this makes more sense as a config fragment than a standalone 
>>> defconfig, since it's just changing a few core options that don't 
>>> have any other effects
>>>
>>> $ make qcom_defconfig google-blueline.config qcom-phone.config
>>>
>>> What do you think? Otherwise it should be renamed to 
>>> qcom_google_blueline_defconfig or something like that.
>>
>> I have nothing against config fragment, but the blueline and 
>> crosshatch are HW wise almost identical differentiating in 
>> peripherals, so this configuration should be common for both of them.
> right, it can be called blueline and still used for both.
> 
> I forgot to ask, please also add a new file in doc/board/qualcomm to 
> describe the Pixel 3, it should just explain the need for the fragment/ 
> custom defconfig and then :ref: to the generic board.rst documentation.
> 
> Another todo of mine is to introduce a hardware support table like 
> amlogic have to document all the boards.

Would be nice, I'll sent brief blueline/crosshatch introduction.

> 
>>
>>>
>>>>
>>>> diff --git a/configs/pixel3_defconfig b/configs/pixel3_defconfig
>>>> new file mode 100644
>>>> index 00000000000..9c0c8ca63c4
>>>> --- /dev/null
>>>> +++ b/configs/pixel3_defconfig
>>>> @@ -0,0 +1,13 @@
>>>> +# Pixel 3 has special requirement to have TEXT_BASE set for the 
>>>> fastboot.
>>>> +
>>>> +#include "qcom_defconfig"
>>>> +
>>>> +# Otherwise buildman thinks this isn't an ARM platform
>>>> +CONFIG_ARM=y
>>>> +
>>>> +# some Pixel 3 bootloaders aren't able to start without TEXT_BASE
>>>> +CONFIG_TEXT_BASE=0x80080000
>>>> +CONFIG_HAVE_SYS_UBOOT_START=y
>>>
>>> Can you explain the purpose of HAVE_SYS_UBOOT_START here? It just 
>>> allows for SYS_UBOOT_START which afaict isn't used?
>>
>> I re-did the testing and this option is not needed, so I'm happy to 
>> drop it in next revision.
> 
> Great
> 
>>
>>>
>>>> +
>>>> +# fastboot logo distorts u-boot output
>>>> +# CONFIG_NO_FB_CLEAR is not set
>>>
>>> I'd like to add this to qcom_defconfig, I was holding off until I 
>>> could add an option to prevent simplefb from doing dcache flash on 
>>> qcom which makes display refreshes actually fast... Would you be 
>>> interested in adding a config option for that?
>>
>> If you can insert this option into the qcom_defconfig, that would 
>> likely make sense.
> 
> My plan is to add that after adding an option to disable dcache flush, 
> since otherwise it introduces a huge delay to booting for no real reason 
> on most devices.

I didn't know for other devices it causing delay, on Pixel 3 XL it's fine.

David

> 
> Kind regards,
> // Casey(she/her)
> 
>>
>>
>> Thank you for the review,
>> David
>>
>>>
>>> Kind regards,// Casey (she/her)
>>
> 

-- 
David Heidelberg



More information about the U-Boot mailing list