From: dillon min <dillon.minfei@xxxxxxxxx> 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 v6: - add gpiox{gpio-ranges, ngpios} in stm32h7-pinctrl.dtsi - add status="disabled" in stm32h743.dtsi changes in v5: - accroding to rob's suggestion, replace false with 'type: object' of 'additionalProperties'. - add Tested-by: Valentin Caron <valentin.caron@xxxxxxxxxxx> 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 '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 | 341 +++++++++++++++++++++ arch/arm/boot/dts/stm32h743-pinctrl.dtsi | 307 +------------------ arch/arm/boot/dts/stm32h743.dtsi | 164 +++++++++- 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, 804 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 -- 2.7.4