[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