mbox series

[0/2] Add SIMATIC IOT2050 board support

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

Message

Jan Kiszka Dec. 4, 2020, 7:59 a.m. UTC
This is the baseline support for the SIMATIC IOT2050 devices.

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.

Related but not strictly needed for baseline support is [1], i.e.
embedding of the watchdog firmware that is required on the AM65x. I will
soon pick up that discussion again.

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

Jan

[1] https://patchwork.ozlabs.org/project/uboot/patch/a42ab2dde9a588a8efc186474becd837f2e470c5.1592910910.git.jan.kiszka@siemens.com/
[2] https://github.com/siemens/u-boot/commits/jan/iot2050
[3] https://github.com/siemens/meta-iot2050

Jan Kiszka (2):
  arm: dts: Add IOT2050 device tree files
  board: siemens: Add support for SIMATIC IOT2050 devices

 arch/arm/dts/Makefile                |   7 +-
 arch/arm/dts/iot2050-advanced.dts    |  62 +++++
 arch/arm/dts/iot2050-basic.dts       |  61 +++++
 arch/arm/dts/iot2050-boot-image.dtsi | 105 +++++++++
 arch/arm/dts/iot2050-common.dtsi     | 341 +++++++++++++++++++++++++++
 arch/arm/dts/iot2050-spl.dts         |  16 ++
 arch/arm/mach-k3/Kconfig             |   1 +
 board/siemens/iot2050/Kconfig        |  28 +++
 board/siemens/iot2050/MAINTAINERS    |   8 +
 board/siemens/iot2050/Makefile       |  10 +
 board/siemens/iot2050/README         |  65 +++++
 board/siemens/iot2050/board.c        | 229 ++++++++++++++++++
 board/siemens/iot2050/config.mk      |   8 +
 configs/iot2050_defconfig            | 136 +++++++++++
 include/configs/iot2050.h            |  60 +++++
 15 files changed, 1136 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/iot2050-advanced.dts
 create mode 100644 arch/arm/dts/iot2050-basic.dts
 create mode 100644 arch/arm/dts/iot2050-boot-image.dtsi
 create mode 100644 arch/arm/dts/iot2050-common.dtsi
 create mode 100644 arch/arm/dts/iot2050-spl.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 include/configs/iot2050.h

Comments

Lokesh Vutla Dec. 18, 2020, 4:46 a.m. UTC | #1
Hi Jan,
	Sorry for the delayed response.

On 04/12/20 1:29 pm, Jan Kiszka wrote:
> This is the baseline support for the SIMATIC IOT2050 devices.
> 
> 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.
> 
> Related but not strictly needed for baseline support is [1], i.e.
> embedding of the watchdog firmware that is required on the AM65x. I will
> soon pick up that discussion again.

yeah, long pending one.

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

patches look good to me. Any chance these dts changes are reviewed in upstream
Linux?

Thanks and regards,
Lokesh

> 
> Jan
> 
> [1] https://patchwork.ozlabs.org/project/uboot/patch/a42ab2dde9a588a8efc186474becd837f2e470c5.1592910910.git.jan.kiszka@siemens.com/
> [2] https://github.com/siemens/u-boot/commits/jan/iot2050
> [3] https://github.com/siemens/meta-iot2050
> 
> Jan Kiszka (2):
>   arm: dts: Add IOT2050 device tree files
>   board: siemens: Add support for SIMATIC IOT2050 devices
> 
>  arch/arm/dts/Makefile                |   7 +-
>  arch/arm/dts/iot2050-advanced.dts    |  62 +++++
>  arch/arm/dts/iot2050-basic.dts       |  61 +++++
>  arch/arm/dts/iot2050-boot-image.dtsi | 105 +++++++++
>  arch/arm/dts/iot2050-common.dtsi     | 341 +++++++++++++++++++++++++++
>  arch/arm/dts/iot2050-spl.dts         |  16 ++
>  arch/arm/mach-k3/Kconfig             |   1 +
>  board/siemens/iot2050/Kconfig        |  28 +++
>  board/siemens/iot2050/MAINTAINERS    |   8 +
>  board/siemens/iot2050/Makefile       |  10 +
>  board/siemens/iot2050/README         |  65 +++++
>  board/siemens/iot2050/board.c        | 229 ++++++++++++++++++
>  board/siemens/iot2050/config.mk      |   8 +
>  configs/iot2050_defconfig            | 136 +++++++++++
>  include/configs/iot2050.h            |  60 +++++
>  15 files changed, 1136 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/dts/iot2050-advanced.dts
>  create mode 100644 arch/arm/dts/iot2050-basic.dts
>  create mode 100644 arch/arm/dts/iot2050-boot-image.dtsi
>  create mode 100644 arch/arm/dts/iot2050-common.dtsi
>  create mode 100644 arch/arm/dts/iot2050-spl.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 include/configs/iot2050.h
>
Jan Kiszka Dec. 18, 2020, 6:04 a.m. UTC | #2
On 18.12.20 05:46, Lokesh Vutla wrote:
> Hi Jan,
> 	Sorry for the delayed response.
> 
> On 04/12/20 1:29 pm, Jan Kiszka wrote:
>> This is the baseline support for the SIMATIC IOT2050 devices.
>>
>> 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.
>>
>> Related but not strictly needed for baseline support is [1], i.e.
>> embedding of the watchdog firmware that is required on the AM65x. I will
>> soon pick up that discussion again.
> 
> yeah, long pending one.
> 
>>
>> A staging tree for complete IOT2050 support can be found at [2]. Full
>> image integration is available via [3].
> 
> patches look good to me. Any chance these dts changes are reviewed in upstream
> Linux?

