331 lines
6.5 KiB
Plaintext
331 lines
6.5 KiB
Plaintext
|
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
|
||
|
/*
|
||
|
* Copyright (C) STMicroelectronics 2021 - All Rights Reserved
|
||
|
* Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
|
||
|
*/
|
||
|
|
||
|
/dts-v1/;
|
||
|
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
#include <dt-bindings/input/input.h>
|
||
|
#include <dt-bindings/leds/common.h>
|
||
|
#include "stm32mp135.dtsi"
|
||
|
#include "stm32mp13xf.dtsi"
|
||
|
#include "stm32mp13-pinctrl.dtsi"
|
||
|
|
||
|
/ {
|
||
|
model = "STMicroelectronics STM32MP135F-DK Discovery Board";
|
||
|
compatible = "st,stm32mp135f-dk", "st,stm32mp135";
|
||
|
|
||
|
aliases {
|
||
|
serial0 = &uart4;
|
||
|
};
|
||
|
|
||
|
memory@c0000000 {
|
||
|
device_type = "memory";
|
||
|
reg = <0xc0000000 0x20000000>;
|
||
|
};
|
||
|
|
||
|
reserved-memory {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
ranges;
|
||
|
|
||
|
optee@dd000000 {
|
||
|
reg = <0xdd000000 0x3000000>;
|
||
|
no-map;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gpio-keys {
|
||
|
compatible = "gpio-keys";
|
||
|
|
||
|
button-user {
|
||
|
label = "User-PA13";
|
||
|
linux,code = <BTN_1>;
|
||
|
gpios = <&gpioa 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
leds {
|
||
|
compatible = "gpio-leds";
|
||
|
|
||
|
led-blue {
|
||
|
function = LED_FUNCTION_HEARTBEAT;
|
||
|
color = <LED_COLOR_ID_BLUE>;
|
||
|
gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
|
||
|
linux,default-trigger = "heartbeat";
|
||
|
default-state = "off";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
v3v3_sw: v3v3-sw {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "v3v3_sw";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vdd_adc: vdd-adc {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "vdd_adc";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vdd_sd: vdd-sd {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "vdd_sd";
|
||
|
regulator-min-microvolt = <2900000>;
|
||
|
regulator-max-microvolt = <2900000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vdd_usb: vdd-usb {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "vdd_usb";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&adc_1 {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&adc1_usb_cc_pins_a>;
|
||
|
vdda-supply = <&vdd_adc>;
|
||
|
vref-supply = <&vdd_adc>;
|
||
|
status = "okay";
|
||
|
adc1: adc@0 {
|
||
|
status = "okay";
|
||
|
/*
|
||
|
* Type-C USB_PWR_CC1 & USB_PWR_CC2 on in6 & in12.
|
||
|
* Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C:
|
||
|
* 5 * (5.1 + 47kOhms) * 5pF => 1.3us.
|
||
|
* Use arbitrary margin here (e.g. 5us).
|
||
|
*/
|
||
|
channel@6 {
|
||
|
reg = <6>;
|
||
|
st,min-sample-time-ns = <5000>;
|
||
|
};
|
||
|
channel@12 {
|
||
|
reg = <12>;
|
||
|
st,min-sample-time-ns = <5000>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2c1 {
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-0 = <&i2c1_pins_a>;
|
||
|
pinctrl-1 = <&i2c1_sleep_pins_a>;
|
||
|
i2c-scl-rising-time-ns = <96>;
|
||
|
i2c-scl-falling-time-ns = <3>;
|
||
|
clock-frequency = <1000000>;
|
||
|
status = "okay";
|
||
|
/* spare dmas for other usage */
|
||
|
/delete-property/dmas;
|
||
|
/delete-property/dma-names;
|
||
|
|
||
|
mcp23017: pinctrl@21 {
|
||
|
compatible = "microchip,mcp23017";
|
||
|
reg = <0x21>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
|
||
|
interrupt-parent = <&gpiog>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&mcp23017_pins_a>;
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <2>;
|
||
|
microchip,irq-mirror;
|
||
|
};
|
||
|
|
||
|
typec@53 {
|
||
|
compatible = "st,stm32g0-typec";
|
||
|
reg = <0x53>;
|
||
|
/* Alert pin on PI2 */
|
||
|
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
|
||
|
interrupt-parent = <&gpioi>;
|
||
|
/* Internal pull-up on PI2 */
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&stm32g0_intn_pins_a>;
|
||
|
firmware-name = "stm32g0-ucsi.mp135f-dk.fw";
|
||
|
connector {
|
||
|
compatible = "usb-c-connector";
|
||
|
label = "USB-C";
|
||
|
|
||
|
port {
|
||
|
con_usb_c_g0_ep: endpoint {
|
||
|
remote-endpoint = <&usbotg_hs_ep>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2c5 {
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-0 = <&i2c5_pins_a>;
|
||
|
pinctrl-1 = <&i2c5_sleep_pins_a>;
|
||
|
i2c-scl-rising-time-ns = <170>;
|
||
|
i2c-scl-falling-time-ns = <5>;
|
||
|
clock-frequency = <400000>;
|
||
|
status = "okay";
|
||
|
/* spare dmas for other usage */
|
||
|
/delete-property/dmas;
|
||
|
/delete-property/dma-names;
|
||
|
};
|
||
|
|
||
|
&iwdg2 {
|
||
|
timeout-sec = <32>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&rtc {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&sdmmc1 {
|
||
|
pinctrl-names = "default", "opendrain", "sleep";
|
||
|
pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_clk_pins_a>;
|
||
|
pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_clk_pins_a>;
|
||
|
pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
|
||
|
cd-gpios = <&gpioh 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||
|
disable-wp;
|
||
|
st,neg-edge;
|
||
|
bus-width = <4>;
|
||
|
vmmc-supply = <&vdd_sd>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&spi5 {
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-0 = <&spi5_pins_a>;
|
||
|
pinctrl-1 = <&spi5_sleep_pins_a>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
&timers3 {
|
||
|
/delete-property/dmas;
|
||
|
/delete-property/dma-names;
|
||
|
status = "disabled";
|
||
|
pwm {
|
||
|
pinctrl-0 = <&pwm3_pins_a>;
|
||
|
pinctrl-1 = <&pwm3_sleep_pins_a>;
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
status = "okay";
|
||
|
};
|
||
|
timer@2 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&timers4 {
|
||
|
/delete-property/dmas;
|
||
|
/delete-property/dma-names;
|
||
|
status = "disabled";
|
||
|
pwm {
|
||
|
pinctrl-0 = <&pwm4_pins_a>;
|
||
|
pinctrl-1 = <&pwm4_sleep_pins_a>;
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
status = "okay";
|
||
|
};
|
||
|
timer@3 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&timers8 {
|
||
|
/delete-property/dmas;
|
||
|
/delete-property/dma-names;
|
||
|
status = "disabled";
|
||
|
pwm {
|
||
|
pinctrl-0 = <&pwm8_pins_a>;
|
||
|
pinctrl-1 = <&pwm8_sleep_pins_a>;
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
status = "okay";
|
||
|
};
|
||
|
timer@7 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&timers14 {
|
||
|
status = "disabled";
|
||
|
pwm {
|
||
|
pinctrl-0 = <&pwm14_pins_a>;
|
||
|
pinctrl-1 = <&pwm14_sleep_pins_a>;
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
status = "okay";
|
||
|
};
|
||
|
timer@13 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&uart4 {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&uart4_pins_a>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usbh_ehci {
|
||
|
phys = <&usbphyc_port0>;
|
||
|
status = "okay";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
/* onboard HUB */
|
||
|
hub@1 {
|
||
|
compatible = "usb424,2514";
|
||
|
reg = <1>;
|
||
|
vdd-supply = <&v3v3_sw>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&usbotg_hs {
|
||
|
phys = <&usbphyc_port1 0>;
|
||
|
phy-names = "usb2-phy";
|
||
|
usb-role-switch;
|
||
|
status = "okay";
|
||
|
port {
|
||
|
usbotg_hs_ep: endpoint {
|
||
|
remote-endpoint = <&con_usb_c_g0_ep>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&usbphyc {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usbphyc_port0 {
|
||
|
phy-supply = <&vdd_usb>;
|
||
|
st,current-boost-microamp = <1000>;
|
||
|
st,decrease-hs-slew-rate;
|
||
|
st,tune-hs-dc-level = <2>;
|
||
|
st,enable-hs-rftime-reduction;
|
||
|
st,trim-hs-current = <11>;
|
||
|
st,trim-hs-impedance = <2>;
|
||
|
st,tune-squelch-level = <1>;
|
||
|
st,enable-hs-rx-gain-eq;
|
||
|
st,no-hs-ftime-ctrl;
|
||
|
st,no-lsfs-sc;
|
||
|
};
|
||
|
|
||
|
&usbphyc_port1 {
|
||
|
phy-supply = <&vdd_usb>;
|
||
|
st,current-boost-microamp = <1000>;
|
||
|
st,decrease-hs-slew-rate;
|
||
|
st,tune-hs-dc-level = <2>;
|
||
|
st,enable-hs-rftime-reduction;
|
||
|
st,trim-hs-current = <11>;
|
||
|
st,trim-hs-impedance = <2>;
|
||
|
st,tune-squelch-level = <1>;
|
||
|
st,enable-hs-rx-gain-eq;
|
||
|
st,no-hs-ftime-ctrl;
|
||
|
st,no-lsfs-sc;
|
||
|
};
|