12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469 |
- /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
- /*
- * Copyright (C) STMicroelectronics 2020 - All Rights Reserved
- * Author: STM32CubeMX code generation for STMicroelectronics.
- */
- /* For more information on Device Tree configuration, please refer to
- * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration
- */
- /dts-v1/;
- #include "stm32mp157c-osd32mp1-red.dtsi"
- #include "stm32mp157cac-pinctrl.dtsi"
- #include "stm32mp157c-m4-srm.dtsi"
- #include <dt-bindings/input/input.h>
- #include <dt-bindings/mfd/st,stpmic1.h>
- #include <dt-bindings/rtc/rtc-stm32.h>
- / {
- model = "Octavo OSD32MP1-RED board";
- compatible = "octavo,osd32mp1-red", "st,stm32mp157";
- memory@c0000000 {
- reg = <0xc0000000 0x20000000>;
- };
- wifi_pwrseq: wifi-pwrseq {
- compatible = "mmc-pwrseq-simple";
- reset-gpios = <&gpiog 5 GPIO_ACTIVE_LOW>;
- };
- reserved-memory {
- #address-cells = <1>;
- #size-cells = <1>;
- ranges;
- retram: retram@0x38000000 {
- compatible = "shared-dma-pool";
- reg = <0x38000000 0x10000>;
- no-map;
- };
- mcuram: mcuram@0x30000000 {
- compatible = "shared-dma-pool";
- reg = <0x30000000 0x40000>;
- no-map;
- };
- mcuram2: mcuram2@0x10000000 {
- compatible = "shared-dma-pool";
- reg = <0x10000000 0x40000>;
- no-map;
- };
- vdev0vring0: vdev0vring0@10040000 {
- compatible = "shared-dma-pool";
- reg = <0x10040000 0x2000>;
- no-map;
- };
- vdev0vring1: vdev0vring1@10042000 {
- compatible = "shared-dma-pool";
- reg = <0x10042000 0x2000>;
- no-map;
- };
- vdev0buffer: vdev0buffer@10044000 {
- compatible = "shared-dma-pool";
- reg = <0x10044000 0x4000>;
- no-map;
- };
- gpu_reserved: gpu@d4000000 {
- reg = <0xd4000000 0x4000000>;
- no-map;
- };
- };
- aliases {
- ethernet0 = ðernet0;
- serial0 = &uart4;
- serial1 = &usart3;
- serial2 = &uart7;
- serial3 = &usart2;
- };
- chosen {
- stdout-path = "serial0:115200n8";
- };
- sram: sram@10050000 {
- compatible = "mmio-sram";
- reg = <0x10050000 0x10000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0x10050000 0x10000>;
- dma_pool: dma_pool@0 {
- reg = <0x0 0x10000>;
- pool;
- };
- };
- led {
- compatible = "gpio-leds";
- blue {
- label = "heartbeat";
- gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
- linux,default-trigger = "heartbeat";
- default-state = "off";
- };
- };
- sound {
- compatible = "audio-graph-card";
- label = "STM32MP1-DK";
- routing =
- "Playback" , "MCLK",
- "Capture" , "MCLK",
- "MICL" , "Mic Bias";
- dais = <&i2s2_port>;
- status = "okay";
- };
- usb_phy_tuning: usb-phy-tuning {
- st,hs-dc-level = <2>;
- st,fs-rftime-tuning;
- st,hs-rftime-reduction;
- st,hs-current-trim = <15>;
- st,hs-impedance-trim = <1>;
- st,squelch-level = <3>;
- st,hs-rx-offset = <2>;
- st,no-lsfs-sc;
- };
- clocks {
- clk_ext_camera: clk-ext-camera {
- #clock-cells = <0>;
- compatible = "fixed-clock";
- clock-frequency = <24000000>;
- };
- clk_lsi: clk-lsi {
- clock-frequency = <32000>;
- };
- clk_hsi: clk-hsi {
- clock-frequency = <64000000>;
- };
- clk_csi: clk-csi {
- clock-frequency = <4000000>;
- };
- clk_lse: clk-lse {
- clock-frequency = <32768>;
- };
- clk_hse: clk-hse {
- clock-frequency = <24000000>;
- };
- };
- }; /*root*/
- &pinctrl {
- u-boot,dm-pre-reloc;
- dcmi_pins_mx: dcmi_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('A', 4, AF13)>, /* DCMI_HSYNC */
- <STM32_PINMUX('A', 6, AF13)>, /* DCMI_PIXCLK */
- <STM32_PINMUX('A', 10, AF13)>, /* DCMI_D1 */
- <STM32_PINMUX('B', 9, AF13)>, /* DCMI_D7 */
- <STM32_PINMUX('C', 6, AF13)>, /* DCMI_D0 */
- <STM32_PINMUX('E', 0, AF13)>, /* DCMI_D2 */
- <STM32_PINMUX('E', 1, AF13)>, /* DCMI_D3 */
- <STM32_PINMUX('E', 4, AF13)>, /* DCMI_D4 */
- <STM32_PINMUX('E', 13, AF13)>, /* DCMI_D6 */
- <STM32_PINMUX('G', 9, AF13)>, /* DCMI_VSYNC */
- <STM32_PINMUX('H', 6, AF13)>, /* DCMI_D8 */
- <STM32_PINMUX('H', 7, AF13)>, /* DCMI_D9 */
- <STM32_PINMUX('H', 15, AF13)>, /* DCMI_D11 */
- <STM32_PINMUX('I', 3, AF13)>, /* DCMI_D10 */
- <STM32_PINMUX('I', 4, AF13)>; /* DCMI_D5 */
- bias-disable;
- };
- };
- dcmi_sleep_pins_mx: dcmi_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* DCMI_HSYNC */
- <STM32_PINMUX('A', 6, ANALOG)>, /* DCMI_PIXCLK */
- <STM32_PINMUX('A', 10, ANALOG)>, /* DCMI_D1 */
- <STM32_PINMUX('B', 9, ANALOG)>, /* DCMI_D7 */
- <STM32_PINMUX('C', 6, ANALOG)>, /* DCMI_D0 */
- <STM32_PINMUX('E', 0, ANALOG)>, /* DCMI_D2 */
- <STM32_PINMUX('E', 1, ANALOG)>, /* DCMI_D3 */
- <STM32_PINMUX('E', 4, ANALOG)>, /* DCMI_D4 */
- <STM32_PINMUX('E', 13, ANALOG)>, /* DCMI_D6 */
- <STM32_PINMUX('G', 9, ANALOG)>, /* DCMI_VSYNC */
- <STM32_PINMUX('H', 6, ANALOG)>, /* DCMI_D8 */
- <STM32_PINMUX('H', 7, ANALOG)>, /* DCMI_D9 */
- <STM32_PINMUX('H', 15, ANALOG)>, /* DCMI_D11 */
- <STM32_PINMUX('I', 3, ANALOG)>, /* DCMI_D10 */
- <STM32_PINMUX('I', 4, ANALOG)>; /* DCMI_D5 */
- };
- };
- eth1_pins_mx: eth1_mx-0 {
- pins1 {
- pinmux = <STM32_PINMUX('A', 1, AF11)>, /* ETH1_RX_CLK */
- <STM32_PINMUX('A', 7, AF11)>, /* ETH1_RX_CTL */
- <STM32_PINMUX('B', 0, AF11)>, /* ETH1_RXD2 */
- <STM32_PINMUX('B', 1, AF11)>, /* ETH1_RXD3 */
- <STM32_PINMUX('C', 4, AF11)>, /* ETH1_RXD0 */
- <STM32_PINMUX('C', 5, AF11)>; /* ETH1_RXD1 */
- bias-disable;
- };
- pins2 {
- pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH1_MDIO */
- bias-disable;
- drive-push-pull;
- slew-rate = <0>;
- };
- pins3 {
- pinmux = <STM32_PINMUX('B', 11, AF11)>, /* ETH1_TX_CTL */
- <STM32_PINMUX('C', 1, AF11)>, /* ETH1_MDC */
- <STM32_PINMUX('C', 2, AF11)>, /* ETH1_TXD2 */
- <STM32_PINMUX('E', 2, AF11)>, /* ETH1_TXD3 */
- <STM32_PINMUX('G', 4, AF11)>, /* ETH1_GTX_CLK */
- <STM32_PINMUX('G', 13, AF11)>, /* ETH1_TXD0 */
- <STM32_PINMUX('G', 14, AF11)>; /* ETH1_TXD1 */
- bias-disable;
- drive-push-pull;
- slew-rate = <2>;
- };
- };
- eth1_sleep_pins_mx: eth1_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('A', 1, ANALOG)>, /* ETH1_RX_CLK */
- <STM32_PINMUX('A', 2, ANALOG)>, /* ETH1_MDIO */
- <STM32_PINMUX('A', 7, ANALOG)>, /* ETH1_RX_CTL */
- <STM32_PINMUX('B', 0, ANALOG)>, /* ETH1_RXD2 */
- <STM32_PINMUX('B', 1, ANALOG)>, /* ETH1_RXD3 */
- <STM32_PINMUX('B', 11, ANALOG)>, /* ETH1_TX_CTL */
- <STM32_PINMUX('C', 1, ANALOG)>, /* ETH1_MDC */
- <STM32_PINMUX('C', 2, ANALOG)>, /* ETH1_TXD2 */
- <STM32_PINMUX('C', 4, ANALOG)>, /* ETH1_RXD0 */
- <STM32_PINMUX('C', 5, ANALOG)>, /* ETH1_RXD1 */
- <STM32_PINMUX('E', 2, ANALOG)>, /* ETH1_TXD3 */
- <STM32_PINMUX('G', 4, ANALOG)>, /* ETH1_GTX_CLK */
- <STM32_PINMUX('G', 13, ANALOG)>, /* ETH1_TXD0 */
- <STM32_PINMUX('G', 14, ANALOG)>; /* ETH1_TXD1 */
- };
- };
- i2c1_pins_mx: i2c1_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */
- <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
- bias-disable;
- drive-open-drain;
- slew-rate = <0>;
- };
- };
- i2c1_sleep_pins_mx: i2c1_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* I2C1_SCL */
- <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */
- };
- };
- i2c2_pins_mx: i2c2_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
- bias-disable;
- drive-open-drain;
- slew-rate = <0>;
- };
- };
- i2c2_sleep_pins_mx: i2c2_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */
- };
- };
- i2c5_pins_mx: i2c5_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('A', 11, AF4)>, /* I2C5_SCL */
- <STM32_PINMUX('A', 12, AF4)>; /* I2C5_SDA */
- bias-disable;
- drive-open-drain;
- slew-rate = <0>;
- };
- };
- i2c5_sleep_pins_mx: i2c5_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('A', 11, ANALOG)>, /* I2C5_SCL */
- <STM32_PINMUX('A', 12, ANALOG)>; /* I2C5_SDA */
- };
- };
- i2s2_pins_mx: i2s2_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('B', 12, AF5)>, /* I2S2_WS */
- <STM32_PINMUX('B', 13, AF5)>, /* I2S2_CK */
- <STM32_PINMUX('C', 3, AF5)>; /* I2S2_SDO */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- };
- i2s2_sleep_pins_mx: i2s2_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('B', 12, ANALOG)>, /* I2S2_WS */
- <STM32_PINMUX('B', 13, ANALOG)>, /* I2S2_CK */
- <STM32_PINMUX('C', 3, ANALOG)>; /* I2S2_SDO */
- };
- };
- ltdc_pins_mx: ltdc_mx-0 {
- pins1 {
- pinmux = <STM32_PINMUX('A', 3, AF14)>, /* LTDC_B5 */
- <STM32_PINMUX('B', 8, AF14)>, /* LTDC_B6 */
- <STM32_PINMUX('C', 0, AF14)>, /* LTDC_R5 */
- <STM32_PINMUX('D', 8, AF14)>, /* LTDC_B7 */
- <STM32_PINMUX('D', 9, AF14)>, /* LTDC_B0 */
- <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */
- <STM32_PINMUX('E', 6, AF14)>, /* LTDC_G1 */
- <STM32_PINMUX('E', 12, AF14)>, /* LTDC_B4 */
- <STM32_PINMUX('E', 14, AF13)>, /* LTDC_G0 */
- <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */
- <STM32_PINMUX('F', 10, AF14)>, /* LTDC_DE */
- <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */
- <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */
- <STM32_PINMUX('H', 2, AF14)>, /* LTDC_R0 */
- <STM32_PINMUX('H', 3, AF14)>, /* LTDC_R1 */
- <STM32_PINMUX('H', 4, AF14)>, /* LTDC_G4 */
- <STM32_PINMUX('H', 8, AF14)>, /* LTDC_R2 */
- <STM32_PINMUX('H', 9, AF14)>, /* LTDC_R3 */
- <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */
- <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */
- <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */
- <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */
- <STM32_PINMUX('I', 0, AF14)>, /* LTDC_G5 */
- <STM32_PINMUX('I', 1, AF14)>, /* LTDC_G6 */
- <STM32_PINMUX('I', 2, AF14)>, /* LTDC_G7 */
- <STM32_PINMUX('G', 7, AF14)>, /* LTDC_CLK */
- <STM32_PINMUX('I', 9, AF14)>, /* LTDC_VSYNC */
- <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- };
- ltdc_sleep_pins_mx: ltdc_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('A', 3, ANALOG)>, /* LTDC_B5 */
- <STM32_PINMUX('B', 8, ANALOG)>, /* LTDC_B6 */
- <STM32_PINMUX('C', 0, ANALOG)>, /* LTDC_R5 */
- <STM32_PINMUX('D', 8, ANALOG)>, /* LTDC_B7 */
- <STM32_PINMUX('D', 9, ANALOG)>, /* LTDC_B0 */
- <STM32_PINMUX('D', 10, ANALOG)>, /* LTDC_B3 */
- <STM32_PINMUX('E', 6, ANALOG)>, /* LTDC_G1 */
- <STM32_PINMUX('E', 12, ANALOG)>, /* LTDC_B4 */
- <STM32_PINMUX('E', 14, ANALOG)>, /* LTDC_G0 */
- <STM32_PINMUX('E', 15, ANALOG)>, /* LTDC_R7 */
- <STM32_PINMUX('F', 10, ANALOG)>, /* LTDC_DE */
- <STM32_PINMUX('G', 7, ANALOG)>, /* LTDC_CLK */
- <STM32_PINMUX('G', 10, ANALOG)>, /* LTDC_B2 */
- <STM32_PINMUX('G', 12, ANALOG)>, /* LTDC_B1 */
- <STM32_PINMUX('H', 2, ANALOG)>, /* LTDC_R0 */
- <STM32_PINMUX('H', 3, ANALOG)>, /* LTDC_R1 */
- <STM32_PINMUX('H', 4, ANALOG)>, /* LTDC_G4 */
- <STM32_PINMUX('H', 8, ANALOG)>, /* LTDC_R2 */
- <STM32_PINMUX('H', 9, ANALOG)>, /* LTDC_R3 */
- <STM32_PINMUX('H', 10, ANALOG)>, /* LTDC_R4 */
- <STM32_PINMUX('H', 12, ANALOG)>, /* LTDC_R6 */
- <STM32_PINMUX('H', 13, ANALOG)>, /* LTDC_G2 */
- <STM32_PINMUX('H', 14, ANALOG)>, /* LTDC_G3 */
- <STM32_PINMUX('I', 0, ANALOG)>, /* LTDC_G5 */
- <STM32_PINMUX('I', 1, ANALOG)>, /* LTDC_G6 */
- <STM32_PINMUX('I', 2, ANALOG)>, /* LTDC_G7 */
- <STM32_PINMUX('I', 9, ANALOG)>, /* LTDC_VSYNC */
- <STM32_PINMUX('I', 10, ANALOG)>; /* LTDC_HSYNC */
- };
- };
- sdmmc1_pins_mx: sdmmc1_mx-0 {
- u-boot,dm-pre-reloc;
- pins1 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
- <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
- <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
- <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
- <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- pins2 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
- bias-disable;
- drive-push-pull;
- slew-rate = <3>;
- };
- };
- sdmmc1_opendrain_pins_mx: sdmmc1_opendrain_mx-0 {
- u-boot,dm-pre-reloc;
- pins1 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
- <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
- <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
- <STM32_PINMUX('C', 11, AF12)>; /* SDMMC1_D3 */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- pins2 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
- bias-disable;
- drive-push-pull;
- slew-rate = <3>;
- };
- pins3 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
- bias-disable;
- drive-open-drain;
- slew-rate = <1>;
- };
- };
- sdmmc1_sleep_pins_mx: sdmmc1_sleep_mx-0 {
- u-boot,dm-pre-reloc;
- pins {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */
- <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */
- <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */
- <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */
- <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */
- <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */
- };
- };
- sdmmc2_pins_mx: sdmmc2_mx-0 {
- u-boot,dm-pre-reloc;
- pins1 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
- <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
- <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
- <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
- <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
- <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
- <STM32_PINMUX('C', 7, AF10)>, /* SDMMC2_D7 */
- <STM32_PINMUX('E', 5, AF9)>, /* SDMMC2_D6 */
- <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
- bias-pull-up;
- drive-push-pull;
- slew-rate = <1>;
- };
- pins2 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
- bias-pull-up;
- drive-push-pull;
- slew-rate = <2>;
- };
- };
- sdmmc2_opendrain_pins_mx: sdmmc2_opendrain_mx-0 {
- u-boot,dm-pre-reloc;
- pins1 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
- <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
- <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
- <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
- <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
- <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
- <STM32_PINMUX('C', 7, AF10)>, /* SDMMC2_D7 */
- <STM32_PINMUX('E', 5, AF9)>; /* SDMMC2_D6 */
- bias-pull-up;
- drive-push-pull;
- slew-rate = <1>;
- };
- pins2 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
- bias-pull-up;
- drive-push-pull;
- slew-rate = <2>;
- };
- pins3 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
- bias-pull-up;
- drive-open-drain;
- slew-rate = <1>;
- };
- };
- sdmmc2_sleep_pins_mx: sdmmc2_sleep_mx-0 {
- u-boot,dm-pre-reloc;
- pins {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */
- <STM32_PINMUX('A', 9, ANALOG)>, /* SDMMC2_D5 */
- <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */
- <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */
- <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */
- <STM32_PINMUX('B', 15, ANALOG)>, /* SDMMC2_D1 */
- <STM32_PINMUX('C', 7, ANALOG)>, /* SDMMC2_D7 */
- <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */
- <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC2_D6 */
- <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */
- };
- };
- sdmmc3_pins_mx: sdmmc3_mx-0 {
- u-boot,dm-pre-reloc;
- pins1 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('D', 7, AF10)>, /* SDMMC3_D3 */
- <STM32_PINMUX('F', 0, AF9)>, /* SDMMC3_D0 */
- <STM32_PINMUX('F', 1, AF9)>, /* SDMMC3_CMD */
- <STM32_PINMUX('F', 4, AF9)>, /* SDMMC3_D1 */
- <STM32_PINMUX('F', 5, AF9)>; /* SDMMC3_D2 */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- pins2 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('G', 15, AF10)>; /* SDMMC3_CK */
- bias-disable;
- drive-push-pull;
- slew-rate = <2>;
- };
- };
- sdmmc3_opendrain_pins_mx: sdmmc3_opendrain_mx-0 {
- u-boot,dm-pre-reloc;
- pins1 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('D', 7, AF10)>, /* SDMMC3_D3 */
- <STM32_PINMUX('F', 0, AF9)>, /* SDMMC3_D0 */
- <STM32_PINMUX('F', 4, AF9)>, /* SDMMC3_D1 */
- <STM32_PINMUX('F', 5, AF9)>; /* SDMMC3_D2 */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- pins2 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('F', 1, AF9)>; /* SDMMC3_CMD */
- bias-disable;
- drive-open-drain;
- slew-rate = <1>;
- };
- pins3 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('G', 15, AF10)>; /* SDMMC3_CK */
- bias-disable;
- drive-push-pull;
- slew-rate = <2>;
- };
- };
- sdmmc3_sleep_pins_mx: sdmmc3_sleep_mx-0 {
- u-boot,dm-pre-reloc;
- pins {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('D', 7, ANALOG)>, /* SDMMC3_D3 */
- <STM32_PINMUX('F', 0, ANALOG)>, /* SDMMC3_D0 */
- <STM32_PINMUX('F', 1, ANALOG)>, /* SDMMC3_CMD */
- <STM32_PINMUX('F', 4, ANALOG)>, /* SDMMC3_D1 */
- <STM32_PINMUX('F', 5, ANALOG)>, /* SDMMC3_D2 */
- <STM32_PINMUX('G', 15, ANALOG)>; /* SDMMC3_CK */
- };
- };
- spi5_pins_mx: spi5_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('F', 7, AF5)>, /* SPI5_SCK */
- <STM32_PINMUX('F', 8, AF5)>, /* SPI5_MISO */
- <STM32_PINMUX('F', 9, AF5)>; /* SPI5_MOSI */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- };
- spi5_sleep_pins_mx: spi5_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('F', 7, ANALOG)>, /* SPI5_SCK */
- <STM32_PINMUX('F', 8, ANALOG)>, /* SPI5_MISO */
- <STM32_PINMUX('F', 9, ANALOG)>; /* SPI5_MOSI */
- };
- };
- tim5_pwm_pins_mx: tim5_pwm_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('H', 11, AF2)>; /* TIM5_CH2 */
- bias-disable;
- drive-push-pull;
- slew-rate = <0>;
- };
- };
- tim5_pwm_sleep_pins_mx: tim5_pwm_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('H', 11, ANALOG)>; /* TIM5_CH2 */
- };
- };
- uart4_pins_mx: uart4_mx-0 {
- u-boot,dm-pre-reloc;
- pins1 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
- bias-disable;
- };
- pins2 {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
- bias-disable;
- drive-push-pull;
- slew-rate = <0>;
- };
- };
- uart4_sleep_pins_mx: uart4_sleep_mx-0 {
- u-boot,dm-pre-reloc;
- pins {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('B', 2, ANALOG)>, /* UART4_RX */
- <STM32_PINMUX('G', 11, ANALOG)>; /* UART4_TX */
- };
- };
- usart2_pins_mx: usart2_mx-0 {
- pins1 {
- pinmux = <STM32_PINMUX('D', 3, AF7)>, /* USART2_CTS */
- <STM32_PINMUX('D', 6, AF7)>; /* USART2_RX */
- bias-disable;
- };
- pins2 {
- pinmux = <STM32_PINMUX('D', 4, AF7)>, /* USART2_RTS */
- <STM32_PINMUX('D', 5, AF7)>; /* USART2_TX */
- bias-disable;
- drive-push-pull;
- slew-rate = <0>;
- };
- };
- usart2_idle_pins_mx: usart2_sleep_mx-0 {
- pins1 {
- pinmux = <STM32_PINMUX('D', 5, ANALOG)>, /* USART2_TX */
- <STM32_PINMUX('D', 4, ANALOG)>, /* USART2_RTS */
- <STM32_PINMUX('D', 3, ANALOG)>; /* USART2_CTS_NSS */
- };
- pins2 {
- pinmux = <STM32_PINMUX('D', 6, AF7)>; /* USART2_RX */
- bias-disable;
- };
- };
- usart2_sleep_pins_mx: usart2_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('D', 3, ANALOG)>, /* USART2_CTS */
- <STM32_PINMUX('D', 4, ANALOG)>, /* USART2_RTS */
- <STM32_PINMUX('D', 5, ANALOG)>, /* USART2_TX */
- <STM32_PINMUX('D', 6, ANALOG)>; /* USART2_RX */
- };
- };
- m_can1_pins_mx: m_can1_sleep_mx-0 {
- pins1 {
- pinmux = <STM32_PINMUX('D', 1, AF9)>; /* CAN1_TX */
- slew-rate = <0>;
- drive-push-pull;
- bias-disable;
- };
- pins2 {
- pinmux = <STM32_PINMUX('D', 0, AF9)>; /* CAN1_RX */
- bias-disable;
- };
- };
- m_can1_sleep_pins_mx: m_can1_sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('D', 1, ANALOG)>, /* CAN1_TX */
- <STM32_PINMUX('D', 0, ANALOG)>; /* CAN1_RX */
- };
- };
- stusb1600_pins_mx: stusb1600_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('E', 8, ANALOG)>;
- bias-pull-up;
- };
- };
- };
- &pinctrl_z {
- u-boot,dm-pre-reloc;
- i2c2_pins_z_mx: i2c2_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('Z', 6, AF3)>; /* I2C2_SCL */
- bias-disable;
- drive-open-drain;
- slew-rate = <0>;
- };
- };
- i2c2_sleep_pins_z_mx: i2c2_sleep_mx-0 {
- pins {
- pinmux = <STM32_PINMUX('Z', 6, ANALOG)>; /* I2C2_SCL */
- };
- };
- i2c4_pins_z_mx: i2c4_mx-0 {
- u-boot,dm-pre-reloc;
- pins {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */
- <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */
- bias-disable;
- drive-open-drain;
- slew-rate = <0>;
- };
- };
- i2c4_sleep_pins_z_mx: i2c4_sleep_mx-0 {
- u-boot,dm-pre-reloc;
- pins {
- u-boot,dm-pre-reloc;
- pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C4_SCL */
- <STM32_PINMUX('Z', 5, ANALOG)>; /* I2C4_SDA */
- };
- };
- };
- &m4_rproc {
- memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
- <&vdev0vring1>, <&vdev0buffer>;
- mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
- mbox-names = "vq0", "vq1", "shutdown";
- interrupt-parent = <&exti>;
- interrupts = <68 1>;
- interrupt-names = "wdg";
- wakeup-source;
- recovery;
- status = "okay";
- };
- &bsec{
- status = "okay";
- };
- &dcmi{
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&dcmi_pins_mx>;
- pinctrl-1 = <&dcmi_sleep_pins_mx>;
- status = "okay";
- port {
- dcmi_0: endpoint {
- remote-endpoint = <&ov5640_0>;
- bus-width = <8>;
- hsync-active = <0>;
- vsync-active = <0>;
- pclk-sample = <1>;
- pclk-max-frequency = <77000000>;
- };
- };
- };
- &dsi{
- status = "okay";
- #address-cells = <1>;
- #size-cells = <0>;
- status = "okay";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- dsi_in: endpoint {
- remote-endpoint = <<dc_ep1_out>;
- };
- };
- port@1 {
- reg = <1>;
- dsi_out: endpoint {
- remote-endpoint = <&panel_in>;
- };
- };
- };
- panel@0 {
- compatible = "orisetech,otm8009a";
- reg = <0>;
- reset-gpios = <&gpioe 9 GPIO_ACTIVE_LOW>;
- power-supply = <&v3v3>;
- status = "okay";
- port {
- panel_in: endpoint {
- remote-endpoint = <&dsi_out>;
- };
- };
- };
- };
- ðernet0{
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <ð1_pins_mx>;
- pinctrl-1 = <ð1_sleep_pins_mx>;
- status = "okay";
- st,eth_clk_sel = <1>;
- phy-mode = "rgmii-id";
- max-speed = <1000>;
- phy-handle = <&phy0>;
- mdio0 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "snps,dwmac-mdio";
- phy0: ethernet-phy@0 {
- reg = <3>;
- };
- };
- };
- &gpu{
- status = "okay";
- contiguous-area = <&gpu_reserved>;
- };
- &hsem{
- status = "okay";
- };
- &i2c1{
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&i2c1_pins_mx>;
- pinctrl-1 = <&i2c1_sleep_pins_mx>;
- status = "okay";
- i2c-scl-rising-time-ns = <100>;
- i2c-scl-falling-time-ns = <7>;
- /delete-property/dmas;
- /delete-property/dma-names;
- touchscreen@2a {
- compatible = "focaltech,ft6236";
- reg = <0x2a>;
- interrupts = <2 2>;
- interrupt-parent = <&gpiof>;
- interrupt-controller;
- touchscreen-size-x = <480>;
- touchscreen-size-y = <800>;
- status = "okay";
- };
- touchscreen@38 {
- compatible = "focaltech,ft6336";
- reg = <0x38>;
- interrupts = <2 2>;
- interrupt-parent = <&gpiof>;
- interrupt-controller;
- touchscreen-size-x = <480>;
- touchscreen-size-y = <800>;
- status = "okay";
- };
- 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_mx>;
- pinctrl-1 = <<dc_sleep_pins_mx>;
- status = "okay";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- sii9022_in: endpoint {
- remote-endpoint = <<dc_ep0_out>;
- };
- };
- port@1 {
- reg = <1>;
- sii9022_tx_endpoint: endpoint {
- remote-endpoint = <&i2s2_endpoint>;
- };
- };
- };
- };
- };
- &i2c2{
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&i2c2_pins_mx &i2c2_pins_z_mx>;
- pinctrl-1 = <&i2c2_sleep_pins_mx &i2c2_sleep_pins_z_mx>;
- status = "okay";
- i2c-scl-rising-time-ns = <185>;
- i2c-scl-falling-time-ns = <20>;
- /delete-property/dmas;
- /delete-property/dma-names;
- ov5640: camera@3c {
- compatible = "ovti,ov5640";
- reg = <0x3c>;
- clocks = <&clk_ext_camera>;
- clock-names = "xclk";
- DOVDD-supply = <&v3v3>;
- rotation = <180>;
- status = "okay";
- port {
- ov5640_0: endpoint {
- remote-endpoint = <&dcmi_0>;
- bus-width = <8>;
- data-shift = <2>; /* lines 9:2 are used */
- hsync-active = <0>;
- vsync-active = <0>;
- pclk-sample = <1>;
- pclk-max-frequency = <77000000>;
- };
- };
- };
- };
- &i2c4{
- u-boot,dm-pre-reloc;
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&i2c4_pins_z_mx>;
- pinctrl-1 = <&i2c4_sleep_pins_z_mx>;
- status = "okay";
- i2c-scl-rising-time-ns = <185>;
- i2c-scl-falling-time-ns = <20>;
- /delete-property/dmas;
- /delete-property/dma-names;
- typec: stusb1600@28 {
- compatible = "st,stusb1600";
- reg = <0x28>;
- interrupt-parent = <&gpioe>;
- interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
- pinctrl-0 = <&stusb1600_pins_mx>;
- pinctrl-names = "default";
- status = "okay";
- typec_con: connector {
- compatible = "usb-c-connector";
- label = "USB-C";
- power-role = "dual";
- power-opmode = "default";
- };
- };
- pmic: stpmic@33 {
- compatible = "st,stpmic1";
- reg = <0x33>;
- interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
- interrupt-controller;
- #interrupt-cells = <2>;
- status = "okay";
- st,main-control-register = <0x04>;
- st,vin-control-register = <0xc0>;
- st,usb-control-register = <0x20>;
- regulators {
- compatible = "st,stpmic1-regulators";
- ldo1-supply = <&v3v3>;
- ldo3-supply = <&vdd_ddr>;
- ldo6-supply = <&v3v3>;
- pwr_sw1-supply = <&bst_out>;
- pwr_sw2-supply = <&bst_out>;
- vddcore: buck1 {
- regulator-name = "vddcore";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1350000>;
- regulator-always-on;
- regulator-initial-mode = <0>;
- regulator-over-current-protection;
- };
- vdd_ddr: buck2 {
- regulator-name = "vdd_ddr";
- regulator-min-microvolt = <1350000>;
- regulator-max-microvolt = <1350000>;
- regulator-always-on;
- regulator-initial-mode = <0>;
- regulator-over-current-protection;
- };
- vdd: buck3 {
- regulator-name = "vdd";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-always-on;
- st,mask-reset;
- regulator-initial-mode = <0>;
- regulator-over-current-protection;
- };
- v3v3: buck4 {
- regulator-name = "v3v3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-always-on;
- regulator-over-current-protection;
- regulator-initial-mode = <0>;
- };
- v1v8_ldo1: ldo1 {
- regulator-name = "v1v8_ldo1";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- interrupts = <IT_CURLIM_LDO1 0>;
- };
- v2v8_ldo2: ldo2 { //custom
- regulator-name = "v2v8_ldo2";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- regulator-always-on;
- interrupts = <IT_CURLIM_LDO2 0>;
- };
- vtt_ddr: ldo3 {
- regulator-name = "vtt_ddr";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <750000>;
- regulator-always-on;
- regulator-over-current-protection;
- };
- vdd_usb: ldo4 {
- regulator-name = "vdd_usb";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- interrupts = <IT_CURLIM_LDO4 0>;
- };
- v3v3_eth: ldo5 {
- regulator-name = "v3v3_eth";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- interrupts = <IT_CURLIM_LDO5 0>;
- regulator-boot-on;
- };
- v3v3_dsi: ldo6 {
- regulator-name = "v3v3_dsi";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-always-on;
- interrupts = <IT_CURLIM_LDO6 0>;
- };
- vref_ddr: vref_ddr {
- regulator-name = "vref_ddr";
- regulator-always-on;
- regulator-over-current-protection;
- };
- bst_out: boost {
- regulator-name = "bst_out";
- interrupts = <IT_OCP_BOOST 0>;
- regulator-always-on;
- };
- vbus_otg: pwr_sw1 {
- regulator-name = "vbus_otg";
- interrupts = <IT_OCP_OTG 0>;
- regulator-active-discharge;
- regulator-always-on;
- };
- vbus_sw: pwr_sw2 {
- regulator-name = "vbus_sw";
- interrupts = <IT_OCP_SWOUT 0>;
- regulator-active-discharge;
- regulator-always-on;
- };
- };
- onkey {
- compatible = "st,stpmic1-onkey";
- interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
- interrupt-names = "onkey-falling", "onkey-rising";
- status = "okay";
- };
- watchdog {
- compatible = "st,stpmic1-wdt";
- status = "disabled";
- };
- };
- };
- &i2c5{
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&i2c5_pins_mx>;
- pinctrl-1 = <&i2c5_sleep_pins_mx>;
- status = "okay";
- /delete-property/dmas;
- /delete-property/dma-names;
- };
- &i2s2{
- clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
- clock-names = "pclk", "i2sclk", "x8k", "x11k";
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&i2s2_pins_mx>;
- pinctrl-1 = <&i2s2_sleep_pins_mx>;
- status = "okay";
- i2s2_port: port {
- i2s2_endpoint: endpoint {
- remote-endpoint = <&sii9022_tx_endpoint>;
- format = "i2s";
- mclk-fs = <256>;
- };
- };
- };
- &ipcc{
- status = "okay";
- };
- &iwdg2{
- status = "okay";
- timeout-sec = <32>;
- };
- <dc{
- status = "okay";
- port {
- #address-cells = <1>;
- #size-cells = <0>;
- ltdc_ep0_out: endpoint@0 {
- reg = <0>;
- remote-endpoint = <&sii9022_in>;
- };
- ltdc_ep1_out: endpoint@1 {
- reg = <1>;
- remote-endpoint = <&dsi_in>;
- };
- };
- };
- &pwr{
- status = "okay";
- pwr-regulators {
- vdd-supply = <&vdd>;
- vdd_3v3_usbfs-supply = <&vdd_usb>;
- };
- };
- &rcc{
- u-boot,dm-pre-reloc;
- status = "okay";
- };
- &rng1{
- status = "okay";
- };
- &rtc{
- status = "okay";
- st,lsco = <RTC_OUT2_RMP>;
- };
- &sdmmc1{
- u-boot,dm-pre-reloc;
- pinctrl-names = "default", "opendrain", "sleep";
- pinctrl-0 = <&sdmmc1_pins_mx>;
- pinctrl-1 = <&sdmmc1_opendrain_pins_mx>;
- pinctrl-2 = <&sdmmc1_sleep_pins_mx>;
- status = "okay";
- broken-cd;
- st,neg-edge;
- bus-width = <4>;
- vmmc-supply = <&v3v3>;
- };
- &sdmmc2{
- u-boot,dm-pre-reloc;
- pinctrl-names = "default", "opendrain", "sleep";
- pinctrl-0 = <&sdmmc2_pins_mx>;
- pinctrl-1 = <&sdmmc2_opendrain_pins_mx>;
- pinctrl-2 = <&sdmmc2_sleep_pins_mx>;
- status = "okay";
- non-removable;
- no-sd;
- no-sdio;
- st,neg-edge;
- bus-width = <8>;
- vmmc-supply = <&v3v3>;
- vqmmc-supply = <&v3v3>;
- mmc-ddr-3_3v;
- };
- &sdmmc3{
- u-boot,dm-pre-reloc;
- pinctrl-names = "default", "opendrain", "sleep";
- pinctrl-0 = <&sdmmc3_pins_mx>;
- pinctrl-1 = <&sdmmc3_opendrain_pins_mx>;
- pinctrl-2 = <&sdmmc3_sleep_pins_mx>;
- status = "okay";
- arm,primecell-periphid = <0x10153180>;
- non-removable;
- st,neg-edge;
- bus-width = <4>;
- vmmc-supply = <&v3v3>;
- mmc-pwrseq = <&wifi_pwrseq>;
- #address-cells = <1>;
- #size-cells = <0>;
- keep-power-in-suspend;
- status = "okay";
- brcmf: bcrmf@1 {
- reg = <1>;
- compatible = "brcm,bcm4329-fmac";
- status = "okay";
- };
- };
- &tamp{
- status = "okay";
- };
- &timers5 {
- /delete-property/dmas;
- /delete-property/dma-names;
- status = "okay";
- pwm {
- pinctrl-0 = <&tim5_pwm_pins_mx>;
- pinctrl-1 = <&tim5_pwm_sleep_pins_mx>;
- pinctrl-names = "default", "sleep";
- status = "okay";
- };
- timer@4 {
- status = "okay";
- };
- };
- &uart4{
- u-boot,dm-pre-reloc;
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&uart4_pins_mx>;
- pinctrl-1 = <&uart4_sleep_pins_mx>;
- status = "okay";
- };
- &usart2{
- pinctrl-names = "default", "sleep", "idle";
- pinctrl-0 = <&usart2_pins_mx>;
- pinctrl-1 = <&usart2_sleep_pins_mx>;
- pinctrl-2 = <&usart2_idle_pins_mx>;
- st,hw-flow-ctrl;
- status = "okay";
- bluetooth {
- shutdown-gpios = <&gpioe 10 GPIO_ACTIVE_HIGH>;
- compatible = "brcm,bcm43438-bt";
- max-speed = <3000000>;
- };
- };
- &m4_rproc {
- memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
- <&vdev0vring1>, <&vdev0buffer>;
- };
- &dma1 {
- sram = <&dma_pool>;
- };
- &dma2 {
- sram = <&dma_pool>;
- };
- &usbh_ehci {
- phys = <&usbphyc_port0>;
- phy-names = "usb";
- status = "okay";
- };
- &usbh_ohci{
- phys = <&usbphyc_port0>;
- phy-names = "usb";
- status = "okay";
- };
- &usbotg_hs {
- extcon = <&typec>;
- phys = <&usbphyc_port1 0>;
- phy-names = "usb2-phy";
- status = "okay";
- };
- &usbphyc {
- vdd3v3-supply = <&vdd_usb>;
- status = "okay";
- };
- &usbphyc_port0 {
- st,phy-tuning = <&usb_phy_tuning>;
- };
- &usbphyc_port1 {
- st,phy-tuning = <&usb_phy_tuning>;
- };
- &spi5 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&spi5_pins_mx>;
- pinctrl-1 = <&spi5_sleep_pins_mx>;
- cs-gpios = <&gpiof 6 0>;
- status = "okay";
- spidev: spidev@0 {
- compatible = "rohm,dh2228fv";
- spi-max-frequency = <30000000>;
- reg = <0>;
- };
- };
- // WARNING: Do not try to enable DAC1 and DCMI
- // This devices share the same pin PA4
- &dac {
- pinctrl-names = "default";
- vref-supply = <&vrefbuf>;
- status = "okay";
- dac1: dac@1 {
- pinctrl-0 = <&dac_ch1_pins_a>;
- status = "disabled";
- };
- dac2: dac@2 {
- pinctrl-0 = <&dac_ch2_pins_a>;
- status = "okay";
- };
- };
- &adc {
- vdd-supply = <&vdd>;
- vdda-supply = <&vdd>;
- vref-supply = <&v3v3_eth>;
- status = "okay";
- adc1: adc@0 {
- st,adc-channels = <0 1>; //ANA0 ANA1
- status = "okay";
- };
- adc2: adc@100 {
- //st,adc-channels = <0 1 2 6 12 18 19>;
- status = "okay";
- };
- };
- &m_can1 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&m_can1_pins_mx>;
- pinctrl-1 = <&m_can1_sleep_pins_mx>;
- status = "okay";
- };
|