mbox series

[v5,0/5] Introduce J742S2 SoC and EVM

Message ID 20240828-b4-upstream-j742s2-v5-0-9aaa02a0faee@ti.com (mailing list archive)
Headers show
Series Introduce J742S2 SoC and EVM | expand

Message

Manorit Chawdhry Aug. 28, 2024, 11:14 a.m. UTC
The series adds support for J742S2 family of SoCs. Also adds J742S2 EVM
Support and re-uses most of the stuff from the superset device J784s4.

It initially cleans up the J784s4 SoC files so that they can be
re-usable for j742s2 by introducing -common files. Next it cleans up the
EVM files for j784s4 in a similar way and then goes about adding the
support for j742s2.

Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
---
Changes in v5:
- Rebased on upstream-next
- Align j742s2 and j784s4 comments (Siddharth)
- Link to v4: https://lore.kernel.org/r/20240819-b4-upstream-j742s2-v4-0-f2284f6f771d@ti.com

---
Manorit Chawdhry (5):
      arm64: dts: ti: Refactor J784s4 SoC files to a common file
      arm64: dts: ti: Refactor J784s4-evm to a common file
      dt-bindings: arm: ti: Add bindings for J742S2 SoCs and Boards
      arm64: dts: ti: Introduce J742S2 SoC family
      arm64: dts: ti: Add support for J742S2 EVM board

 Documentation/devicetree/bindings/arm/ti/k3.yaml   |    6 +
 arch/arm64/boot/dts/ti/Makefile                    |    4 +
 arch/arm64/boot/dts/ti/k3-j742s2-evm.dts           |   26 +
 arch/arm64/boot/dts/ti/k3-j742s2-main.dtsi         |   45 +
 arch/arm64/boot/dts/ti/k3-j742s2.dtsi              |   98 +
 arch/arm64/boot/dts/ti/k3-j784s4-evm.dts           | 1427 +---------
 .../arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi |  150 ++
 .../boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi   | 1437 ++++++++++
 .../boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi  | 2667 ++++++++++++++++++
 ...tsi => k3-j784s4-j742s2-mcu-wakeup-common.dtsi} |    2 +-
 ...l.dtsi => k3-j784s4-j742s2-thermal-common.dtsi} |    0
 arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi         | 2847 +-------------------
 arch/arm64/boot/dts/ti/k3-j784s4.dtsi              |  135 +-
 13 files changed, 4533 insertions(+), 4311 deletions(-)
---
base-commit: 195a402a75791e6e0d96d9da27ca77671bc656a8
change-id: 20240620-b4-upstream-j742s2-7ba652091550

Best regards,

Comments

Kumar, Udit Aug. 30, 2024, 1:30 p.m. UTC | #1
Hi Manorit

Overall series looks ok but few comments below

On 8/28/2024 4:44 PM, Manorit Chawdhry wrote:
> Refactor J784s4 SoC files to a common file which uses the
> superset device to allow reuse in j742s2-evm which uses the subset part.
>
> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
> Reviewed-by: Beleswar Padhi <b-padhi@ti.com>
> ---
>   .../arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi |  150 ++
>   .../boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi  | 2667 ++++++++++++++++++
>   ...tsi => k3-j784s4-j742s2-mcu-wakeup-common.dtsi} |    2 +-
>   ...l.dtsi => k3-j784s4-j742s2-thermal-common.dtsi} |    0
>   arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi         | 2847 +-------------------
>   arch/arm64/boot/dts/ti/k3-j784s4.dtsi              |  135 +-
>   6 files changed, 2914 insertions(+), 2887 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi
> new file mode 100644
> index 000000000000..43fee57f0926
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi
> @@ -0,0 +1,150 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +/*
> + * Device Tree Source for J784S4 and J742S2 SoC Family
> + *
> + * TRM (j784s4) (SPRUJ43 JULY 2022): https://www.ti.com/lit/zip/spruj52
> + * TRM (j742s2): https://www.ti.com/lit/pdf/spruje3
> + *
> [..]		 <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */
> +			 <0x00 0x04210000 0x00 0x04210000 0x00 0x00010000>, /* VPU0 */
> +			 <0x00 0x04220000 0x00 0x04220000 0x00 0x00010000>, /* VPU1 */
> +			 <0x00 0x0d000000 0x00 0x0d000000 0x00 0x00800000>, /* PCIe0 Core*/
> +			 <0x00 0x0d800000 0x00 0x0d800000 0x00 0x00800000>, /* PCIe1 Core*/
> +			 <0x00 0x0e000000 0x00 0x0e000000 0x00 0x00800000>, /* PCIe2 Core*/
> +			 <0x00 0x0e800000 0x00 0x0e800000 0x00 0x00800000>, /* PCIe3 Core*/


