Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: stm32: Add IoT Box board support

IoT Box is an IoT gateway device based on Stinger96 board powered by
STM32MP1 SoC, designed and manufactured by Shiratech Solutions. This
device makes use of Stinger96 board by having it as a base board with
one additional mezzanine on top.

Following are the features exposed by this device in addition to the
Stinger96 board:

* WiFi/BT
* CCS811 VOC sensor
* 2x Digital microphones IM69D130
* 12x WS2812B LEDs

Following peripherals are tested and known to work:

* WiFi/BT
* CCS811

More information about this device can be found in Shiratech website:
https://www.shiratech-solutions.com/products/iot-box/

Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>

authored by

Manivannan Sadhasivam and committed by
Alexandre Torgue
f0c2df21 061e0a6e

+69
+1
arch/arm/boot/dts/Makefile
··· 1030 1030 stm32h743i-disco.dtb \ 1031 1031 stm32mp157a-avenger96.dtb \ 1032 1032 stm32mp157a-dk1.dtb \ 1033 + stm32mp157a-iot-box.dtb \ 1033 1034 stm32mp157a-stinger96.dtb \ 1034 1035 stm32mp157c-dhcom-pdk2.dtb \ 1035 1036 stm32mp157c-dk2.dtb \
+68
arch/arm/boot/dts/stm32mp157a-iot-box.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (C) 2020 Manivannan Sadhasivam 4 + */ 5 + 6 + /dts-v1/; 7 + #include "stm32mp157a-stinger96.dtsi" 8 + 9 + / { 10 + model = "Shiratech STM32MP157A IoT Box"; 11 + compatible = "shiratech,stm32mp157a-iot-box", "st,stm32mp157"; 12 + 13 + wlan_pwr: regulator-wlan { 14 + compatible = "regulator-fixed"; 15 + 16 + regulator-name = "wl-reg"; 17 + regulator-min-microvolt = <3300000>; 18 + regulator-max-microvolt = <3300000>; 19 + 20 + gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>; 21 + enable-active-high; 22 + }; 23 + }; 24 + 25 + &i2c2 { 26 + ccs811@5b { 27 + compatible = "ams,ccs811"; 28 + reg = <0x5b>; 29 + wakeup-gpios = <&gpioa 12 GPIO_ACTIVE_LOW>; 30 + reset-gpios = <&gpioa 11 GPIO_ACTIVE_LOW>; 31 + }; 32 + }; 33 + 34 + /* WiFi */ 35 + &sdmmc2 { 36 + pinctrl-names = "default", "opendrain", "sleep"; 37 + pinctrl-0 = <&sdmmc2_b4_pins_a>; 38 + pinctrl-1 = <&sdmmc2_b4_od_pins_b>; 39 + pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>; 40 + broken-cd; 41 + non-removable; 42 + st,neg-edge; 43 + bus-width = <1>; 44 + vmmc-supply = <&wlan_pwr>; 45 + status = "okay"; 46 + 47 + #address-cells = <1>; 48 + #size-cells = <0>; 49 + brcmf: bcrmf@1 { 50 + reg = <1>; 51 + compatible = "brcm,bcm4329-fmac"; 52 + }; 53 + }; 54 + 55 + /* Bluetooth */ 56 + &uart4 { 57 + /* Note: HW flow control is broken, hence using custom CTS/RTS gpios */ 58 + /delete-property/st,hw-flow-ctrl; 59 + cts-gpios = <&gpioa 15 GPIO_ACTIVE_LOW>; 60 + rts-gpios = <&gpiob 0 GPIO_ACTIVE_LOW>; 61 + status = "okay"; 62 + 63 + bluetooth { 64 + shutdown-gpios = <&gpiog 2 GPIO_ACTIVE_HIGH>; 65 + compatible = "brcm,bcm43438-bt"; 66 + max-speed = <115200>; 67 + }; 68 + };