[PATCH 1/3] arm: dts: k3-am642-evm-u-boot: Add remoteproc-name for PRU cores
Anwar, Md Danish
a0501179 at ti.com
Thu May 23 08:33:23 CEST 2024
Hi Andrew,
On 5/22/2024 9:38 PM, Andrew Davis wrote:
> On 5/22/24 1:36 AM, MD Danish Anwar wrote:
>> Add remoteproc-name property for PRU cores.
>>
>> Signed-off-by: MD Danish Anwar <danishanwar at ti.com>
>> ---
>> arch/arm/dts/k3-am642-evm-u-boot.dtsi | 44 +++++++++++++++++++++++++++
>> 1 file changed, 44 insertions(+)
>>
>> diff --git a/arch/arm/dts/k3-am642-evm-u-boot.dtsi
>> b/arch/arm/dts/k3-am642-evm-u-boot.dtsi
>> index 705b3baa81..25ddace74e 100644
>> --- a/arch/arm/dts/k3-am642-evm-u-boot.dtsi
>> +++ b/arch/arm/dts/k3-am642-evm-u-boot.dtsi
>> @@ -11,6 +11,50 @@
>> };
>> };
>> +&pru0_0 {
>> + remoteproc-name = "pru0_0";
>
> Why do we need all these? Looks like we fallback to using `dev->name` if
> these are not set, does that not work for us here?
>
Yes we will fallback to `dev->name` if `remoteproc-name` is not set but
in our case two different PRU cores will have same `dev->name`. As a
result the API rproc_name_is_unique() will return false and as a result
the probe will fail for the PRU cores.
Example: In k3-am64-main.dtsi, both pru0_0 [1] and pru1_0 [2] will have
dev->name as "pru at 34000" same goes for rtu and txpru as well.
pru0_0: pru at 34000 {
compatible = "ti,am642-pru";
reg = <0x34000 0x3000>,
<0x22000 0x100>,
<0x22400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am64x-pru0_0-fw";
};
pru1_0: pru at 34000 {
compatible = "ti,am642-pru";
reg = <0x34000 0x4000>,
<0x22000 0x100>,
<0x22400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am64x-pru1_0-fw";
};
To avoid this, we are setting the "remoteproc-name" property in
-u-boot.dtsi. Same is done for AM65x as well [3].
[1]
https://elixir.bootlin.com/u-boot/v2024.07-rc3/source/dts/upstream/src/arm64/ti/k3-am64-main.dtsi#L1276
[2]
https://elixir.bootlin.com/u-boot/v2024.07-rc3/source/dts/upstream/src/arm64/ti/k3-am64-main.dtsi#L1417
[3]
https://elixir.bootlin.com/u-boot/v2024.07-rc3/source/arch/arm/dts/k3-am654-base-board-u-boot.dtsi#L168
> Andrew
>
>> +};
>> +
>> +&rtu0_0 {
>> + remoteproc-name = "rtu0_0";
>> +};
>> +
>> +&tx_pru0_0 {
>> + remoteproc-name = "tx_pru0_0";
>> +};
>> +
>> +&pru0_1 {
>> + remoteproc-name = "pru0_1";
>> +};
>> +
>> +&rtu0_1 {
>> + remoteproc-name = "rtu0_1";
>> +};
>> +
>> +&tx_pru0_1 {
>> + remoteproc-name = "tx_pru0_1";
>> +};
>> +
>> +&pru1_0 {
>> + remoteproc-name = "pru1_0";
>> +};
>> +
>> +&rtu1_0 {
>> + remoteproc-name = "rtu1_0";
>> +};
>> +
>> +&tx_pru1_0 {
>> + remoteproc-name = "tx_pru1_0";
>> +};
>> +
>> +&pru1_1 {
>> + remoteproc-name = "pru1_1";
>> +};
>> +
>> +&rtu1_1 {
>> + remoteproc-name = "rtu1_1";
>> +};
>> +
>> &main_timer0 {
>> clock-frequency = <200000000>;
>> };
--
Thanks and Regards,
Md Danish Anwar
More information about the U-Boot
mailing list