PCie2 and PCIe3 ranges are not common across these devices,

Do you want to move this into J784s4 specific file

Same comment for PCIe region DAT below

> [..]

> 			 <0x42 0x00000000 0x42 0x00000000 0x01 0x00000000>, /* PCIe2 DAT1 */
> +			 <0x43 0x00000000 0x43 0x00000000 0x01 0x00000000>, /* PCIe3 DAT1 */

[..]

+#include "k3-j784s4-j742s2-main-common.dtsi"
> +#include "k3-j784s4-j742s2-mcu-wakeup-common.dtsi"
> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
> [...]
> +
> +&cbass_main {
> +	msmc_ram: sram@70000000 {
> +		compatible = "mmio-sram";
> +		reg = <0x00 0x70000000 0x00 0x800000>;

Table 2-1 of J742S2 TRM says msmc RAM is 4MB and on J784S4 this is 8MB

Please see, if you can address that


> [...]
>
Manorit Chawdhry Sept. 2, 2024, 8:11 a.m. UTC | #2
Hi Udit,

On 19:00-20240830, Kumar, Udit wrote:
> Hi Manorit
> 
> Overall series looks ok but few comments below
> 
> On 8/28/2024 4:44 PM, Manorit Chawdhry wrote:
> > Refactor J784s4 SoC files to a common file which uses the
> > superset device to allow reuse in j742s2-evm which uses the subset part.
> > 
> > Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
> > Reviewed-by: Beleswar Padhi <b-padhi@ti.com>
> > ---
> >   .../arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi |  150 ++
> >   .../boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi  | 2667 ++++++++++++++++++
> >   ...tsi => k3-j784s4-j742s2-mcu-wakeup-common.dtsi} |    2 +-
> >   ...l.dtsi => k3-j784s4-j742s2-thermal-common.dtsi} |    0
> >   arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi         | 2847 +-------------------
> >   arch/arm64/boot/dts/ti/k3-j784s4.dtsi              |  135 +-
> >   6 files changed, 2914 insertions(+), 2887 deletions(-)
> > 
> > diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi
> > new file mode 100644
> > index 000000000000..43fee57f0926
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi
> > @@ -0,0 +1,150 @@
> > +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> > +/*
> > + * Device Tree Source for J784S4 and J742S2 SoC Family
> > + *
> > + * TRM (j784s4) (SPRUJ43 JULY 2022): https://www.ti.com/lit/zip/spruj52
> > + * TRM (j742s2): https://www.ti.com/lit/pdf/spruje3
> > + *
> > [..]		 <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */
> > +			 <0x00 0x04210000 0x00 0x04210000 0x00 0x00010000>, /* VPU0 */
> > +			 <0x00 0x04220000 0x00 0x04220000 0x00 0x00010000>, /* VPU1 */
> > +			 <0x00 0x0d000000 0x00 0x0d000000 0x00 0x00800000>, /* PCIe0 Core*/
> > +			 <0x00 0x0d800000 0x00 0x0d800000 0x00 0x00800000>, /* PCIe1 Core*/
> > +			 <0x00 0x0e000000 0x00 0x0e000000 0x00 0x00800000>, /* PCIe2 Core*/
> > +			 <0x00 0x0e800000 0x00 0x0e800000 0x00 0x00800000>, /* PCIe3 Core*/
> 
> 
> PCie2 and PCIe3 ranges are not common across these devices,
> 
> Do you want to move this into J784s4 specific file
> 
> Same comment for PCIe region DAT below

This was already discussed in the previous revision and my stance is not
to change it due to maintainance reasons [0].

