mbox series

[v3,0/5] Add SIMATIC IOT2050 board support

Message ID cover.1623440557.git.jan.kiszka@siemens.com
Headers show
Series Add SIMATIC IOT2050 board support | expand

Message

Jan Kiszka June 11, 2021, 7:42 p.m. UTC
This is the baseline support for the SIMATIC IOT2050 devices.

Changes in v3:
 - rebased
 - addressed several checkpatch warnings
    - a few #ifdef -> IS_ENABLED conversions
    - comment marker for SPDK identifier in .S file
    - trailing whitespaces
 - factored out rti_wdt_load_fw (less #ifdef)

Changes in v2:
 - rebased
 - sync with upstream-accepted DT
 - add boot switch
 - include watchdog support

Allows to boot mainline 5.10 kernels, but not the original BSP-derived
kernel we currently ship as reference. This is due to the TI sysfw ABI
breakages between 2.x and 3.x. We will soon provide a transitional
kernel that allows booting both firmware ABIs - as long as full upstream
kernel support is work in progress.

Note that this baseline support lacks Ethernet drivers. We are working
closely with TI to ensure that the to-be-upstreamed icssg-prueth driver
will work both with new SR2.0 AM65x silicon as well as with SR1.0 which
is used in the currently shipped IOT2050 devices.

A staging tree for complete IOT2050 support can be found at [1]. Full
image integration is available via [2].

Jan

[1] https://github.com/siemens/u-boot/commits/jan/iot2050
[2] https://github.com/siemens/meta-iot2050

Jan Kiszka (5):
  arm: dts: Add IOT2050 device tree files
  board: siemens: Add support for SIMATIC IOT2050 devices
  arm64: dts: ti: k3-am65-mcu: Add RTI watchdog entry
  watchdog: rti_wdt: Add support for loading firmware
  configs: iot2050: Enable watchdog support, but do not auto-start it

 arch/arm/dts/Makefile                         |   7 +-
 arch/arm/dts/k3-am65-iot2050-boot-image.dtsi  | 105 +++
 .../dts/k3-am65-iot2050-common-u-boot.dtsi    | 103 +++
 arch/arm/dts/k3-am65-iot2050-common.dtsi      | 655 ++++++++++++++++++
 arch/arm/dts/k3-am65-iot2050-spl.dts          |  16 +
 arch/arm/dts/k3-am65-mcu.dtsi                 |   9 +
 arch/arm/dts/k3-am6528-iot2050-basic.dts      |  67 ++
 arch/arm/dts/k3-am6548-iot2050-advanced.dts   |  66 ++
 arch/arm/mach-k3/Kconfig                      |   1 +
 board/siemens/iot2050/Kconfig                 |  32 +
 board/siemens/iot2050/MAINTAINERS             |   8 +
 board/siemens/iot2050/Makefile                |  10 +
 board/siemens/iot2050/README                  |  65 ++
 board/siemens/iot2050/board.c                 | 278 ++++++++
 board/siemens/iot2050/config.mk               |   8 +
 configs/iot2050_defconfig                     | 146 ++++
 drivers/watchdog/Kconfig                      |  20 +
 drivers/watchdog/Makefile                     |   5 +
 drivers/watchdog/rti_wdt.c                    |  72 ++
 drivers/watchdog/rti_wdt_fw.S                 |  20 +
 include/configs/iot2050.h                     |  60 ++
 21 files changed, 1752 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
 create mode 100644 arch/arm/dts/k3-am65-iot2050-common-u-boot.dtsi
 create mode 100644 arch/arm/dts/k3-am65-iot2050-common.dtsi
 create mode 100644 arch/arm/dts/k3-am65-iot2050-spl.dts
 create mode 100644 arch/arm/dts/k3-am6528-iot2050-basic.dts
 create mode 100644 arch/arm/dts/k3-am6548-iot2050-advanced.dts
 create mode 100644 board/siemens/iot2050/Kconfig
 create mode 100644 board/siemens/iot2050/MAINTAINERS
 create mode 100644 board/siemens/iot2050/Makefile
 create mode 100644 board/siemens/iot2050/README
 create mode 100644 board/siemens/iot2050/board.c
 create mode 100644 board/siemens/iot2050/config.mk
 create mode 100644 configs/iot2050_defconfig
 create mode 100644 drivers/watchdog/rti_wdt_fw.S
 create mode 100644 include/configs/iot2050.h

Comments

Lokesh Vutla July 14, 2021, 9:29 a.m. UTC | #1
Hi Jan,

On 12/06/21 1:12 am, Jan Kiszka wrote:
> This is the baseline support for the SIMATIC IOT2050 devices.
> 
> Changes in v3:
>  - rebased
>  - addressed several checkpatch warnings
>     - a few #ifdef -> IS_ENABLED conversions
>     - comment marker for SPDK identifier in .S file
>     - trailing whitespaces
>  - factored out rti_wdt_load_fw (less #ifdef)

I see that there is no conclusion yet for the Watchdog firmware support. But
that can be split out from this series IMO. Can you repost with basic support so
that I can merge the series. Watchdog support can be dealt separately.

Thanks and regards,
Lokesh

> 
> Changes in v2:
>  - rebased
>  - sync with upstream-accepted DT
>  - add boot switch
>  - include watchdog support
> 
> Allows to boot mainline 5.10 kernels, but not the original BSP-derived
> kernel we currently ship as reference. This is due to the TI sysfw ABI
> breakages between 2.x and 3.x. We will soon provide a transitional
> kernel that allows booting both firmware ABIs - as long as full upstream
> kernel support is work in progress.
> 
> Note that this baseline support lacks Ethernet drivers. We are working
> closely with TI to ensure that the to-be-upstreamed icssg-prueth driver
> will work both with new SR2.0 AM65x silicon as well as with SR1.0 which
> is used in the currently shipped IOT2050 devices.
> 
> A staging tree for complete IOT2050 support can be found at [1]. Full
> image integration is available via [2].
> 
> Jan
> 
> [1] https://github.com/siemens/u-boot/commits/jan/iot2050
> [2] https://github.com/siemens/meta-iot2050
> 
> Jan Kiszka (5):
>   arm: dts: Add IOT2050 device tree files
>   board: siemens: Add support for SIMATIC IOT2050 devices
>   arm64: dts: ti: k3-am65-mcu: Add RTI watchdog entry
>   watchdog: rti_wdt: Add support for loading firmware
>   configs: iot2050: Enable watchdog support, but do not auto-start it
> 
>  arch/arm/dts/Makefile                         |   7 +-
>  arch/arm/dts/k3-am65-iot2050-boot-image.dtsi  | 105 +++
>  .../dts/k3-am65-iot2050-common-u-boot.dtsi    | 103 +++
>  arch/arm/dts/k3-am65-iot2050-common.dtsi      | 655 ++++++++++++++++++
>  arch/arm/dts/k3-am65-iot2050-spl.dts          |  16 +
>  arch/arm/dts/k3-am65-mcu.dtsi                 |   9 +
>  arch/arm/dts/k3-am6528-iot2050-basic.dts      |  67 ++
>  arch/arm/dts/k3-am6548-iot2050-advanced.dts   |  66 ++
>  arch/arm/mach-k3/Kconfig                      |   1 +
>  board/siemens/iot2050/Kconfig                 |  32 +
>  board/siemens/iot2050/MAINTAINERS             |   8 +
>  board/siemens/iot2050/Makefile                |  10 +
>  board/siemens/iot2050/README                  |  65 ++
>  board/siemens/iot2050/board.c                 | 278 ++++++++
>  board/siemens/iot2050/config.mk               |   8 +
>  configs/iot2050_defconfig                     | 146 ++++
>  drivers/watchdog/Kconfig                      |  20 +
>  drivers/watchdog/Makefile                     |   5 +
>  drivers/watchdog/rti_wdt.c                    |  72 ++
>  drivers/watchdog/rti_wdt_fw.S                 |  20 +
>  include/configs/iot2050.h                     |  60 ++
>  21 files changed, 1752 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
>  create mode 100644 arch/arm/dts/k3-am65-iot2050-common-u-boot.dtsi
>  create mode 100644 arch/arm/dts/k3-am65-iot2050-common.dtsi
>  create mode 100644 arch/arm/dts/k3-am65-iot2050-spl.dts
>  create mode 100644 arch/arm/dts/k3-am6528-iot2050-basic.dts
>  create mode 100644 arch/arm/dts/k3-am6548-iot2050-advanced.dts
>  create mode 100644 board/siemens/iot2050/Kconfig
>  create mode 100644 board/siemens/iot2050/MAINTAINERS
>  create mode 100644 board/siemens/iot2050/Makefile
>  create mode 100644 board/siemens/iot2050/README
>  create mode 100644 board/siemens/iot2050/board.c
>  create mode 100644 board/siemens/iot2050/config.mk
>  create mode 100644 configs/iot2050_defconfig
>  create mode 100644 drivers/watchdog/rti_wdt_fw.S
>  create mode 100644 include/configs/iot2050.h
>
Jan Kiszka July 14, 2021, 9:39 a.m. UTC | #2
On 14.07.21 11:29, Lokesh Vutla wrote:
> Hi Jan,
> 
> On 12/06/21 1:12 am, Jan Kiszka wrote:
>> This is the baseline support for the SIMATIC IOT2050 devices.
>>
>> Changes in v3:
>>  - rebased
>>  - addressed several checkpatch warnings
>>     - a few #ifdef -> IS_ENABLED conversions
>>     - comment marker for SPDK identifier in .S file
>>     - trailing whitespaces
>>  - factored out rti_wdt_load_fw (less #ifdef)
> 
> I see that there is no conclusion yet for the Watchdog firmware support. But
> that can be split out from this series IMO. Can you repost with basic support so
> that I can merge the series. Watchdog support can be dealt separately.

I will eventually look again into that loading topic, but I would also
consider that non-critical to merge it this way first and cleanup later
if it actually turns out to be solvable in an equivalent way (result is
part of u-boot proper image) via binman. Even the configuration
interface may stay the same.

If you still have concerns, skip patch 4 and 5 - though that would
affect an increasing demand of our users for this important feature.

Jan
Lokesh Vutla July 14, 2021, 11:33 a.m. UTC | #3
On 14/07/21 3:09 pm, Jan Kiszka wrote:
> On 14.07.21 11:29, Lokesh Vutla wrote:
>> Hi Jan,
>>
>> On 12/06/21 1:12 am, Jan Kiszka wrote:
>>> This is the baseline support for the SIMATIC IOT2050 devices.
>>>
>>> Changes in v3:
>>>  - rebased
>>>  - addressed several checkpatch warnings
>>>     - a few #ifdef -> IS_ENABLED conversions
>>>     - comment marker for SPDK identifier in .S file
>>>     - trailing whitespaces
>>>  - factored out rti_wdt_load_fw (less #ifdef)
>>
>> I see that there is no conclusion yet for the Watchdog firmware support. But
>> that can be split out from this series IMO. Can you repost with basic support so
>> that I can merge the series. Watchdog support can be dealt separately.
> 
> I will eventually look again into that loading topic, but I would also
> consider that non-critical to merge it this way first and cleanup later
> if it actually turns out to be solvable in an equivalent way (result is
> part of u-boot proper image) via binman. Even the configuration
> interface may stay the same.

I am fine if Tom or Simon agrees on this.

Thanks and regards,
Lokesh

> 
> If you still have concerns, skip patch 4 and 5 - though that would
> affect an increasing demand of our users for this important feature.
> 
> Jan
>
Lokesh Vutla July 15, 2021, 6:35 a.m. UTC | #4
Hi Jan,

On 14/07/21 3:09 pm, Jan Kiszka wrote:
> On 14.07.21 11:29, Lokesh Vutla wrote:
>> Hi Jan,
>>
>> On 12/06/21 1:12 am, Jan Kiszka wrote:
>>> This is the baseline support for the SIMATIC IOT2050 devices.
>>>
>>> Changes in v3:
>>>  - rebased
>>>  - addressed several checkpatch warnings
>>>     - a few #ifdef -> IS_ENABLED conversions
>>>     - comment marker for SPDK identifier in .S file
>>>     - trailing whitespaces
>>>  - factored out rti_wdt_load_fw (less #ifdef)
>>
>> I see that there is no conclusion yet for the Watchdog firmware support. But
>> that can be split out from this series IMO. Can you repost with basic support so
>> that I can merge the series. Watchdog support can be dealt separately.
> 
> I will eventually look again into that loading topic, but I would also
> consider that non-critical to merge it this way first and cleanup later
> if it actually turns out to be solvable in an equivalent way (result is
> part of u-boot proper image) via binman. Even the configuration
> interface may stay the same.
> 
> If you still have concerns, skip patch 4 and 5 - though that would
> affect an increasing demand of our users for this important feature.

First 3 patches of the series throws a build error for me:
https://source.denx.de/u-boot/custodians/u-boot-ti/-/jobs/292183

Can you take a look?

Thanks and regards,
Lokesh

> 
> Jan
>
Jan Kiszka July 20, 2021, 7:24 a.m. UTC | #5
On 15.07.21 08:35, Lokesh Vutla wrote:
> Hi Jan,
> 
> On 14/07/21 3:09 pm, Jan Kiszka wrote:
>> On 14.07.21 11:29, Lokesh Vutla wrote:
>>> Hi Jan,
>>>
>>> On 12/06/21 1:12 am, Jan Kiszka wrote:
>>>> This is the baseline support for the SIMATIC IOT2050 devices.
>>>>
>>>> Changes in v3:
>>>>  - rebased
>>>>  - addressed several checkpatch warnings
>>>>     - a few #ifdef -> IS_ENABLED conversions
>>>>     - comment marker for SPDK identifier in .S file
>>>>     - trailing whitespaces
>>>>  - factored out rti_wdt_load_fw (less #ifdef)
>>>
>>> I see that there is no conclusion yet for the Watchdog firmware support. But
>>> that can be split out from this series IMO. Can you repost with basic support so
>>> that I can merge the series. Watchdog support can be dealt separately.
>>
>> I will eventually look again into that loading topic, but I would also
>> consider that non-critical to merge it this way first and cleanup later
>> if it actually turns out to be solvable in an equivalent way (result is
>> part of u-boot proper image) via binman. Even the configuration
>> interface may stay the same.
>>
>> If you still have concerns, skip patch 4 and 5 - though that would
>> affect an increasing demand of our users for this important feature.
> 
> First 3 patches of the series throws a build error for me:
> https://source.denx.de/u-boot/custodians/u-boot-ti/-/jobs/292183
> 
> Can you take a look?
> 

Thanks, found and fixed - but now I'm facing a boot regression over
current master. Will have to bisect this, if this is related to some
config switch we are missing now or rather a real issue in the current tree.

Jan