1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120 |
- /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
- /*
- * Copyright (C) Octavo Systems LLC 2020 - All Rights Reserved
- */
- /* For more information on Device Tree configuration, please refer to
- * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration
- */
- /dts-v1/;
- #include <dt-bindings/pinctrl/stm32-pinfunc.h>
- #include "stm32mp157.dtsi"
- #include "stm32mp15xc.dtsi"
- #include "stm32mp15xxac-pinctrl.dtsi"
- #include "stm32mp15-m4-srm.dtsi"
- #include <dt-bindings/mfd/st,stpmic1.h>
- #include <dt-bindings/gpio/gpio.h>
- #include <dt-bindings/rtc/rtc-stm32.h>
- / {
- model = "Octavo OSD32MP1 BRK board";
- compatible = "st,stm32mp157c-osd32mp1-brk", "st,stm32mp157";
- memory@c0000000 {
- device_type = "memory";
- reg = <0xc0000000 0x20000000>;
- };
- reserved-memory {
- #address-cells = <1>;
- #size-cells = <1>;
- ranges;
- mcuram2:mcuram2@10000000{
- compatible = "shared-dma-pool";
- reg = <0x10000000 0x40000>;
- no-map;
- };
- vdev0vring0:vdev0vring0@10040000{
- compatible = "shared-dma-pool";
- reg = <0x10040000 0x1000>;
- no-map;
- };
- vdev0vring1:vdev0vring1@10041000{
- compatible = "shared-dma-pool";
- reg = <0x10041000 0x1000>;
- no-map;
- };
- vdev0buffer:vdev0buffer@10042000{
- compatible = "shared-dma-pool";
- reg = <0x10042000 0x4000>;
- no-map;
- };
- mcuram:mcuram@30000000{
- compatible = "shared-dma-pool";
- reg = <0x30000000 0x40000>;
- no-map;
- };
- retram:retram@38000000{
- compatible = "shared-dma-pool";
- reg = <0x38000000 0x10000>;
- no-map;
- };
- gpu_reserved:gpu@d4000000{
- reg = <0xd4000000 0x4000000>;
- no-map;
- };
- };
- led{
- compatible = "gpio-leds";
- red1{
- label = "LED1_RED";
- gpios = <&gpioz 6 GPIO_ACTIVE_LOW>;
- linux,default-trigger = "heartbeat";
- status = "okay";
- default-state = "off";
- };
- green1{
- label = "LED1_GRN";
- gpios = <&gpioz 7 GPIO_ACTIVE_LOW>;
- status = "okay";
- default-state = "on";
- };
- red2{
- label = "LED2_RED";
- gpios = <&gpioi 8 GPIO_ACTIVE_LOW>;
- status = "okay";
- default-state = "off";
- };
- green2{
- label = "LED2_GRN";
- gpios = <&gpioi 9 GPIO_ACTIVE_LOW>;
- default-state = "off";
- };
- };
- 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;
- };
- vin:vin{
- compatible = "regulator-fixed";
- regulator-name = "vin";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- regulator-always-on;
- };
- aliases{
- serial0 = &uart4;
- serial2 = &usart2;
- serial5 = &uart5;
- serial7 = &uart7;
- serial1 = &uart8;
- };
- chosen{
- stdout-path = "serial0:115200n8";
- };
- }; /*root*/
- &pinctrl {
- u-boot,dm-pre-reloc;
- i2c1_pins_mx: i2c1-0 {
- pins {
- pinmux = <STM32_PINMUX('H', 11, AF5)>, /* I2C1_SCL */
- <STM32_PINMUX('H', 12, AF5)>; /* I2C1_SDA */
- bias-disable;
- drive-open-drain;
- slew-rate = <0>;
- };
- };
- i2c1_pins_sleep_mx: i2c1-1 {
- pins {
- pinmux = <STM32_PINMUX('H', 11, ANALOG)>, /* I2C1_SCL */
- <STM32_PINMUX('H', 12, ANALOG)>; /* I2C1_SDA */
- };
- };
- i2c2_pins_mx: i2c2-0 {
- pins {
- pinmux = <STM32_PINMUX('F', 1, AF4)>, /* I2C2_SCL */
- <STM32_PINMUX('G', 15, AF4)>; /* I2C2_SDA */
- bias-disable;
- drive-open-drain;
- slew-rate = <0>;
- };
- };
- i2c2_pins_sleep_mx: i2c2-1 {
- pins {
- pinmux = <STM32_PINMUX('F', 1, ANALOG)>, /* I2C2_SCL */
- <STM32_PINMUX('G', 15, ANALOG)>; /* I2C2_SDA */
- };
- };
- i2c5_pins_mx: i2c5-0 {
- pins {
- pinmux = <STM32_PINMUX('D', 1, AF4)>, /* I2C5_SCL */
- <STM32_PINMUX('D', 0, AF4)>; /* I2C5_SDA */
- bias-disable;
- drive-open-drain;
- slew-rate = <0>;
- };
- };
- i2c5_pins_sleep_mx: i2c5-1 {
- pins {
- pinmux = <STM32_PINMUX('D', 1, ANALOG)>, /* I2C5_SCL */
- <STM32_PINMUX('D', 0, ANALOG)>; /* I2C5_SDA */
- };
- };
- spi2_pins_mx: spi2-0 {
- pins1 {
- pinmux = <STM32_PINMUX('I', 1, AF5)>, /* SPI2_SCK */
- <STM32_PINMUX('I', 3, AF5)>; /* SPI2_MOSI */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- pins2 {
- pinmux = <STM32_PINMUX('I', 2, AF5)>; /* SPI2_MISO */
- bias-disable;
- };
- };
- spi2_sleep_pins_mx: spi2-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('I', 1, ANALOG)>, /* SPI2_SCK */
- <STM32_PINMUX('I', 2, ANALOG)>, /* SPI2_MISO */
- <STM32_PINMUX('I', 3, ANALOG)>; /* SPI2_MOSI */
- };
- };
- spi4_pins_mx: spi4-0 {
- pins1 {
- pinmux = <STM32_PINMUX('E', 12, AF5)>, /* SPI4_SCK */
- <STM32_PINMUX('E', 14, AF5)>; /* SPI4_MOSI */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- pins2 {
- pinmux = <STM32_PINMUX('E', 13, AF5)>; /* SPI4_MISO */
- bias-disable;
- };
- };
- spi4_sleep_pins_mx: spi4-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('E', 12, ANALOG)>, /* SPI2_SCK */
- <STM32_PINMUX('E', 13, ANALOG)>, /* SPI2_MISO */
- <STM32_PINMUX('E', 14, ANALOG)>; /* SPI2_MOSI */
- };
- };
- usart2_pins_mx: usart2-0 {
- pins1 {
- pinmux = <STM32_PINMUX('F', 5, AF7)>; /* USART2_TX */
- bias-disable;
- drive-push-pull;
- slew-rate = <0>;
- };
- pins2 {
- pinmux = <STM32_PINMUX('F', 4, AF7)>; /* USART2_RX */
- bias-disable;
- };
- };
- usart2_idle_pins_mx: usart2-idle-0 {
- pins1 {
- pinmux = <STM32_PINMUX('F', 5, ANALOG)>; /* USART2_TX */
- };
- pins2 {
- pinmux = <STM32_PINMUX('F', 4, AF7)>; /* USART2_RX */
- bias-disable;
- };
- };
- usart2_sleep_pins_mx: usart2-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('F', 5, ANALOG)>, /* USART2_TX */
- <STM32_PINMUX('F', 4, ANALOG)>; /* USART2_RX */
- };
- };
- uart5_pins_mx: uart5-0 {
- pins1 {
- pinmux = <STM32_PINMUX('B', 13, AF14)>; /* USART5_TX */
- bias-disable;
- drive-push-pull;
- slew-rate = <0>;
- };
- pins2 {
- pinmux = <STM32_PINMUX('B', 12, AF14)>; /* USART5_RX */
- bias-disable;
- };
- };
- uart5_idle_pins_mx: uart5-idle-0 {
- pins1 {
- pinmux = <STM32_PINMUX('B', 13, ANALOG)>; /* USART5_TX */
- };
- pins2 {
- pinmux = <STM32_PINMUX('B', 12, AF14)>; /* USART5_RX */
- bias-disable;
- };
- };
- uart5_sleep_pins_mx: uart5-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('B', 13, ANALOG)>, /* USART5_TX */
- <STM32_PINMUX('B', 12, ANALOG)>; /* USART5_RX */
- };
- };
- uart7_pins_mx: uart7-0 {
- pins1 {
- pinmux = <STM32_PINMUX('A', 15, AF13)>; /* USART7_TX */
- bias-disable;
- drive-push-pull;
- slew-rate = <0>;
- };
- pins2 {
- pinmux = <STM32_PINMUX('B', 3, AF13)>; /* USART7_RX */
- bias-disable;
- };
- };
- uart7_idle_pins_mx: uart7-idle-0 {
- pins1 {
- pinmux = <STM32_PINMUX('A', 15, ANALOG)>; /* USART7_TX */
- };
- pins2 {
- pinmux = <STM32_PINMUX('B', 3, AF13)>; /* USART7_RX */
- bias-disable;
- };
- };
- uart7_sleep_pins_mx: uart7-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('A', 15, ANALOG)>, /* USART7_TX */
- <STM32_PINMUX('B', 3, ANALOG)>; /* USART7_RX */
- };
- };
- uart8_pins_mx: uart8-0 {
- pins1 {
- pinmux = <STM32_PINMUX('E', 1, AF8)>; /* USART8_TX */
- bias-disable;
- drive-push-pull;
- slew-rate = <0>;
- };
- pins2 {
- pinmux = <STM32_PINMUX('E', 0, AF8)>; /* USART8_RX */
- bias-disable;
- };
- };
- uart8_idle_pins_mx: uart8-idle-0 {
- pins1 {
- pinmux = <STM32_PINMUX('E', 1, ANALOG)>; /* USART8_TX */
- };
- pins2 {
- pinmux = <STM32_PINMUX('E', 0, AF8)>; /* USART8_RX */
- bias-disable;
- };
- };
- uart8_sleep_pins_mx: uart8-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('E', 1, ANALOG)>, /* USART8_TX */
- <STM32_PINMUX('E', 0, ANALOG)>; /* USART8_RX */
- };
- };
- m_can1_pins_mx: m-can1-0 {
- pins1 {
- pinmux = <STM32_PINMUX('H', 13, AF9)>; /* CAN1_TX */
- slew-rate = <0>;
- drive-push-pull;
- bias-disable;
- };
- pins2 {
- pinmux = <STM32_PINMUX('H', 14, AF9)>; /* CAN1_RX */
- bias-disable;
- };
- };
- m_can1_sleep_pins_mx: m_can1-sleep@0 {
- pins {
- pinmux = <STM32_PINMUX('H', 13, ANALOG)>, /* CAN1_TX */
- <STM32_PINMUX('H', 14, ANALOG)>; /* CAN1_RX */
- };
- };
- pwm1_pins_mx: pwm1-0 {
- pins {
- pinmux = <STM32_PINMUX('A', 9, AF1)>; /* TIM1_CH2 */
- bias-pull-down;
- drive-push-pull;
- slew-rate = <0>;
- };
- };
- pwm1_sleep_pins_mx: pwm1-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('A', 9, ANALOG)>; /* TIM1_CH1 */
- };
- };
- pwm3_pins_mx: pwm3-0 {
- pins {
- pinmux = <STM32_PINMUX('B', 5, AF2)>; /* TIM3_CH2 */
- bias-pull-down;
- drive-push-pull;
- slew-rate = <0>;
- };
- };
- pwm3_sleep_pins_mx: pwm3-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('B', 5, ANALOG)>; /* TIM3_CH2 */
- };
- };
- pwm4_pins_mx: pwm4-0 {
- pins {
- pinmux = <STM32_PINMUX('B', 7, AF2)>; /* TIM4_CH2 */
- bias-pull-down;
- drive-push-pull;
- slew-rate = <0>;
- };
- };
- pwm4_sleep_pins_mx: pwm4-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('B', 7, ANALOG)>; /* TIM4_CH2 */
- };
- };
- pwm8_pins_mx: pwm8-0 {
- pins {
- pinmux = <STM32_PINMUX('I', 6, AF3)>; /* TIM8_CH2 */
- bias-pull-down;
- drive-push-pull;
- slew-rate = <0>;
- };
- };
- pwm8_sleep_pins_mx: pwm8-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('I', 6, ANALOG)>; /* TIM8_CH2 */
- };
- };
- pwm12_pins_mx: pwm12-0 {
- pins {
- pinmux = <STM32_PINMUX('H', 9, AF2)>; /* TIM12_CH2 */
- bias-pull-down;
- drive-push-pull;
- slew-rate = <0>;
- };
- };
- pwm12_sleep_pins_mx: pwm12-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('H', 9, ANALOG)>; /* TIM12_CH2 */
- };
- };
- 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 = <2>;
- };
- };
- 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 = <2>;
- };
- 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 */
- };
- };
- 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 */
- /* pull-up on rx to avoid floating level */
- bias-pull-up;
- };
- 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 */
- };
- };
- };
- &pinctrl_z {
- u-boot,dm-pre-reloc;
- 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 */
- };
- };
- spi6_pins_mx: spi6-0 {
- pins1 {
- pinmux = <STM32_PINMUX('Z', 0, AF8)>, /* SPI6_SCK */
- <STM32_PINMUX('Z', 2, AF8)>; /* SPI6_MOSI */
- bias-disable;
- drive-push-pull;
- slew-rate = <1>;
- };
- pins2 {
- pinmux = <STM32_PINMUX('Z', 1, AF8)>; /* SPI6_MISO */
- bias-disable;
- };
- };
- spi6_sleep_pins_mx: spi6-sleep-0 {
- pins {
- pinmux = <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI6_SCK */
- <STM32_PINMUX('Z', 1, ANALOG)>, /* SPI6_MISO */
- <STM32_PINMUX('Z', 2, ANALOG)>; /* SPI6_MOSI */
- };
- };
- };
- &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>;
- wakeup-source;
- status = "okay";
- };
- &pwr_regulators {
- vdd-supply = <&vdd>;
- vdd_3v3_usbfs-supply = <&vdd_usb>;
- };
- &crc1{
- status = "okay";
- };
- &cryp1{
- u-boot,dm-pre-reloc;
- status = "okay";
- };
- &dma1{
- status = "okay";
- sram = <&dma_pool>;
- };
- &dma2{
- status = "okay";
- sram = <&dma_pool>;
- };
- &dts{
- status = "okay";
- };
- &gpu{
- status = "okay";
- contiguous-area = <&gpu_reserved>;
- };
- &hash1{
- u-boot,dm-pre-reloc;
- status = "okay";
- };
- &hsem{
- status = "okay";
- };
- &i2c1 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&i2c1_pins_mx>;
- pinctrl-1 = <&i2c1_pins_sleep_mx>;
- i2c-scl-rising-time-ns = <100>;
- i2c-scl-falling-time-ns = <7>;
- status = "okay";
- /delete-property/dmas;
- /delete-property/dma-names;
- };
- &i2c2 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&i2c2_pins_mx>;
- pinctrl-1 = <&i2c2_pins_sleep_mx>;
- i2c-scl-rising-time-ns = <100>;
- i2c-scl-falling-time-ns = <7>;
- status = "okay";
- /delete-property/dmas;
- /delete-property/dma-names;
- };
- &i2c5 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&i2c5_pins_mx>;
- pinctrl-1 = <&i2c5_pins_sleep_mx>;
- i2c-scl-rising-time-ns = <100>;
- i2c-scl-falling-time-ns = <7>;
- status = "okay";
- /delete-property/dmas;
- /delete-property/dma-names;
- };
- &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>;
- clock-frequency = <400000>;
- /delete-property/ dmas;
- /delete-property/ dma-names;
- pmic:stpmic@33{
- compatible = "st,stpmic1";
- reg = <0x33>;
- interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
- interrupt-controller;
- #interrupt-cells = <2>;
- status = "okay";
- regulators{
- compatible = "st,stpmic1-regulators";
- buck1-supply = <&vin>;
- buck2-supply = <&vin>;
- buck3-supply = <&vin>;
- buck4-supply = <&vin>;
- ldo1-supply = <&v3v3>;
- ldo2-supply = <&vin>;
- ldo3-supply = <&vdd_ddr>;
- ldo4-supply = <&vin>;
- ldo5-supply = <&vin>;
- ldo6-supply = <&v3v3>;
- vref_ddr-supply = <&vin>;
- boost-supply = <&vin>;
- 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_audio:ldo1{
- regulator-name = "v1v8_audio";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- interrupts = <IT_CURLIM_LDO1 0>;
- };
- v3v3_hdmi:ldo2{
- regulator-name = "v3v3_hdmi";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- 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";
- interrupts = <IT_CURLIM_LDO4 0>;
- };
- vdda:ldo5{
- regulator-name = "vdda";
- regulator-min-microvolt = <2900000>;
- regulator-max-microvolt = <2900000>;
- interrupts = <IT_CURLIM_LDO5 0>;
- regulator-boot-on;
- };
- v1v2_hdmi:ldo6{
- regulator-name = "v1v2_hdmi";
- 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>;
- };
- vbus_otg:pwr_sw1{
- regulator-name = "vbus_otg";
- interrupts = <IT_OCP_OTG 0>;
- };
- vbus_sw:pwr_sw2{
- regulator-name = "vbus_sw";
- interrupts = <IT_OCP_SWOUT 0>;
- regulator-active-discharge = <1>;
- };
- };
- onkey{
- compatible = "st,stpmic1-onkey";
- interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
- interrupt-names = "onkey-falling", "onkey-rising";
- power-off-time-sec = <10>;
- status = "okay";
- };
- watchdog {
- compatible = "st,stpmic1-wdt";
- status = "disabled";
- };
- };
- eeprom@50 {
- compatible = "atmel,24c02";
- reg = <0x50>;
- pagesize = <16>;
- };
- };
- &ipcc{
- status = "okay";
- };
- &iwdg2{
- status = "okay";
- timeout-sec = <32>;
- };
- &mdma1{
- status = "okay";
- };
- &rcc{
- u-boot,dm-pre-reloc;
- status = "okay";
- };
- &rng1{
- status = "okay";
- };
- &rtc{
- status = "okay";
- };
- &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";
- cd-gpios = <&gpiog 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
- disable-wp;
- st,neg-edge;
- bus-width = <4>;
- vmmc-supply = <&v3v3>;
- };
- &tamp{
- 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";
- /delete-property/ dmas;
- /delete-property/ dma-names;
- };
- &usbh_ehci{
- status = "okay";
- phys = <&usbphyc_port0>;
- };
- &usbh_ohci{
- status = "okay";
- };
- &usbotg_hs{
- u-boot,dm-pre-reloc;
- status = "okay";
- phys = <&usbphyc_port1 0>;
- phy-names = "usb2-phy";
- };
- &usbphyc{
- u-boot,dm-pre-reloc;
- status = "okay";
- };
- &usbphyc_port0{
- u-boot,dm-pre-reloc;
- status = "okay";
- phy-supply = <&vdd_usb>;
- st,phy-tuning = <&usb_phy_tuning>;
- };
- &usbphyc_port1{
- u-boot,dm-pre-reloc;
- status = "okay";
- phy-supply = <&vdd_usb>;
- st,phy-tuning = <&usb_phy_tuning>;
- };
- &adc {
- vdd-supply = <&vdd>;
- vdda-supply = <&vdda>;
- vref-supply = <&vdda>;
- status = "okay";
- adc1: adc@0 {
- st,min-sample-time-nsecs = <5000>;
- st,adc-channels = <0 1>;
- status = "okay";
- };
- adc2: adc@100 {
- status = "okay";
- };
- adc_temp: temp {
- status = "okay";
- };
- };
- &usbh_ohci{
- phys = <&usbphyc_port0>;
- };
- &cpu0{
- cpu-supply = <&vddcore>;
- };
- &cpu1{
- cpu-supply = <&vddcore>;
- };
- &sram{
- dma_pool:dma_pool@0{
- reg = <0x50000 0x10000>;
- pool;
- };
- };
- &spi2 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&spi2_pins_mx>;
- pinctrl-1 = <&spi2_sleep_pins_mx>;
- cs-gpios = <&gpioi 0 0>;
- status = "okay";
- spidev2: spidev2@0{
- compatible = "rohm,dh2228fv";
- spi-max-frequency = <30000000>;
- reg = <0>;
- };
- };
- &spi4 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&spi4_pins_mx>;
- pinctrl-1 = <&spi4_sleep_pins_mx>;
- cs-gpios = <&gpioe 11 0>;
- status = "okay";
- spidev4: spidev4@0{
- compatible = "rohm,dh2228fv";
- spi-max-frequency = <30000000>;
- reg = <0>;
- };
- };
- &spi6 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&spi6_pins_mx>;
- pinctrl-1 = <&spi6_sleep_pins_mx>;
- cs-gpios = <&gpioz 3 0>;
- status = "okay";
- spidev6: spidev6@0{
- compatible = "rohm,dh2228fv";
- spi-max-frequency = <30000000>;
- reg = <0>;
- };
- };
- &usart2 {
- pinctrl-names = "default", "sleep", "idle";
- pinctrl-0 = <&usart2_pins_mx>;
- pinctrl-1 = <&usart2_sleep_pins_mx>;
- pinctrl-2 = <&usart2_idle_pins_mx>;
- status = "okay";
- };
- &uart5 {
- pinctrl-names = "default", "sleep", "idle";
- pinctrl-0 = <&uart5_pins_mx>;
- pinctrl-1 = <&uart5_sleep_pins_mx>;
- pinctrl-2 = <&uart5_idle_pins_mx>;
- status = "okay";
- };
- &uart7 {
- pinctrl-names = "default", "sleep", "idle";
- pinctrl-0 = <&uart7_pins_mx>;
- pinctrl-1 = <&uart7_sleep_pins_mx>;
- pinctrl-2 = <&uart7_idle_pins_mx>;
- status = "okay";
- };
- &uart8 {
- pinctrl-names = "default", "sleep", "idle";
- pinctrl-0 = <&uart8_pins_mx>;
- pinctrl-1 = <&uart8_sleep_pins_mx>;
- pinctrl-2 = <&uart8_idle_pins_mx>;
- status = "okay";
- };
- &m_can1 {
- pinctrl-names = "default";
- pinctrl-0 = <&m_can1_pins_mx>;
- status = "okay";
- can-transceiver {
- max-bitrate = <5000000>;
- };
- };
- &timers1 {
- status = "okay";
- /* spare dmas for other usage */
- /delete-property/dmas;
- /delete-property/dma-names;
- pwm1: pwm {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&pwm1_pins_mx>;
- pinctrl-1 = <&pwm1_sleep_pins_mx>;
- status = "okay";
- };
- };
- &timers3 {
- status = "okay";
- /* spare dmas for other usage */
- /delete-property/dmas;
- /delete-property/dma-names;
- pwm3: pwm {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&pwm3_pins_mx>;
- pinctrl-1 = <&pwm3_sleep_pins_mx>;
- status = "okay";
- };
- };
- &timers4 {
- status = "okay";
- /* spare dmas for other usage */
- /delete-property/dmas;
- /delete-property/dma-names;
- pwm4: pwm {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&pwm4_pins_mx>;
- pinctrl-1 = <&pwm4_sleep_pins_mx>;
- status = "okay";
- };
- };
- &timers8 {
- status = "okay";
- /* spare dmas for other usage */
- /delete-property/dmas;
- /delete-property/dma-names;
- pwm8: pwm {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&pwm8_pins_mx>;
- pinctrl-1 = <&pwm8_sleep_pins_mx>;
- status = "okay";
- };
- };
- &timers12 {
- status = "okay";
- /* spare dmas for other usage */
- /delete-property/dmas;
- /delete-property/dma-names;
- pwm12: pwm {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&pwm12_pins_mx>;
- pinctrl-1 = <&pwm12_sleep_pins_mx>;
- status = "okay";
- };
- };
|