> 
> > [..]
> 
> > 			 <0x42 0x00000000 0x42 0x00000000 0x01 0x00000000>, /* PCIe2 DAT1 */
> > +			 <0x43 0x00000000 0x43 0x00000000 0x01 0x00000000>, /* PCIe3 DAT1 */
> 
> [..]
> 
> +#include "k3-j784s4-j742s2-main-common.dtsi"
> > +#include "k3-j784s4-j742s2-mcu-wakeup-common.dtsi"
> > diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
> > [...]
> > +
> > +&cbass_main {
> > +	msmc_ram: sram@70000000 {
> > +		compatible = "mmio-sram";
> > +		reg = <0x00 0x70000000 0x00 0x800000>;
> 
> Table 2-1 of J742S2 TRM says msmc RAM is 4MB and on J784S4 this is 8MB
> 
> Please see, if you can address that
> 

I think this was thought through before. So from my understanding, this
memory map is just a dummy node that the bootloaders is supposed to be
fixing up based on it's usecase [1]. Though ig it's not very intuitive
looking at the DT, let me add a comment in the corresponding node to
clarify this.

"MSMC is configured by bootloaders and a runtime fixup is done in the DT
for this node"

Would you be okay with the following comment in the DT node for MSMC but
keeping the following node in common file only?

Regards,
Manorit

[0]: https://lore.kernel.org/linux-arm-kernel/20240827082445.bfx2r7z4iry4fdax@uda0497581/
[1]: https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html?highlight=query#tisci-msg-query-msmc
> 
> > [...]
> >
Kumar, Udit Sept. 2, 2024, 8:29 a.m. UTC | #3
On 9/2/2024 1:41 PM, Manorit Chawdhry wrote:
> Hi Udit,
>
> On 19:00-20240830, Kumar, Udit wrote:
>> Hi Manorit
>>
>> Overall series looks ok but few comments below
>>
>> On 8/28/2024 4:44 PM, Manorit Chawdhry wrote:
>>> Refactor J784s4 SoC files to a common file which uses the
>>> superset device to allow reuse in j742s2-evm which uses the subset part.
>>>
>>> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
>>> Reviewed-by: Beleswar Padhi <b-padhi@ti.com>
>>> ---
>>>    .../arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi |  150 ++
>>>    .../boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi  | 2667 ++++++++++++++++++
>>>    ...tsi => k3-j784s4-j742s2-mcu-wakeup-common.dtsi} |    2 +-
>>>    ...l.dtsi => k3-j784s4-j742s2-thermal-common.dtsi} |    0
>>>    arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi         | 2847 +-------------------
>>>    arch/arm64/boot/dts/ti/k3-j784s4.dtsi              |  135 +-
>>>    6 files changed, 2914 insertions(+), 2887 deletions(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi
>>> new file mode 100644
>>> index 000000000000..43fee57f0926
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-common.dtsi
>>> @@ -0,0 +1,150 @@
>>> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
>>> +/*
>>> + * Device Tree Source for J784S4 and J742S2 SoC Family
>>> + *
>>> + * TRM (j784s4) (SPRUJ43 JULY 2022): https://www.ti.com/lit/zip/spruj52
>>> + * TRM (j742s2): https://www.ti.com/lit/pdf/spruje3
>>> + *
>>> [..]		 <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */
>>> +			 <0x00 0x04210000 0x00 0x04210000 0x00 0x00010000>, /* VPU0 */
>>> +			 <0x00 0x04220000 0x00 0x04220000 0x00 0x00010000>, /* VPU1 */
>>> +			 <0x00 0x0d000000 0x00 0x0d000000 0x00 0x00800000>, /* PCIe0 Core*/
>>> +			 <0x00 0x0d800000 0x00 0x0d800000 0x00 0x00800000>, /* PCIe1 Core*/
>>> +			 <0x00 0x0e000000 0x00 0x0e000000 0x00 0x00800000>, /* PCIe2 Core*/
>>> +			 <0x00 0x0e800000 0x00 0x0e800000 0x00 0x00800000>, /* PCIe3 Core*/
>>
>> PCie2 and PCIe3 ranges are not common across these devices,
>>
>> Do you want to move this into J784s4 specific file
>>
>> Same comment for PCIe region DAT below
> This was already discussed in the previous revision and my stance is not
> to change it due to maintainance reasons [0].


Thanks for reference,

>
>>> [..]
>>> 			 <0x42 0x00000000 0x42 0x00000000 0x01 0x00000000>, /* PCIe2 DAT1 */
>>> +			 <0x43 0x00000000 0x43 0x00000000 0x01 0x00000000>, /* PCIe3 DAT1 */
>> [..]
>>
>> +#include "k3-j784s4-j742s2-main-common.dtsi"
>>> +#include "k3-j784s4-j742s2-mcu-wakeup-common.dtsi"
>>> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
>>> [...]
>>> +
>>> +&cbass_main {
>>> +	msmc_ram: sram@70000000 {
>>> +		compatible = "mmio-sram";
>>> +		reg = <0x00 0x70000000 0x00 0x800000>;
>> Table 2-1 of J742S2 TRM says msmc RAM is 4MB and on J784S4 this is 8MB
>>
>> Please see, if you can address that
>>
> I think this was thought through before. So from my understanding, this
> memory map is just a dummy node that the bootloaders is supposed to be
> fixing up based on it's usecase [1]. Though ig it's not very intuitive
> looking at the DT, let me add a comment in the corresponding node to
> clarify this.
>
> "MSMC is configured by bootloaders and a runtime fixup is done in the DT
> for this node"
>
> Would you be okay with the following comment in the DT node for MSMC but
> keeping the following node in common file only?


Yes please comments , it will help.


> Regards,
> Manorit
>
> [0]: https://lore.kernel.org/linux-arm-kernel/20240827082445.bfx2r7z4iry4fdax@uda0497581/
> [1]: https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html?highlight=query#tisci-msg-query-msmc
>>> [...]
>>>