I didn't want to push them there first before publishing a firmware that
allows to boot them - chicken-egg situation. I thought this way would be
better and would also be no issue as we we are only using existing
bindings. Obviously, any future changes to the kernel version would also
be sync'ed back to U-Boot by us.

Jan
Jan Kiszka Dec. 18, 2020, 6:13 a.m. UTC | #3
On 18.12.20 07:04, Jan Kiszka wrote:
> On 18.12.20 05:46, Lokesh Vutla wrote:
>> Hi Jan,
>> 	Sorry for the delayed response.
>>
>> On 04/12/20 1:29 pm, Jan Kiszka wrote:
>>> This is the baseline support for the SIMATIC IOT2050 devices.
>>>
>>> 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.
>>>
>>> Related but not strictly needed for baseline support is [1], i.e.
>>> embedding of the watchdog firmware that is required on the AM65x. I will
>>> soon pick up that discussion again.
>>
>> yeah, long pending one.
>>
>>>
>>> A staging tree for complete IOT2050 support can be found at [2]. Full
>>> image integration is available via [3].
>>
>> patches look good to me. Any chance these dts changes are reviewed in upstream
>> Linux?
> 
> I didn't want to push them there first before publishing a firmware that
> allows to boot them - chicken-egg situation. I thought this way would be
> better and would also be no issue as we we are only using existing
> bindings. Obviously, any future changes to the kernel version would also
> be sync'ed back to U-Boot by us.

But good that you mentioned it: I just realized that the path we are
using ("siemens/iot2050-{basic,advanced}.dtb") is probably not
upstreamable. This may have to become
"ti/k3-am65-iot2050-{basic,advanced}.dtb", and that is also an interface
between kernel and U-Boot...

Jan
Lokesh Vutla Dec. 23, 2020, 8:18 a.m. UTC | #4
On 18/12/20 11:43 am, Jan Kiszka wrote:
> On 18.12.20 07:04, Jan Kiszka wrote:
>> On 18.12.20 05:46, Lokesh Vutla wrote:
>>> Hi Jan,
>>> 	Sorry for the delayed response.
>>>
>>> On 04/12/20 1:29 pm, Jan Kiszka wrote:
>>>> This is the baseline support for the SIMATIC IOT2050 devices.
>>>>
>>>> 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.
>>>>
>>>> Related but not strictly needed for baseline support is [1], i.e.
>>>> embedding of the watchdog firmware that is required on the AM65x. I will
>>>> soon pick up that discussion again.
>>>
>>> yeah, long pending one.
>>>
>>>>
>>>> A staging tree for complete IOT2050 support can be found at [2]. Full
>>>> image integration is available via [3].
>>>
>>> patches look good to me. Any chance these dts changes are reviewed in upstream
>>> Linux?
>>
>> I didn't want to push them there first before publishing a firmware that
>> allows to boot them - chicken-egg situation. I thought this way would be
>> better and would also be no issue as we we are only using existing
>> bindings. Obviously, any future changes to the kernel version would also
>> be sync'ed back to U-Boot by us.
> 
> But good that you mentioned it: I just realized that the path we are
> using ("siemens/iot2050-{basic,advanced}.dtb") is probably not
> upstreamable. This may have to become
> "ti/k3-am65-iot2050-{basic,advanced}.dtb", and that is also an interface
> between kernel and U-Boot...
> 

Planning to repost the series?

Thanks and regards,
Lokesh

> Jan
>
Jan Kiszka Dec. 23, 2020, 9:43 a.m. UTC | #5
On 23.12.20 09:18, Lokesh Vutla wrote:
> 
> 
> On 18/12/20 11:43 am, Jan Kiszka wrote:
>> On 18.12.20 07:04, Jan Kiszka wrote:
>>> On 18.12.20 05:46, Lokesh Vutla wrote:
>>>> Hi Jan,
>>>> 	Sorry for the delayed response.
>>>>
>>>> On 04/12/20 1:29 pm, Jan Kiszka wrote:
>>>>> This is the baseline support for the SIMATIC IOT2050 devices.
>>>>>
>>>>> 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.
>>>>>
>>>>> Related but not strictly needed for baseline support is [1], i.e.
>>>>> embedding of the watchdog firmware that is required on the AM65x. I will
>>>>> soon pick up that discussion again.
>>>>
>>>> yeah, long pending one.
>>>>
>>>>>
>>>>> A staging tree for complete IOT2050 support can be found at [2]. Full
>>>>> image integration is available via [3].
>>>>
>>>> patches look good to me. Any chance these dts changes are reviewed in upstream
>>>> Linux?
>>>
>>> I didn't want to push them there first before publishing a firmware that
>>> allows to boot them - chicken-egg situation. I thought this way would be
>>> better and would also be no issue as we we are only using existing
>>> bindings. Obviously, any future changes to the kernel version would also
>>> be sync'ed back to U-Boot by us.
>>
>> But good that you mentioned it: I just realized that the path we are
>> using ("siemens/iot2050-{basic,advanced}.dtb") is probably not
>> upstreamable. This may have to become
>> "ti/k3-am65-iot2050-{basic,advanced}.dtb", and that is also an interface
>> between kernel and U-Boot...
>>
> 
> Planning to repost the series?
> 

Eventually. But we will likely follow your suggestion and first get the
DTs upstream into the kernel.

Jan