mbox series

[v5,0/9] ARM: STM32: add art-pi(stm32h750xbh6) board support

Message ID 1616653162-19954-1-git-send-email-dillon.minfei@gmail.com
Headers show
Series ARM: STM32: add art-pi(stm32h750xbh6) board support | expand

Message

Dillon Min March 25, 2021, 6:19 a.m. UTC
From: dillon min <dillon.minfei@gmail.com>

This patchset intend to add art-pi board support, this board developed
by rt-thread(https://www.rt-thread.org/).

Board resources:
8MiB QSPI flash
16MiB SPI flash
32MiB SDRAM
AP6212 wifi,bt,fm comb

sw context:
- as stm32h750 just has 128k bytes internal flash, so running a fw on
  internal flash to download u-boot/kernel to qspi flash, boot
  u-boot/kernel from qspi flash. this fw is based on rt-thread.
- kernel can be xip on qspi flash or load to sdram
- root filesystem is jffs2(created by buildroot), stored on spi flash

to support the boad, add following changes.
- fix r0-r3, r12 register restore failed after svc call,
- add dts binding
- update yaml doc

---
changes in v5:
- accroding to rob's suggestion, replace false with 'type: object'
  of 'additionalProperties'.
- add Tested-by: Valentin Caron <valentin.caron@foss.st.com>

changes in v4:
- use unevaluatedProperties: false to fix dtbs_check warrnings instead of
  add 'bluetooth' in st,stm32-uart.yaml

changes in v3:
- fix dtbs_check warrning: (8002cbd78fd5 and 4bc21d3dd678)
  >> arch/arm/boot/dts/stm32h743i-eval.dt.yaml: soc: pin-controller:
     {'type': 'object'} is not allowed for {'#address-cells': [[1]], '#size-cells':
     [[1]], 'ranges': [[0,

  >> arch/arm/boot/dts/stm32h743i-eval.dt.yaml: soc: 'i2c@40005C00',
     'i2c@58001C00' do not match any of the regexes: '@(0|[1-9a-f][0-9a-f]*)$',
     '^[^@]+$', 'pinctrl-[0-9]+'
  >> arch/arm/boot/dts/stm32h750i-art-pi.dt.yaml: serial@40004800:
     'bluetooth' does not match any of the regexes: 'pinctrl-[0-9]+'

changes in v2:
- reorganize the pinctrl device tree about
  stm32h7-pinctrl/stm32h743/750-pinctrl
  stm32h7-pinctrl.dtsi --> stm32h743-pinctrl.dtsi --> stm32h743i-disco.dts
                         |                          |-> stm32h743i-eval.dts
                         |-> stm32h750-pinctrl.dtsi --> stm32h750i-art-pi.dts
  same to the stm32f7/f4's pinctrl style
- fix author name/copyright mistake
- add compatible string st,stm32h750-pinctrl to pinctl-stm32h743.c as they
  have same pin alternate functions, update Kconfig description
- make item in stm32h750i-art-pi.dts sort by letter

*** BLURB HERE ***

dillon min (9):
  Documentation: arm: stm32: Add stm32h750 value line doc
  dt-bindings: arm: stm32: Add compatible strings for ART-PI board
  dt-bindings: pinctrl: stm32: Add stm32h750 pinctrl
  ARM: dts: stm32: introduce stm32h7-pinctrl.dtsi to support stm32h750
  ARM: dts: stm32: add stm32h750-pinctrl.dtsi
  ARM: dts: stm32: add support for art-pi board based on stm32h750xbh6
  ARM: stm32: Add a new SOC - STM32H750
  pinctrl: stm32: Add STM32H750 MCU pinctrl support
  dt-bindings: serial: stm32: Use 'type: object' instead of false for
    'additionalProperties'

 Documentation/arm/index.rst                        |   1 +
 Documentation/arm/stm32/stm32h750-overview.rst     |  34 +++
 .../devicetree/bindings/arm/stm32/stm32.yaml       |   4 +
 .../bindings/pinctrl/st,stm32-pinctrl.yaml         |   1 +
 .../devicetree/bindings/serial/st,stm32-uart.yaml  |   3 +-
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/stm32h7-pinctrl.dtsi             | 274 ++++++++++++++++++
 arch/arm/boot/dts/stm32h743-pinctrl.dtsi           | 307 +--------------------
 arch/arm/boot/dts/stm32h743.dtsi                   | 153 +++++++++-
 arch/arm/boot/dts/stm32h750-pinctrl.dtsi           |  12 +
 arch/arm/boot/dts/stm32h750.dtsi                   |   6 +
 arch/arm/boot/dts/stm32h750i-art-pi.dts            | 229 +++++++++++++++
 arch/arm/mach-stm32/board-dt.c                     |   1 +
 drivers/pinctrl/stm32/Kconfig                      |   2 +-
 drivers/pinctrl/stm32/pinctrl-stm32h743.c          |   3 +
 15 files changed, 726 insertions(+), 305 deletions(-)
 create mode 100644 Documentation/arm/stm32/stm32h750-overview.rst
 create mode 100644 arch/arm/boot/dts/stm32h7-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/stm32h750-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/stm32h750.dtsi
 create mode 100644 arch/arm/boot/dts/stm32h750i-art-pi.dts

Comments

Valentin Caron March 25, 2021, 11:12 a.m. UTC | #1
Hi Dillon,

It's okay for me.

Regards,

Valentin

On 3/25/21 7:19 AM, dillon.minfei@gmail.com wrote:
> From: dillon min <dillon.minfei@gmail.com>

>

> To use additional properties 'bluetooth' on serial, need replace false with

> 'type: object' for 'additionalProperties' to make it as a node, else will

> run into dtbs_check warnings.

>

> 'arch/arm/boot/dts/stm32h750i-art-pi.dt.yaml: serial@40004800:

> 'bluetooth' does not match any of the regexes: 'pinctrl-[0-9]+'

>

> Fixes: af1c2d81695b ("dt-bindings: serial: Convert STM32 UART to json-schema")

> Reported-by: kernel test robot <lkp@intel.com>

> Tested-by: Valentin Caron <valentin.caron@foss.st.com>

> Signed-off-by: dillon min <dillon.minfei@gmail.com>

> ---

>

> v5: accroding to rob's suggestion, replace false with 'type: object'

>      of 'additionalProperties'.

>

>   Documentation/devicetree/bindings/serial/st,stm32-uart.yaml | 3 ++-

>   1 file changed, 2 insertions(+), 1 deletion(-)

>

> diff --git a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml

> index 8631678283f9..865be05083c3 100644

> --- a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml

> +++ b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml

> @@ -80,7 +80,8 @@ required:

>     - interrupts

>     - clocks

>   

> -additionalProperties: false

> +additionalProperties:

> +  type: object

>   

>   examples:

>     - |
Dillon Min March 26, 2021, 1:53 a.m. UTC | #2
Hi Valentin

On Thu, Mar 25, 2021 at 7:12 PM Valentin CARON - foss
<valentin.caron@foss.st.com> wrote:
>
> Hi Dillon,
>
> It's okay for me.
>
> Regards,
>
> Valentin
Thanks for your test, and quick reply.
>
> On 3/25/21 7:19 AM, dillon.minfei@gmail.com wrote:
> > From: dillon min <dillon.minfei@gmail.com>
> >
> > To use additional properties 'bluetooth' on serial, need replace false with
> > 'type: object' for 'additionalProperties' to make it as a node, else will
> > run into dtbs_check warnings.
> >
> > 'arch/arm/boot/dts/stm32h750i-art-pi.dt.yaml: serial@40004800:
> > 'bluetooth' does not match any of the regexes: 'pinctrl-[0-9]+'
> >
> > Fixes: af1c2d81695b ("dt-bindings: serial: Convert STM32 UART to json-schema")
> > Reported-by: kernel test robot <lkp@intel.com>
> > Tested-by: Valentin Caron <valentin.caron@foss.st.com>
> > Signed-off-by: dillon min <dillon.minfei@gmail.com>
> > ---
> >
> > v5: accroding to rob's suggestion, replace false with 'type: object'
> >      of 'additionalProperties'.
> >
> >   Documentation/devicetree/bindings/serial/st,stm32-uart.yaml | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
> > index 8631678283f9..865be05083c3 100644
> > --- a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
> > +++ b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
> > @@ -80,7 +80,8 @@ required:
> >     - interrupts
> >     - clocks
> >
> > -additionalProperties: false
> > +additionalProperties:
> > +  type: object
> >
> >   examples:
> >     - |