| // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) |
| /* |
| * Copyright (C) Geanix ApS 2023 - All Rights Reserved |
| * Author: Sean Nyekjaer <sean@geanix.com> |
| */ |
| |
| /dts-v1/; |
| |
| #include "stm32mp157.dtsi" |
| #include "stm32mp15xc.dtsi" |
| #include "stm32mp15xx-osd32.dtsi" |
| #include "stm32mp15xxac-pinctrl.dtsi" |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/pinctrl/stm32-pinfunc.h> |
| |
| / { |
| model = "Octavo OSD32MP1 RED board"; |
| compatible = "oct,stm32mp157c-osd32-red", "oct,stm32mp15xx-osd32", "st,stm32mp157"; |
| |
| aliases { |
| serial0 = &uart4; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| led-controller-0 { |
| compatible = "gpio-leds"; |
| |
| led-0 { |
| label = "heartbeat"; |
| gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "heartbeat"; |
| }; |
| }; |
| }; |
| |
| &crc1 { |
| status = "okay"; |
| }; |
| |
| &dts { |
| status = "okay"; |
| }; |
| |
| ðernet0 { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <ðernet0_rgmii_pins_a>; |
| pinctrl-1 = <ðernet0_rgmii_sleep_pins_a>; |
| phy-mode = "rgmii-id"; |
| max-speed = <1000>; |
| phy-handle = <&phy0>; |
| st,eth-clk-sel; |
| status = "okay"; |
| |
| mdio { |
| compatible = "snps,dwmac-mdio"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| phy0: ethernet-phy@3 { |
| reg = <3>; |
| }; |
| }; |
| }; |
| |
| &iwdg2 { |
| timeout-sec = <32>; |
| status = "okay"; |
| }; |
| |
| &i2c1 { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&i2c1_pins_a>; |
| pinctrl-1 = <&i2c1_sleep_pins_a>; |
| status = "okay"; |
| i2c-scl-rising-time-ns = <100>; |
| i2c-scl-falling-time-ns = <7>; |
| /* spare dmas for other usage */ |
| /delete-property/dmas; |
| /delete-property/dma-names; |
| |
| hdmi-transmitter@39 { |
| compatible = "sil,sii9022"; |
| reg = <0x39>; |
| reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; |
| interrupts = <1 IRQ_TYPE_EDGE_FALLING>; |
| interrupt-parent = <&gpiog>; |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <<dc_pins_e>; |
| pinctrl-1 = <<dc_sleep_pins_e>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| sii9022_in: endpoint { |
| remote-endpoint = <<dc_ep0_out>; |
| }; |
| }; |
| |
| port@3 { |
| reg = <3>; |
| sii9022_tx_endpoint: endpoint { |
| remote-endpoint = <&i2s2_endpoint>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &i2s2 { |
| clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc CK_PER>, <&rcc PLL3_R>; |
| clock-names = "pclk", "i2sclk", "x8k", "x11k"; |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&i2s2_pins_b>; |
| pinctrl-1 = <&i2s2_sleep_pins_b>; |
| status = "okay"; |
| |
| i2s2_port: port { |
| i2s2_endpoint: endpoint { |
| remote-endpoint = <&sii9022_tx_endpoint>; |
| dai-format = "i2s"; |
| mclk-fs = <256>; |
| }; |
| }; |
| }; |
| |
| <dc { |
| status = "okay"; |
| |
| port { |
| ltdc_ep0_out: endpoint { |
| remote-endpoint = <&sii9022_in>; |
| }; |
| }; |
| }; |
| |
| &m_can1 { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&m_can1_pins_d>; |
| pinctrl-1 = <&m_can1_sleep_pins_d>; |
| status = "okay"; |
| }; |
| |
| &pwr_regulators { |
| vdd-supply = <&vdd>; |
| vdd_3v3_usbfs-supply = <&vdd_usb>; |
| }; |
| |
| &rtc { |
| status = "okay"; |
| }; |
| |
| &sdmmc1 { |
| pinctrl-names = "default", "opendrain", "sleep"; |
| pinctrl-0 = <&sdmmc1_b4_pins_a>; |
| pinctrl-1 = <&sdmmc1_b4_od_pins_a>; |
| pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; |
| cd-gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; |
| disable-wp; |
| st,neg-edge; |
| bus-width = <4>; |
| vmmc-supply = <&v3v3>; |
| status = "okay"; |
| }; |
| |
| &sdmmc2 { |
| pinctrl-names = "default", "opendrain", "sleep"; |
| pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>; |
| pinctrl-1 = <&sdmmc2_b4_od_pins_a>; |
| pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>; |
| non-removable; |
| no-sd; |
| no-sdio; |
| st,neg-edge; |
| bus-width = <8>; |
| vmmc-supply = <&v3v3>; |
| vqmmc-supply = <&vdd>; |
| mmc-ddr-3_3v; |
| status = "okay"; |
| }; |
| |
| &uart4 { |
| pinctrl-names = "default", "sleep", "idle"; |
| pinctrl-0 = <&uart4_pins_a>; |
| pinctrl-1 = <&uart4_sleep_pins_a>; |
| pinctrl-2 = <&uart4_idle_pins_a>; |
| /* spare dmas for other usage */ |
| /delete-property/dmas; |
| /delete-property/dma-names; |
| status = "okay"; |
| }; |
| |
| &usbh_ehci { |
| phys = <&usbphyc_port0>; |
| phy-names = "usb"; |
| status = "okay"; |
| }; |
| |
| &usbh_ohci { |
| phys = <&usbphyc_port0>; |
| phy-names = "usb"; |
| status = "okay"; |
| }; |
| |
| &usbotg_hs { |
| vbus-supply = <&vbus_otg>; |
| }; |
| |
| &usbphyc { |
| status = "okay"; |
| }; |
| |
| &usbphyc_port0 { |
| phy-supply = <&vdd_usb>; |
| }; |
| |
| &usbphyc_port1 { |
| phy-supply = <&vdd_usb>; |
| }; |