mbox series

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

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

Message

Dillon Min March 20, 2021, 1:56 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 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

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 'unevaluatedProperties' instead of
    '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  |   2 +-
 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, 725 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 22, 2021, 11:05 a.m. UTC | #1
Hi Dillon,

It works for me.

On 3/20/21 2:56 AM, dillon.minfei@gmail.com wrote:
> From: dillon min <dillon.minfei@gmail.com>

>

> To use additional properties 'bluetooth', need use unevaluatedProperties

> to fix 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]+'

>

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

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


You can add my:
Tested-by: Valentin Caron <valentin.caron@foss.st.com>


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

> ---

>

> v4:

> - add Reported-by and Fixes tag

> - use unevaluatedProperties: false to fix dtbs_check warrnings instead of

>    add 'bluetooth' in st,stm32-uart.yaml

>

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

>   1 file changed, 1 insertion(+), 1 deletion(-)

>

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

> index 8631678283f9..305941b1d5a0 100644

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

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

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

>     - interrupts

>     - clocks

>   

> -additionalProperties: false

> +unevaluatedProperties: false

>   

>   examples:

>     - |


Regards,
Valentin
Dillon Min March 22, 2021, 11:48 a.m. UTC | #2
Hi Valentin,
Thanks for feedback.

On Mon, Mar 22, 2021 at 7:05 PM Valentin CARON - foss
<valentin.caron@foss.st.com> wrote:
>
> Hi Dillon,
>
> It works for me.
>
> On 3/20/21 2:56 AM, dillon.minfei@gmail.com wrote:
> > From: dillon min <dillon.minfei@gmail.com>
> >
> > To use additional properties 'bluetooth', need use unevaluatedProperties
> > to fix 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]+'
> >
> > Reported-by: kernel test robot <lkp@intel.com>
> > Fixes: af1c2d81695b ("dt-bindings: serial: Convert STM32 UART to json-schema")
>
> You can add my:
> Tested-by: Valentin Caron <valentin.caron@foss.st.com>
Sure. I will add it to next submit.
>
> > Signed-off-by: dillon min <dillon.minfei@gmail.com>
> > ---
> >
> > v4:
> > - add Reported-by and Fixes tag
> > - use unevaluatedProperties: false to fix dtbs_check warrnings instead of
> >    add 'bluetooth' in st,stm32-uart.yaml
> >
> >   Documentation/devicetree/bindings/serial/st,stm32-uart.yaml | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
> > index 8631678283f9..305941b1d5a0 100644
> > --- a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
> > +++ b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
> > @@ -80,7 +80,7 @@ required:
> >     - interrupts
> >     - clocks
> >
> > -additionalProperties: false
> > +unevaluatedProperties: false
> >
> >   examples:
> >     - |
>
> Regards,
> Valentin