[U-Boot] [PATCH v6 00/15] Add PSCI support for Jetson TK1/Tegra124 + CNTFRQ fix

Stephen Warren swarren at wwwdotorg.org
Tue Apr 14 16:50:15 CEST 2015


On 04/14/2015 08:45 AM, Jan Kiszka wrote:
> On 2015-04-14 16:40, Ian Campbell wrote:
>> On Tue, 2015-04-14 at 16:33 +0200, Jan Kiszka wrote:
>>> On 2015-04-14 16:30, Ian Campbell wrote:
>>>> On Tue, 2015-04-14 at 16:12 +0200, Jan Kiszka wrote:
>>>>> On 2015-04-14 16:06, Stephen Warren wrote:
>>>>>> On 04/14/2015 07:46 AM, Tom Rini wrote:
>>>>>>> On Mon, Apr 13, 2015 at 06:48:05AM +0200, Jan Kiszka wrote:
>>>>>>>
>>>>>>>> Changes in v6:
>>>>>>>>    - rebased over master
>>>>>>>>    - included Thierry's SMMU enabling patch
>>>>>>>>    - moved activation patch at the end so that it can be held back
>>>>>>>>
>>>>>>>> This version can also be found at
>>>>>>>> https://github.com/siemens/u-boot/tree/jetson-tk1-v6.
>>>>>>>
>>>>>>> So what level of coordination do we need on applying this series so that
>>>>>>> kernels (both old and new) can continue to function?  And perhaps README
>>>>>>> updates or similar?  Thanks!
>>>>>>
>>>>>> Hopefully this series doesn't change anything by default, and simply
>>>>>> allows people to turn on support for booting kernels in non-secure mode
>>>>>> if they want to? If so, there shouldn't be any co-ordination required.
>>>>>> If it changes the default behaviour, co-ordination is probably required,
>>>>>> and that'd be a bad thing.
>>>>>
>>>>> Sorry, forgot to mention: I can't flip the default behaviour to leave
>>>>> virtualization support off only for the TK1. That's a generic default.
>>>>
>>>> Would enabling it in the compile but adding "bootm_boot_mode=sec" to the
>>>> default environment (so it isn't used by default) be considered
>>>> sufficiently backwards compatible?
>>>
>>> Can this be done selectively for the TK1 only?
>>
>> Well, you might need to add the mechanism for inserting it into the
>> default bootenv, but I don't think that should be too hard at either the
>> tegra or more generic levels.
>
> Maybe this already works:
>
> diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h
> index c3ad8be..c1f6c24 100644
> --- a/include/configs/tegra-common-post.h
> +++ b/include/configs/tegra-common-post.h
> @@ -56,6 +56,7 @@
>   	"fdt_high=ffffffff\0" \
>   	"initrd_high=ffffffff\0" \
>   	BOOTENV \
> +	"bootm_boot_mode=sec\0" \
>   	BOARD_EXTRA_ENV_SETTINGS
>
>   #if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI)

That will add the variable for all boards, even when the feature isn't 
enabled.

You should either:

* Modify jetson-tk1.h to add that value to BOARD_EXTRA_ENV_SETTINGS.

* Better: Modify tegra-common-post.h to do something like:

#ifdef whatever_enables_the_psci_feature_etc
#define PSCI_EXTRA_ENV_SETTINGS "bootm_boot_mode=sec\0
#else
#define PSCI_EXTRA_ENV_SETTINGS
#endif

... and add PSCI_EXTRA_ENV_SETTINGS into the value of 
CONFIG_EXTRA_ENV_SETTINGS.


More information about the U-Boot mailing list