[PATCH 4/8] sunxi: board: Add PinePhone DT selection logic
Samuel Holland
samuel at sholland.org
Thu Oct 22 03:38:21 CEST 2020
On 10/21/20 1:56 PM, Jagan Teki wrote:
> On Thu, Sep 3, 2020 at 10:37 AM Samuel Holland <samuel at sholland.org> wrote:
>>
>> There are two different publicly-released revisions of the PinePhone
>> hardware, versions 1.1 and 1.2; and they need different device trees.
>> Since some GPIO pins were rerouted, we can use that to distinguish
>> between them.
>>
>> Signed-off-by: Samuel Holland <samuel at sholland.org>
>> ---
>> arch/arm/mach-sunxi/Kconfig | 7 +++++++
>> board/sunxi/board.c | 21 +++++++++++++++++++++
>> 2 files changed, 28 insertions(+)
>>
>> diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
>> index be0822bfb7d..8421f3b6854 100644
>> --- a/arch/arm/mach-sunxi/Kconfig
>> +++ b/arch/arm/mach-sunxi/Kconfig
>> @@ -1010,4 +1010,11 @@ config PINE64_DT_SELECTION
>> option, the device tree selection code specific to Pine64 which
>> utilizes the DRAM size will be enabled.
>>
>> +config PINEPHONE_DT_SELECTION
>> + bool "Enable PinePhone device tree selection code"
>> + depends on MACH_SUN50I
>> + help
>> + Enable this option to automatically select the device tree for the
>> + correct PinePhone hardware revision during boot.
>> +
>> endif
>> diff --git a/board/sunxi/board.c b/board/sunxi/board.c
>> index fb0d5bf4743..3d64ed18664 100644
>> --- a/board/sunxi/board.c
>> +++ b/board/sunxi/board.c
>> @@ -27,6 +27,7 @@
>> #include <asm/arch/dram.h>
>> #include <asm/arch/gpio.h>
>> #include <asm/arch/mmc.h>
>> +#include <asm/arch/prcm.h>
>> #include <asm/arch/spl.h>
>> #include <linux/delay.h>
>> #include <u-boot/crc.h>
>> @@ -920,6 +921,26 @@ int board_fit_config_name_match(const char *name)
>> best_dt_name = "sun50i-a64-pine64";
>> }
>> #endif
>> +#ifdef CONFIG_PINEPHONE_DT_SELECTION
>
> Look like these board detection CONFIG items are keep on increasing.
> Better to have something like CONFIG_SUNXI_DT_SELECTION for all dt
> selection code.
Are you sure? This is in SPL, where we are always running out of space. And a
single SPL binary cannot work on both Pine A64 and PinePhone anyway, since they
have different DRAM types. I think the space savings is worth the cost of the
extra config symbol (especially if more boards need special handling in the future).
Cheers,
Samuel
More information about the U-Boot
mailing list