STM32 DT updates for v5.11, round 1
Highlights: ---------- MCU part: -Fix dmamux reg property (length) on stm32h743. -Explicitly set DCMI bus type on stm32429i eval board. MPU part: -Enable FIFO mode with half-full threshold for DCMI. -Harmonize EHCI/OHCI nodes. -Move SDMMC IP version to v2.0 to get features improvements. -Add LP-timer wakeup support. -Enable crypto/hash/crc support. -Explicitly set DCMI bus type on stm32mp157 eval board. -Add USB type-c controller (STUSB1600) on stm32mp15 DK boards (It is connected to I2C4). -Fix dmamux reg property (length) on stm32mp151. -Optimize USB OTG FIFO sizes on stm32mp151. -Declare tamp node also as "simple-mfd". -LXA: -Document Octavo vendor-prefixes yaml file. -Document lxa,stm32mp157c-mc1 in STM32 yaml file. -DH: -Connect PHY IRQ line on DH SoM. -Add KS8851 Ethernet support on DHCOM which is mapped to FMC2. -Document all DH compatible strings in STM32 yaml file. -Add DHCOM based PicoITX board. This board embedds ethernet port, USB, CAN LEDS and a custom board-to-board connector. -----BEGIN PGP SIGNATURE----- iQJRBAABCgA7FiEEctl9+nxzUSUqdELdf5rJavIecIUFAl/Au8MdHGFsZXhhbmRy ZS50b3JndWVAZm9zcy5zdC5jb20ACgkQf5rJavIecIXyEw//WdCcKbynDRO0GjK3 sFIAHUBLKt4vZJRD7M5jWojKgcdggl/kaY/k5Us2hr2eLRK0yEG76njIcMEHElxz rUnEOcnJ7z0qAXZkaTCbvs/5cLybHEyAfEAl+V4fGPYO0CuJrGKpqz6cliU40VJq vWcn7hFhS7wf3bFmJgUeW36mTbBJVFD4xqvdN6ZCV3VeClqCdln7VVz3QcYEU0RW 7TcJVuvsmBOUseprmzXnTLCiEEG28Y7TexoJgAlwPvcKUlA4RGT8+cvibObTyTN6 Gvprpgm90M2Lp7RvnHQJ043o6rvu0tKjzHDxr2XIZw4uiwMwn8xtKNJUFiOCMjP4 YwTGbO1FcDFDGoWoRcFwglJSpSxBxnbFwgmdMYXoIQuJv9wv1AdFQgSknxtJzxTs 0waE0WY5+YLGFRt4x/tXoP/VCg/U4xbPXc/zOGMZwjHfZXzZyuLVj/Y2uXM2WRZZ EUCfsNUQGX460M1MF2ap2d0sI3q6WI1223dIB7bO+QN03gCLoCZ6Rhqb/JJXODu6 Nm5g5byg4Ov7p4znvAIYbGkcrqecS0YjVM1Lq6gbWV/pgjiNwkjgMuVw7AYND01u J7UWvGvJevAIfitCJTG8U66jbY+BKJQsbjHA3x1zOp7F/SnQM3jFIRgKUfrB2kd9 wPdXEthFxOFTdeyAy994NO8XTJc= =O+Lk -----END PGP SIGNATURE----- Merge tag 'stm32-dt-for-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/dt STM32 DT updates for v5.11, round 1 Highlights: ---------- MCU part: -Fix dmamux reg property (length) on stm32h743. -Explicitly set DCMI bus type on stm32429i eval board. MPU part: -Enable FIFO mode with half-full threshold for DCMI. -Harmonize EHCI/OHCI nodes. -Move SDMMC IP version to v2.0 to get features improvements. -Add LP-timer wakeup support. -Enable crypto/hash/crc support. -Explicitly set DCMI bus type on stm32mp157 eval board. -Add USB type-c controller (STUSB1600) on stm32mp15 DK boards (It is connected to I2C4). -Fix dmamux reg property (length) on stm32mp151. -Optimize USB OTG FIFO sizes on stm32mp151. -Declare tamp node also as "simple-mfd". -LXA: -Document Octavo vendor-prefixes yaml file. -Document lxa,stm32mp157c-mc1 in STM32 yaml file. -DH: -Connect PHY IRQ line on DH SoM. -Add KS8851 Ethernet support on DHCOM which is mapped to FMC2. -Document all DH compatible strings in STM32 yaml file. -Add DHCOM based PicoITX board. This board embedds ethernet port, USB, CAN LEDS and a custom board-to-board connector. * tag 'stm32-dt-for-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (34 commits) ARM: dts: stm32: lxa-mc1: add OSD32MP15x to list of compatibles dt-bindings: arm: stm32: add extra SiP compatible for lxa,stm32mp157c-mc1 dt-bindings: vendor-prefixes: document Octavo Systems oct prefix ARM: dts: stm32: Add DHCOM based PicoITX board dt-bindings: arm: stm32: Add compatible strings for DH SoMs and boards ARM: dts: stm32: support child mfd cells for the stm32mp1 TAMP syscon dt-bindings: arm: stm32: add simple-mfd compatible for tamp node ARM: dts: stm32: update stm32mp151 for remote proc synchronization support ARM: dts: stm32: adjust USB OTG gadget fifo sizes in stm32mp151 ARM: dts: stm32: fix dmamux reg property on stm32h743 ARM: dts: stm32: fix dmamux reg property on stm32mp151 ARM: dts: stm32: fix mdma1 clients channel priority level on stm32mp151 ARM: dts: stm32: add STUSB1600 Type-C using I2C4 on stm32mp15xx-dkx dt-bindings: usb: Add DT bindings for STUSB160x Type-C controller dt-bindings: connector: add typec-power-opmode property to usb-connector ARM: dts: stm32: reorder spi4 within stm32mp15-pinctrl ARM: dts: stm32: set bus-type in DCMI endpoint for stm32429i-eval board ARM: dts: stm32: set bus-type in DCMI endpoint for stm32mp157c-ev1 board ARM: dts: stm32: enable CRYP by default on stm32mp15 ARM: dts: stm32: enable CRC1 by default on stm32mp15 ... Link: https://lore.kernel.org/r/873c17a5-28d5-9261-f691-1b917611c932@foss.st.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
fcc3e3c3a4
@ -20,6 +20,10 @@ properties:
|
||||
- st,stm32-syscfg
|
||||
- st,stm32-power-config
|
||||
- const: syscon
|
||||
- items:
|
||||
- const: st,stm32-tamp
|
||||
- const: syscon
|
||||
- const: simple-mfd
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
@ -14,6 +14,20 @@ properties:
|
||||
const: "/"
|
||||
compatible:
|
||||
oneOf:
|
||||
- description: DH STM32MP1 SoM based Boards
|
||||
items:
|
||||
- enum:
|
||||
- arrow,stm32mp157a-avenger96 # Avenger96
|
||||
- dh,stm32mp153c-dhcom-drc02
|
||||
- dh,stm32mp157c-dhcom-pdk2
|
||||
- dh,stm32mp157c-dhcom-picoitx
|
||||
- enum:
|
||||
- dh,stm32mp153c-dhcom-som
|
||||
- dh,stm32mp157a-dhcor-som
|
||||
- dh,stm32mp157c-dhcom-som
|
||||
- enum:
|
||||
- st,stm32mp153
|
||||
- st,stm32mp157
|
||||
- items:
|
||||
- enum:
|
||||
- st,stm32f429i-disco
|
||||
@ -39,8 +53,6 @@ properties:
|
||||
- const: st,stm32h743
|
||||
- items:
|
||||
- enum:
|
||||
- arrow,stm32mp157a-avenger96 # Avenger96
|
||||
- lxa,stm32mp157c-mc1
|
||||
- shiratech,stm32mp157a-iot-box # IoT Box
|
||||
- shiratech,stm32mp157a-stinger96 # Stinger96
|
||||
- st,stm32mp157c-ed1
|
||||
@ -52,6 +64,13 @@ properties:
|
||||
- const: st,stm32mp157c-ev1
|
||||
- const: st,stm32mp157c-ed1
|
||||
- const: st,stm32mp157
|
||||
- description: Octavo OSD32MP15x System-in-Package based boards
|
||||
items:
|
||||
- enum:
|
||||
- lxa,stm32mp157c-mc1 # Linux Automation MC-1
|
||||
- const: oct,stm32mp15xx-osd32
|
||||
- enum:
|
||||
- st,stm32mp157
|
||||
- description: Odyssey STM32MP1 SoM based Boards
|
||||
items:
|
||||
- enum:
|
||||
|
@ -93,6 +93,24 @@ properties:
|
||||
- device
|
||||
- dual
|
||||
|
||||
typec-power-opmode:
|
||||
description: Determines the power operation mode that the Type C connector
|
||||
will support and will advertise through CC pins when it has no power
|
||||
delivery support.
|
||||
- "default" corresponds to default USB voltage and current defined by the
|
||||
USB 2.0 and USB 3.2 specifications, 5V 500mA for USB 2.0 ports and
|
||||
5V 900mA or 1500mA for USB 3.2 ports in single-lane or dual-lane
|
||||
operation respectively.
|
||||
- "1.5A" and "3.0A", 5V 1.5A and 5V 3.0A respectively, as defined in USB
|
||||
Type-C Cable and Connector specification, when Power Delivery is not
|
||||
supported.
|
||||
allOf:
|
||||
- $ref: /schemas/types.yaml#definitions/string
|
||||
enum:
|
||||
- default
|
||||
- 1.5A
|
||||
- 3.0A
|
||||
|
||||
# The following are optional properties for "usb-c-connector" with power
|
||||
# delivery support.
|
||||
source-pdos:
|
||||
@ -173,6 +191,12 @@ allOf:
|
||||
type:
|
||||
const: micro
|
||||
|
||||
anyOf:
|
||||
- not:
|
||||
required:
|
||||
- typec-power-opmode
|
||||
- new-source-frs-typec-current
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
|
87
Documentation/devicetree/bindings/usb/st,stusb160x.yaml
Normal file
87
Documentation/devicetree/bindings/usb/st,stusb160x.yaml
Normal file
@ -0,0 +1,87 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/usb/st,stusb160x.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: STMicroelectronics STUSB160x Type-C controller bindings
|
||||
|
||||
maintainers:
|
||||
- Amelie Delaunay <amelie.delaunay@st.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- st,stusb1600
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
vdd-supply:
|
||||
description: main power supply (4.1V-22V)
|
||||
|
||||
vsys-supply:
|
||||
description: low power supply (3.0V-5.5V)
|
||||
|
||||
vconn-supply:
|
||||
description: power supply (2.7V-5.5V) used to supply VConn on CC pin in
|
||||
source or dual power role
|
||||
|
||||
connector:
|
||||
type: object
|
||||
|
||||
allOf:
|
||||
- $ref: ../connector/usb-connector.yaml
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: usb-c-connector
|
||||
|
||||
power-role: true
|
||||
|
||||
typec-power-opmode: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- connector
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
typec: stusb1600@28 {
|
||||
compatible = "st,stusb1600";
|
||||
reg = <0x28>;
|
||||
vdd-supply = <&vbus_drd>;
|
||||
vsys-supply = <&vdd_usb>;
|
||||
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-parent = <&gpioi>;
|
||||
|
||||
typec_con: connector {
|
||||
compatible = "usb-c-connector";
|
||||
label = "USB-C";
|
||||
power-role = "dual";
|
||||
data-role = "dual";
|
||||
typec-power-opmode = "default";
|
||||
|
||||
port {
|
||||
typec_con_ep: endpoint {
|
||||
remote-endpoint = <&usbotg_hs_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
@ -760,6 +760,8 @@ patternProperties:
|
||||
description: NXP Semiconductors
|
||||
"^oceanic,.*":
|
||||
description: Oceanic Systems (UK) Ltd.
|
||||
"^oct,.*":
|
||||
description: Octavo Systems LLC
|
||||
"^okaya,.*":
|
||||
description: Okaya Electric America, Inc.
|
||||
"^oki,.*":
|
||||
|
@ -1066,6 +1066,7 @@ dtb-$(CONFIG_ARCH_STM32) += \
|
||||
stm32mp157a-iot-box.dtb \
|
||||
stm32mp157a-stinger96.dtb \
|
||||
stm32mp157c-dhcom-pdk2.dtb \
|
||||
stm32mp157c-dhcom-picoitx.dtb \
|
||||
stm32mp157c-dk2.dtb \
|
||||
stm32mp157c-ed1.dtb \
|
||||
stm32mp157c-ev1.dtb \
|
||||
|
@ -188,6 +188,7 @@
|
||||
port {
|
||||
dcmi_0: endpoint {
|
||||
remote-endpoint = <&ov2640_0>;
|
||||
bus-type = <5>;
|
||||
bus-width = <8>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
|
@ -274,7 +274,7 @@
|
||||
|
||||
dmamux1: dma-router@40020800 {
|
||||
compatible = "st,stm32h7-dmamux";
|
||||
reg = <0x40020800 0x1c>;
|
||||
reg = <0x40020800 0x40>;
|
||||
#dma-cells = <3>;
|
||||
dma-channels = <16>;
|
||||
dma-requests = <128>;
|
||||
|
@ -349,6 +349,61 @@
|
||||
};
|
||||
};
|
||||
|
||||
fmc_pins_b: fmc-1 {
|
||||
pins {
|
||||
pinmux = <STM32_PINMUX('D', 4, AF12)>, /* FMC_NOE */
|
||||
<STM32_PINMUX('D', 5, AF12)>, /* FMC_NWE */
|
||||
<STM32_PINMUX('B', 7, AF12)>, /* FMC_NL */
|
||||
<STM32_PINMUX('D', 14, AF12)>, /* FMC_D0 */
|
||||
<STM32_PINMUX('D', 15, AF12)>, /* FMC_D1 */
|
||||
<STM32_PINMUX('D', 0, AF12)>, /* FMC_D2 */
|
||||
<STM32_PINMUX('D', 1, AF12)>, /* FMC_D3 */
|
||||
<STM32_PINMUX('E', 7, AF12)>, /* FMC_D4 */
|
||||
<STM32_PINMUX('E', 8, AF12)>, /* FMC_D5 */
|
||||
<STM32_PINMUX('E', 9, AF12)>, /* FMC_D6 */
|
||||
<STM32_PINMUX('E', 10, AF12)>, /* FMC_D7 */
|
||||
<STM32_PINMUX('E', 11, AF12)>, /* FMC_D8 */
|
||||
<STM32_PINMUX('E', 12, AF12)>, /* FMC_D9 */
|
||||
<STM32_PINMUX('E', 13, AF12)>, /* FMC_D10 */
|
||||
<STM32_PINMUX('E', 14, AF12)>, /* FMC_D11 */
|
||||
<STM32_PINMUX('E', 15, AF12)>, /* FMC_D12 */
|
||||
<STM32_PINMUX('D', 8, AF12)>, /* FMC_D13 */
|
||||
<STM32_PINMUX('D', 9, AF12)>, /* FMC_D14 */
|
||||
<STM32_PINMUX('D', 10, AF12)>, /* FMC_D15 */
|
||||
<STM32_PINMUX('G', 9, AF12)>, /* FMC_NE2_FMC_NCE */
|
||||
<STM32_PINMUX('G', 12, AF12)>; /* FMC_NE4 */
|
||||
bias-disable;
|
||||
drive-push-pull;
|
||||
slew-rate = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
fmc_sleep_pins_b: fmc-sleep-1 {
|
||||
pins {
|
||||
pinmux = <STM32_PINMUX('D', 4, ANALOG)>, /* FMC_NOE */
|
||||
<STM32_PINMUX('D', 5, ANALOG)>, /* FMC_NWE */
|
||||
<STM32_PINMUX('B', 7, ANALOG)>, /* FMC_NL */
|
||||
<STM32_PINMUX('D', 14, ANALOG)>, /* FMC_D0 */
|
||||
<STM32_PINMUX('D', 15, ANALOG)>, /* FMC_D1 */
|
||||
<STM32_PINMUX('D', 0, ANALOG)>, /* FMC_D2 */
|
||||
<STM32_PINMUX('D', 1, ANALOG)>, /* FMC_D3 */
|
||||
<STM32_PINMUX('E', 7, ANALOG)>, /* FMC_D4 */
|
||||
<STM32_PINMUX('E', 8, ANALOG)>, /* FMC_D5 */
|
||||
<STM32_PINMUX('E', 9, ANALOG)>, /* FMC_D6 */
|
||||
<STM32_PINMUX('E', 10, ANALOG)>, /* FMC_D7 */
|
||||
<STM32_PINMUX('E', 11, ANALOG)>, /* FMC_D8 */
|
||||
<STM32_PINMUX('E', 12, ANALOG)>, /* FMC_D9 */
|
||||
<STM32_PINMUX('E', 13, ANALOG)>, /* FMC_D10 */
|
||||
<STM32_PINMUX('E', 14, ANALOG)>, /* FMC_D11 */
|
||||
<STM32_PINMUX('E', 15, ANALOG)>, /* FMC_D12 */
|
||||
<STM32_PINMUX('D', 8, ANALOG)>, /* FMC_D13 */
|
||||
<STM32_PINMUX('D', 9, ANALOG)>, /* FMC_D14 */
|
||||
<STM32_PINMUX('D', 10, ANALOG)>, /* FMC_D15 */
|
||||
<STM32_PINMUX('G', 9, ANALOG)>, /* FMC_NE2_FMC_NCE */
|
||||
<STM32_PINMUX('G', 12, ANALOG)>; /* FMC_NE4 */
|
||||
};
|
||||
};
|
||||
|
||||
i2c1_pins_a: i2c1-0 {
|
||||
pins {
|
||||
pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */
|
||||
@ -1591,6 +1646,27 @@
|
||||
};
|
||||
};
|
||||
|
||||
spi4_pins_a: spi4-0 {
|
||||
pins {
|
||||
pinmux = <STM32_PINMUX('E', 12, AF5)>, /* SPI4_SCK */
|
||||
<STM32_PINMUX('E', 6, AF5)>; /* SPI4_MOSI */
|
||||
bias-disable;
|
||||
drive-push-pull;
|
||||
slew-rate = <1>;
|
||||
};
|
||||
pins2 {
|
||||
pinmux = <STM32_PINMUX('E', 13, AF5)>; /* SPI4_MISO */
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
stusb1600_pins_a: stusb1600-0 {
|
||||
pins {
|
||||
pinmux = <STM32_PINMUX('I', 11, ANALOG)>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
uart4_pins_a: uart4-0 {
|
||||
pins1 {
|
||||
pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
|
||||
@ -1726,20 +1802,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
spi4_pins_a: spi4-0 {
|
||||
pins {
|
||||
pinmux = <STM32_PINMUX('E', 12, AF5)>, /* SPI4_SCK */
|
||||
<STM32_PINMUX('E', 6, AF5)>; /* SPI4_MOSI */
|
||||
bias-disable;
|
||||
drive-push-pull;
|
||||
slew-rate = <1>;
|
||||
};
|
||||
pins2 {
|
||||
pinmux = <STM32_PINMUX('E', 13, AF5)>; /* SPI4_MISO */
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
usart2_pins_a: usart2-0 {
|
||||
pins1 {
|
||||
pinmux = <STM32_PINMUX('F', 5, AF7)>, /* USART2_TX */
|
||||
|
@ -362,8 +362,10 @@
|
||||
#size-cells = <0>;
|
||||
compatible = "st,stm32-lptimer";
|
||||
reg = <0x40009000 0x400>;
|
||||
interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&rcc LPTIM1_K>;
|
||||
clock-names = "mux";
|
||||
wakeup-source;
|
||||
status = "disabled";
|
||||
|
||||
pwm {
|
||||
@ -999,7 +1001,7 @@
|
||||
|
||||
dmamux1: dma-router@48002000 {
|
||||
compatible = "st,stm32h7-dmamux";
|
||||
reg = <0x48002000 0x1c>;
|
||||
reg = <0x48002000 0x40>;
|
||||
#dma-cells = <3>;
|
||||
dma-requests = <128>;
|
||||
dma-masters = <&dma1 &dma2>;
|
||||
@ -1047,7 +1049,7 @@
|
||||
|
||||
sdmmc3: sdmmc@48004000 {
|
||||
compatible = "arm,pl18x", "arm,primecell";
|
||||
arm,primecell-periphid = <0x10153180>;
|
||||
arm,primecell-periphid = <0x00253180>;
|
||||
reg = <0x48004000 0x400>;
|
||||
interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "cmd_irq";
|
||||
@ -1068,9 +1070,9 @@
|
||||
resets = <&rcc USBO_R>;
|
||||
reset-names = "dwc2";
|
||||
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
|
||||
g-rx-fifo-size = <256>;
|
||||
g-rx-fifo-size = <512>;
|
||||
g-np-tx-fifo-size = <32>;
|
||||
g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
|
||||
g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
|
||||
dr_mode = "otg";
|
||||
usb33d-supply = <&usb33>;
|
||||
status = "disabled";
|
||||
@ -1098,7 +1100,7 @@
|
||||
resets = <&rcc CAMITF_R>;
|
||||
clocks = <&rcc DCMI>;
|
||||
clock-names = "mclk";
|
||||
dmas = <&dmamux1 75 0x400 0x0d>;
|
||||
dmas = <&dmamux1 75 0x400 0x01>;
|
||||
dma-names = "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -1156,8 +1158,10 @@
|
||||
#size-cells = <0>;
|
||||
compatible = "st,stm32-lptimer";
|
||||
reg = <0x50021000 0x400>;
|
||||
interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&rcc LPTIM2_K>;
|
||||
clock-names = "mux";
|
||||
wakeup-source;
|
||||
status = "disabled";
|
||||
|
||||
pwm {
|
||||
@ -1183,8 +1187,10 @@
|
||||
#size-cells = <0>;
|
||||
compatible = "st,stm32-lptimer";
|
||||
reg = <0x50022000 0x400>;
|
||||
interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&rcc LPTIM3_K>;
|
||||
clock-names = "mux";
|
||||
wakeup-source;
|
||||
status = "disabled";
|
||||
|
||||
pwm {
|
||||
@ -1203,8 +1209,10 @@
|
||||
lptimer4: timer@50023000 {
|
||||
compatible = "st,stm32-lptimer";
|
||||
reg = <0x50023000 0x400>;
|
||||
interrupts-extended = <&exti 52 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&rcc LPTIM4_K>;
|
||||
clock-names = "mux";
|
||||
wakeup-source;
|
||||
status = "disabled";
|
||||
|
||||
pwm {
|
||||
@ -1217,8 +1225,10 @@
|
||||
lptimer5: timer@50024000 {
|
||||
compatible = "st,stm32-lptimer";
|
||||
reg = <0x50024000 0x400>;
|
||||
interrupts-extended = <&exti 53 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&rcc LPTIM5_K>;
|
||||
clock-names = "mux";
|
||||
wakeup-source;
|
||||
status = "disabled";
|
||||
|
||||
pwm {
|
||||
@ -1284,7 +1294,7 @@
|
||||
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&rcc HASH1>;
|
||||
resets = <&rcc HASH1_R>;
|
||||
dmas = <&mdma1 31 0x10 0x1000A02 0x0 0x0>;
|
||||
dmas = <&mdma1 31 0x2 0x1000A02 0x0 0x0>;
|
||||
dma-names = "in";
|
||||
dma-maxburst = <2>;
|
||||
status = "disabled";
|
||||
@ -1348,8 +1358,8 @@
|
||||
reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
|
||||
reg-names = "qspi", "qspi_mm";
|
||||
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&mdma1 22 0x10 0x100002 0x0 0x0>,
|
||||
<&mdma1 22 0x10 0x100008 0x0 0x0>;
|
||||
dmas = <&mdma1 22 0x2 0x100002 0x0 0x0>,
|
||||
<&mdma1 22 0x2 0x100008 0x0 0x0>;
|
||||
dma-names = "tx", "rx";
|
||||
clocks = <&rcc QSPI_K>;
|
||||
resets = <&rcc QSPI_R>;
|
||||
@ -1360,7 +1370,7 @@
|
||||
|
||||
sdmmc1: sdmmc@58005000 {
|
||||
compatible = "arm,pl18x", "arm,primecell";
|
||||
arm,primecell-periphid = <0x10153180>;
|
||||
arm,primecell-periphid = <0x00253180>;
|
||||
reg = <0x58005000 0x1000>;
|
||||
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "cmd_irq";
|
||||
@ -1375,7 +1385,7 @@
|
||||
|
||||
sdmmc2: sdmmc@58007000 {
|
||||
compatible = "arm,pl18x", "arm,primecell";
|
||||
arm,primecell-periphid = <0x10153180>;
|
||||
arm,primecell-periphid = <0x00253180>;
|
||||
reg = <0x58007000 0x1000>;
|
||||
interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "cmd_irq";
|
||||
@ -1426,7 +1436,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbh_ohci: usbh-ohci@5800c000 {
|
||||
usbh_ohci: usb@5800c000 {
|
||||
compatible = "generic-ohci";
|
||||
reg = <0x5800c000 0x1000>;
|
||||
clocks = <&rcc USBH>;
|
||||
@ -1435,7 +1445,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbh_ehci: usbh-ehci@5800d000 {
|
||||
usbh_ehci: usb@5800d000 {
|
||||
compatible = "generic-ehci";
|
||||
reg = <0x5800d000 0x1000>;
|
||||
clocks = <&rcc USBH>;
|
||||
@ -1563,6 +1573,11 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tamp: tamp@5c00a000 {
|
||||
compatible = "st,stm32-tamp", "syscon", "simple-mfd";
|
||||
reg = <0x5c00a000 0x400>;
|
||||
};
|
||||
|
||||
/*
|
||||
* Break node order to solve dependency probe issue between
|
||||
* pinctrl and exti.
|
||||
@ -1739,6 +1754,8 @@
|
||||
st,syscfg-holdboot = <&rcc 0x10C 0x1>;
|
||||
st,syscfg-tz = <&rcc 0x000 0x1>;
|
||||
st,syscfg-pdds = <&pwr_mcu 0x0 0x1>;
|
||||
st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
|
||||
st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
35
arch/arm/boot/dts/stm32mp157c-dhcom-picoitx.dts
Normal file
35
arch/arm/boot/dts/stm32mp157c-dhcom-picoitx.dts
Normal file
@ -0,0 +1,35 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||
/*
|
||||
* Copyright (C) 2020 Marek Vasut <marex@denx.de>
|
||||
*
|
||||
* DHCOM STM32MP1 variant:
|
||||
* DHCM-STM32MP157C-C065-R102-F0819-SPI-E-CAN2-SD-RTC-T-DSI-I-01D2
|
||||
* DHCOM PCB number: 587-200 or newer
|
||||
* PicoITX PCB number: 487-600 or newer
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "stm32mp157.dtsi"
|
||||
#include "stm32mp15xc.dtsi"
|
||||
#include "stm32mp15xx-dhcom-som.dtsi"
|
||||
#include "stm32mp15xx-dhcom-picoitx.dtsi"
|
||||
|
||||
/ {
|
||||
model = "DH electronics STM32MP157C DHCOM PicoITX";
|
||||
compatible = "dh,stm32mp157c-dhcom-picoitx", "dh,stm32mp157c-dhcom-som",
|
||||
"st,stm32mp157";
|
||||
};
|
||||
|
||||
&m_can1 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&m_can1_pins_a>;
|
||||
pinctrl-1 = <&m_can1_sleep_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&m_can2 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&m_can2_pins_a>;
|
||||
pinctrl-1 = <&m_can2_sleep_pins_a>;
|
||||
status = "okay";
|
||||
};
|
@ -29,6 +29,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
&cryp1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dsi {
|
||||
status = "okay";
|
||||
phy-dsi-supply = <®18>;
|
||||
|
@ -115,6 +115,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
&crc1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryp1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
|
||||
@ -136,6 +144,10 @@
|
||||
contiguous-area = <&gpu_reserved>;
|
||||
};
|
||||
|
||||
&hash1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&i2c4_pins_a>;
|
||||
|
@ -90,6 +90,7 @@
|
||||
port {
|
||||
dcmi_0: endpoint {
|
||||
remote-endpoint = <&ov5640_0>;
|
||||
bus-type = <5>;
|
||||
bus-width = <8>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
/ {
|
||||
model = "Linux Automation MC-1 board";
|
||||
compatible = "lxa,stm32mp157c-mc1", "st,stm32mp157";
|
||||
compatible = "lxa,stm32mp157c-mc1", "oct,stm32mp15xx-osd32", "st,stm32mp157";
|
||||
|
||||
aliases {
|
||||
ethernet0 = ðernet0;
|
||||
|
@ -46,6 +46,16 @@
|
||||
linux,code = <KEY_A>;
|
||||
gpios = <&gpiof 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The EXTi IRQ line 0 is shared with PMIC,
|
||||
* so mark this as polled GPIO key.
|
||||
*/
|
||||
button-2 {
|
||||
label = "TA3-GPIO-C";
|
||||
linux,code = <KEY_C>;
|
||||
gpios = <&gpiog 0 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
@ -59,13 +69,6 @@
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
button-2 {
|
||||
label = "TA3-GPIO-C";
|
||||
linux,code = <KEY_C>;
|
||||
gpios = <&gpioi 11 GPIO_ACTIVE_LOW>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
button-3 {
|
||||
label = "TA4-GPIO-D";
|
||||
linux,code = <KEY_D>;
|
||||
@ -79,7 +82,7 @@
|
||||
|
||||
led-0 {
|
||||
label = "green:led5";
|
||||
gpios = <&gpiog 2 GPIO_ACTIVE_HIGH>;
|
||||
gpios = <&gpioc 6 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
|
143
arch/arm/boot/dts/stm32mp15xx-dhcom-picoitx.dtsi
Normal file
143
arch/arm/boot/dts/stm32mp15xx-dhcom-picoitx.dtsi
Normal file
@ -0,0 +1,143 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||
/*
|
||||
* Copyright (C) 2020 Marek Vasut <marex@denx.de>
|
||||
*/
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &uart4;
|
||||
serial1 = &usart3;
|
||||
serial2 = &uart8;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
led {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led-0 {
|
||||
label = "yellow:led";
|
||||
gpios = <&gpioi 3 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&adc {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&dac {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&gpioa {
|
||||
/*
|
||||
* NOTE: The USB Port on the PicoITX needs a PWR_EN signal to enable
|
||||
* port power. This signal should be handled by USB power sequencing
|
||||
* in order to turn on port power when USB bus is powered up, but so
|
||||
* far there is no such functionality.
|
||||
*/
|
||||
usb-port-power {
|
||||
gpio-hog;
|
||||
gpios = <13 GPIO_ACTIVE_LOW>;
|
||||
output-low;
|
||||
line-name = "usb-port-power";
|
||||
};
|
||||
};
|
||||
|
||||
&gpioc {
|
||||
gpio-line-names = "", "", "", "",
|
||||
"", "", "In1", "",
|
||||
"", "", "", "",
|
||||
"", "", "", "";
|
||||
};
|
||||
|
||||
&gpiod {
|
||||
gpio-line-names = "", "", "", "",
|
||||
"", "", "", "",
|
||||
"", "", "", "Out1",
|
||||
"Out2", "", "", "";
|
||||
};
|
||||
|
||||
&gpiog {
|
||||
gpio-line-names = "In2", "", "", "",
|
||||
"", "", "", "",
|
||||
"", "", "", "",
|
||||
"", "", "", "";
|
||||
};
|
||||
|
||||
&i2c2 { /* On board-to-board connector (optional) */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
i2c-scl-rising-time-ns = <185>;
|
||||
i2c-scl-falling-time-ns = <20>;
|
||||
status = "okay";
|
||||
/* spare dmas for other usage */
|
||||
/delete-property/dmas;
|
||||
/delete-property/dma-names;
|
||||
};
|
||||
|
||||
&i2c5 { /* On board-to-board connector */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c5_pins_a>;
|
||||
i2c-scl-rising-time-ns = <185>;
|
||||
i2c-scl-falling-time-ns = <20>;
|
||||
status = "okay";
|
||||
/* spare dmas for other usage */
|
||||
/delete-property/dmas;
|
||||
/delete-property/dma-names;
|
||||
};
|
||||
|
||||
&usart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usart3_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart8 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbh_ehci {
|
||||
phys = <&usbphyc_port0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbh_ohci {
|
||||
phys = <&usbphyc_port0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg_hs {
|
||||
dr_mode = "otg";
|
||||
pinctrl-0 = <&usbotg_hs_pins_a>;
|
||||
pinctrl-names = "default";
|
||||
phy-names = "usb2-phy";
|
||||
phys = <&usbphyc_port1 0>;
|
||||
vbus-supply = <&vbus_otg>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphyc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphyc_port0 {
|
||||
phy-supply = <&vdd_usb>;
|
||||
vdda1v1-supply = <®11>;
|
||||
vdda1v8-supply = <®18>;
|
||||
};
|
||||
|
||||
&usbphyc_port1 {
|
||||
phy-supply = <&vdd_usb>;
|
||||
vdda1v1-supply = <®11>;
|
||||
vdda1v8-supply = <®18>;
|
||||
};
|
@ -11,6 +11,7 @@
|
||||
/ {
|
||||
aliases {
|
||||
ethernet0 = ðernet0;
|
||||
ethernet1 = &ksz8851;
|
||||
};
|
||||
|
||||
memory@c0000000 {
|
||||
@ -68,6 +69,7 @@
|
||||
gpio = <&gpiog 3 GPIO_ACTIVE_LOW>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vdd>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -126,10 +128,46 @@
|
||||
|
||||
phy0: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
interrupt-parent = <&gpioi>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&fmc {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&fmc_pins_b>;
|
||||
pinctrl-1 = <&fmc_sleep_pins_b>;
|
||||
status = "okay";
|
||||
|
||||
ksz8851: ks8851mll@1,0 {
|
||||
compatible = "micrel,ks8851-mll";
|
||||
reg = <1 0x0 0x2>, <1 0x2 0x20000>;
|
||||
interrupt-parent = <&gpioc>;
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
||||
bank-width = <2>;
|
||||
|
||||
/* Timing values are in nS */
|
||||
st,fmc2-ebi-cs-mux-enable;
|
||||
st,fmc2-ebi-cs-transaction-type = <4>;
|
||||
st,fmc2-ebi-cs-buswidth = <16>;
|
||||
st,fmc2-ebi-cs-address-setup-ns = <5>;
|
||||
st,fmc2-ebi-cs-address-hold-ns = <5>;
|
||||
st,fmc2-ebi-cs-bus-turnaround-ns = <5>;
|
||||
st,fmc2-ebi-cs-data-setup-ns = <45>;
|
||||
st,fmc2-ebi-cs-data-hold-ns = <1>;
|
||||
st,fmc2-ebi-cs-write-address-setup-ns = <5>;
|
||||
st,fmc2-ebi-cs-write-address-hold-ns = <5>;
|
||||
st,fmc2-ebi-cs-write-bus-turnaround-ns = <5>;
|
||||
st,fmc2-ebi-cs-write-data-setup-ns = <45>;
|
||||
st,fmc2-ebi-cs-write-data-hold-ns = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpioc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c4_pins_a>;
|
||||
@ -202,6 +240,7 @@
|
||||
|
||||
vdda: ldo1 {
|
||||
regulator-name = "vdda";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2900000>;
|
||||
regulator-max-microvolt = <2900000>;
|
||||
interrupts = <IT_CURLIM_LDO1 0>;
|
||||
|
@ -21,6 +21,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
&dts {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c4_pins_a>;
|
||||
|
@ -124,6 +124,10 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crc1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dts {
|
||||
status = "okay";
|
||||
};
|
||||
@ -151,6 +155,10 @@
|
||||
contiguous-area = <&gpu_reserved>;
|
||||
};
|
||||
|
||||
&hash1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
@ -238,6 +246,30 @@
|
||||
/delete-property/dmas;
|
||||
/delete-property/dma-names;
|
||||
|
||||
stusb1600@28 {
|
||||
compatible = "st,stusb1600";
|
||||
reg = <0x28>;
|
||||
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-parent = <&gpioi>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&stusb1600_pins_a>;
|
||||
status = "okay";
|
||||
vdd-supply = <&vin>;
|
||||
|
||||
connector {
|
||||
compatible = "usb-c-connector";
|
||||
label = "USB-C";
|
||||
power-role = "dual";
|
||||
typec-power-opmode = "default";
|
||||
|
||||
port {
|
||||
con_usbotg_hs_ep: endpoint {
|
||||
remote-endpoint = <&usbotg_hs_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pmic: stpmic@33 {
|
||||
compatible = "st,stpmic1";
|
||||
reg = <0x33>;
|
||||
@ -648,6 +680,12 @@
|
||||
phy-names = "usb2-phy";
|
||||
usb-role-switch;
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
usbotg_hs_ep: endpoint {
|
||||
remote-endpoint = <&con_usbotg_hs_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usbphyc {
|
||||
|
Loading…
Reference in New Issue
Block a user