xref: /optee_os/core/arch/arm/dts/stm32mp15xx-dhcor-avenger96.dtsi (revision 14bb2927c6bc7aa55f4db49cc054ef6aa9a5e275)
15c932a03SJohann Neuhauser// SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
25c932a03SJohann Neuhauser/*
35c932a03SJohann Neuhauser * Copyright (C) Linaro Ltd 2019 - All Rights Reserved
45c932a03SJohann Neuhauser * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
55c932a03SJohann Neuhauser * Copyright (C) 2020 Marek Vasut <marex@denx.de>
65c932a03SJohann Neuhauser */
75c932a03SJohann Neuhauser
85c932a03SJohann Neuhauser/* Avenger96 uses DHCOR SoM configured for 1V8 IO operation */
95c932a03SJohann Neuhauser#include "stm32mp15xx-dhcor-io1v8.dtsi"
105c932a03SJohann Neuhauser
115c932a03SJohann Neuhauser/ {
125c932a03SJohann Neuhauser	aliases {
135c932a03SJohann Neuhauser		ethernet0 = &ethernet0;
145c932a03SJohann Neuhauser		mmc0 = &sdmmc1;
155c932a03SJohann Neuhauser		serial0 = &uart4;
165c932a03SJohann Neuhauser		serial1 = &uart7;
175c932a03SJohann Neuhauser		serial2 = &usart2;
185c932a03SJohann Neuhauser		spi0 = &qspi;
195c932a03SJohann Neuhauser	};
205c932a03SJohann Neuhauser
215c932a03SJohann Neuhauser	/* XTal Q1 */
225c932a03SJohann Neuhauser	cec_clock: clk-cec-fixed {
235c932a03SJohann Neuhauser		#clock-cells = <0>;
245c932a03SJohann Neuhauser		compatible = "fixed-clock";
255c932a03SJohann Neuhauser		clock-frequency = <24000000>;
265c932a03SJohann Neuhauser	};
275c932a03SJohann Neuhauser
285c932a03SJohann Neuhauser	chosen {
295c932a03SJohann Neuhauser		stdout-path = "serial0:115200n8";
305c932a03SJohann Neuhauser	};
315c932a03SJohann Neuhauser
325c932a03SJohann Neuhauser	hdmi-out {
335c932a03SJohann Neuhauser		compatible = "hdmi-connector";
345c932a03SJohann Neuhauser		type = "a";
355c932a03SJohann Neuhauser
365c932a03SJohann Neuhauser		port {
375c932a03SJohann Neuhauser			hdmi_con: endpoint {
385c932a03SJohann Neuhauser				remote-endpoint = <&adv7513_out>;
395c932a03SJohann Neuhauser			};
405c932a03SJohann Neuhauser		};
415c932a03SJohann Neuhauser	};
425c932a03SJohann Neuhauser
435c932a03SJohann Neuhauser	led {
445c932a03SJohann Neuhauser		compatible = "gpio-leds";
455c932a03SJohann Neuhauser		led1 {
465c932a03SJohann Neuhauser			label = "green:user0";
475c932a03SJohann Neuhauser			gpios = <&gpioz 7 GPIO_ACTIVE_HIGH>;
485c932a03SJohann Neuhauser			linux,default-trigger = "heartbeat";
495c932a03SJohann Neuhauser			default-state = "off";
505c932a03SJohann Neuhauser		};
515c932a03SJohann Neuhauser
525c932a03SJohann Neuhauser		led2 {
535c932a03SJohann Neuhauser			label = "green:user1";
545c932a03SJohann Neuhauser			gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>;
555c932a03SJohann Neuhauser			linux,default-trigger = "mmc0";
565c932a03SJohann Neuhauser			default-state = "off";
575c932a03SJohann Neuhauser		};
585c932a03SJohann Neuhauser
595c932a03SJohann Neuhauser		led3 {
605c932a03SJohann Neuhauser			label = "green:user2";
615c932a03SJohann Neuhauser			gpios = <&gpiog 0 GPIO_ACTIVE_HIGH>;
625c932a03SJohann Neuhauser			linux,default-trigger = "mmc1";
635c932a03SJohann Neuhauser			default-state = "off";
645c932a03SJohann Neuhauser		};
655c932a03SJohann Neuhauser
665c932a03SJohann Neuhauser		led4 {
675c932a03SJohann Neuhauser			label = "green:user3";
685c932a03SJohann Neuhauser			gpios = <&gpiog 1 GPIO_ACTIVE_HIGH>;
695c932a03SJohann Neuhauser			linux,default-trigger = "none";
705c932a03SJohann Neuhauser			default-state = "off";
715c932a03SJohann Neuhauser			panic-indicator;
725c932a03SJohann Neuhauser		};
735c932a03SJohann Neuhauser	};
745c932a03SJohann Neuhauser
755c932a03SJohann Neuhauser	sd_switch: regulator-sd_switch {
765c932a03SJohann Neuhauser		compatible = "regulator-gpio";
775c932a03SJohann Neuhauser		regulator-name = "sd_switch";
785c932a03SJohann Neuhauser		regulator-min-microvolt = <1800000>;
795c932a03SJohann Neuhauser		regulator-max-microvolt = <2900000>;
805c932a03SJohann Neuhauser		regulator-type = "voltage";
815c932a03SJohann Neuhauser		regulator-always-on;
825c932a03SJohann Neuhauser
835c932a03SJohann Neuhauser		gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>;
845c932a03SJohann Neuhauser		gpios-states = <0>;
855c932a03SJohann Neuhauser		states = <1800000 0x1>,
865c932a03SJohann Neuhauser			 <2900000 0x0>;
87c1e499aeSEtienne Carriere		status = "disabled";
885c932a03SJohann Neuhauser	};
895c932a03SJohann Neuhauser
905c932a03SJohann Neuhauser	sound {
915c932a03SJohann Neuhauser		compatible = "audio-graph-card";
925c932a03SJohann Neuhauser		label = "STM32MP1-AV96-HDMI";
935c932a03SJohann Neuhauser		dais = <&sai2a_port>;
945c932a03SJohann Neuhauser		status = "okay";
955c932a03SJohann Neuhauser	};
965c932a03SJohann Neuhauser
975c932a03SJohann Neuhauser	wlan_pwr: regulator-wlan {
985c932a03SJohann Neuhauser		compatible = "regulator-fixed";
995c932a03SJohann Neuhauser
1005c932a03SJohann Neuhauser		regulator-name = "wl-reg";
1015c932a03SJohann Neuhauser		regulator-min-microvolt = <3300000>;
1025c932a03SJohann Neuhauser		regulator-max-microvolt = <3300000>;
1035c932a03SJohann Neuhauser
1045c932a03SJohann Neuhauser		gpios = <&gpioz 3 GPIO_ACTIVE_HIGH>;
1055c932a03SJohann Neuhauser		enable-active-high;
1065c932a03SJohann Neuhauser	};
1075c932a03SJohann Neuhauser};
1085c932a03SJohann Neuhauser
1095c932a03SJohann Neuhauser&adc {
1105c932a03SJohann Neuhauser	pinctrl-names = "default";
1115c932a03SJohann Neuhauser	pinctrl-0 = <&adc12_ain_pins_b>;
1125c932a03SJohann Neuhauser	vdd-supply = <&vdd>;
1135c932a03SJohann Neuhauser	vdda-supply = <&vdda>;
1145c932a03SJohann Neuhauser	vref-supply = <&vdda>;
1155c932a03SJohann Neuhauser	status = "okay";
1165c932a03SJohann Neuhauser
1175c932a03SJohann Neuhauser	adc1: adc@0 {
1185c932a03SJohann Neuhauser		st,adc-channels = <0 1 6>;
1195c932a03SJohann Neuhauser		st,min-sample-time-nsecs = <5000>;
1205c932a03SJohann Neuhauser		status = "okay";
1215c932a03SJohann Neuhauser	};
1225c932a03SJohann Neuhauser
1235c932a03SJohann Neuhauser	adc2: adc@100 {
1245c932a03SJohann Neuhauser		st,adc-channels = <0 1 2>;
1255c932a03SJohann Neuhauser		st,min-sample-time-nsecs = <5000>;
1265c932a03SJohann Neuhauser		status = "okay";
1275c932a03SJohann Neuhauser	};
1285c932a03SJohann Neuhauser};
1295c932a03SJohann Neuhauser
1305c932a03SJohann Neuhauser&ethernet0 {
1315c932a03SJohann Neuhauser	status = "okay";
1325c932a03SJohann Neuhauser	pinctrl-0 = <&ethernet0_rgmii_pins_c>;
1335c932a03SJohann Neuhauser	pinctrl-1 = <&ethernet0_rgmii_sleep_pins_c>;
1345c932a03SJohann Neuhauser	pinctrl-names = "default", "sleep";
1355c932a03SJohann Neuhauser	phy-mode = "rgmii";
1365c932a03SJohann Neuhauser	max-speed = <1000>;
1375c932a03SJohann Neuhauser	phy-handle = <&phy0>;
1385c932a03SJohann Neuhauser
1395c932a03SJohann Neuhauser	mdio0 {
1405c932a03SJohann Neuhauser		#address-cells = <1>;
1415c932a03SJohann Neuhauser		#size-cells = <0>;
1425c932a03SJohann Neuhauser		compatible = "snps,dwmac-mdio";
1435c932a03SJohann Neuhauser		reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;
1445c932a03SJohann Neuhauser		reset-delay-us = <1000>;
1455c932a03SJohann Neuhauser		reset-post-delay-us = <1000>;
1465c932a03SJohann Neuhauser
1475c932a03SJohann Neuhauser		phy0: ethernet-phy@7 {
1485c932a03SJohann Neuhauser			reg = <7>;
1495c932a03SJohann Neuhauser
1505c932a03SJohann Neuhauser			rxc-skew-ps = <1500>;
1515c932a03SJohann Neuhauser			rxdv-skew-ps = <540>;
1525c932a03SJohann Neuhauser			rxd0-skew-ps = <420>;
1535c932a03SJohann Neuhauser			rxd1-skew-ps = <420>;
1545c932a03SJohann Neuhauser			rxd2-skew-ps = <420>;
1555c932a03SJohann Neuhauser			rxd3-skew-ps = <420>;
1565c932a03SJohann Neuhauser
1575c932a03SJohann Neuhauser			txc-skew-ps = <1440>;
1585c932a03SJohann Neuhauser			txen-skew-ps = <540>;
1595c932a03SJohann Neuhauser			txd0-skew-ps = <420>;
1605c932a03SJohann Neuhauser			txd1-skew-ps = <420>;
1615c932a03SJohann Neuhauser			txd2-skew-ps = <420>;
1625c932a03SJohann Neuhauser			txd3-skew-ps = <420>;
1635c932a03SJohann Neuhauser		};
1645c932a03SJohann Neuhauser	};
1655c932a03SJohann Neuhauser};
1665c932a03SJohann Neuhauser
1675c932a03SJohann Neuhauser&gpioa {
1685c932a03SJohann Neuhauser	gpio-line-names = "", "", "", "",
1695c932a03SJohann Neuhauser			  "", "", "", "",
1705c932a03SJohann Neuhauser			  "", "", "", "AV96-K",
1715c932a03SJohann Neuhauser			  "AV96-I", "", "AV96-A", "";
1725c932a03SJohann Neuhauser};
1735c932a03SJohann Neuhauser
1745c932a03SJohann Neuhauser&gpiob {
1755c932a03SJohann Neuhauser	gpio-line-names = "", "", "", "",
1765c932a03SJohann Neuhauser			  "", "AV96-J", "", "",
1775c932a03SJohann Neuhauser			  "", "", "", "AV96-B",
1785c932a03SJohann Neuhauser			  "", "AV96-L", "", "";
1795c932a03SJohann Neuhauser};
1805c932a03SJohann Neuhauser
1815c932a03SJohann Neuhauser&gpioc {
1825c932a03SJohann Neuhauser	gpio-line-names = "", "", "", "AV96-C",
1835c932a03SJohann Neuhauser			  "", "", "", "",
1845c932a03SJohann Neuhauser			  "", "", "", "",
1855c932a03SJohann Neuhauser			  "", "", "", "";
1865c932a03SJohann Neuhauser};
1875c932a03SJohann Neuhauser
1885c932a03SJohann Neuhauser&gpiod {
1895c932a03SJohann Neuhauser	gpio-line-names = "", "", "", "",
1905c932a03SJohann Neuhauser			  "", "", "", "",
1915c932a03SJohann Neuhauser			  "AV96-D", "", "", "",
1925c932a03SJohann Neuhauser			  "", "", "AV96-E", "AV96-F";
1935c932a03SJohann Neuhauser};
1945c932a03SJohann Neuhauser
1955c932a03SJohann Neuhauser&gpiof {
1965c932a03SJohann Neuhauser	gpio-line-names = "", "", "", "",
1975c932a03SJohann Neuhauser			  "", "", "", "",
1985c932a03SJohann Neuhauser			  "", "", "", "",
1995c932a03SJohann Neuhauser			  "AV96-G", "AV96-H", "", "";
2005c932a03SJohann Neuhauser};
2015c932a03SJohann Neuhauser
2025c932a03SJohann Neuhauser&i2c1 {	/* X6 I2C1 */
2035c932a03SJohann Neuhauser	pinctrl-names = "default";
2045c932a03SJohann Neuhauser	pinctrl-0 = <&i2c1_pins_b>;
2055c932a03SJohann Neuhauser	i2c-scl-rising-time-ns = <185>;
2065c932a03SJohann Neuhauser	i2c-scl-falling-time-ns = <20>;
207*14bb2927SDaniel Lang	status = "disabled";
2085c932a03SJohann Neuhauser	/delete-property/dmas;
2095c932a03SJohann Neuhauser	/delete-property/dma-names;
2105c932a03SJohann Neuhauser};
2115c932a03SJohann Neuhauser
2125c932a03SJohann Neuhauser&i2c2 {	/* X6 I2C2 */
2135c932a03SJohann Neuhauser	pinctrl-names = "default";
2145c932a03SJohann Neuhauser	pinctrl-0 = <&i2c2_pins_c>;
2155c932a03SJohann Neuhauser	i2c-scl-rising-time-ns = <185>;
2165c932a03SJohann Neuhauser	i2c-scl-falling-time-ns = <20>;
217*14bb2927SDaniel Lang	status = "disabled";
2185c932a03SJohann Neuhauser	/delete-property/dmas;
2195c932a03SJohann Neuhauser	/delete-property/dma-names;
2205c932a03SJohann Neuhauser};
2215c932a03SJohann Neuhauser
2225c932a03SJohann Neuhauser&i2c4 {
2235c932a03SJohann Neuhauser	hdmi-transmitter@3d {
2245c932a03SJohann Neuhauser		compatible = "adi,adv7513";
2255c932a03SJohann Neuhauser		reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>;
2265c932a03SJohann Neuhauser		reg-names = "main", "edid", "cec", "packet";
2275c932a03SJohann Neuhauser		clocks = <&cec_clock>;
2285c932a03SJohann Neuhauser		clock-names = "cec";
2295c932a03SJohann Neuhauser
2305c932a03SJohann Neuhauser		avdd-supply = <&v3v3>;
2315c932a03SJohann Neuhauser		dvdd-supply = <&v3v3>;
2325c932a03SJohann Neuhauser		pvdd-supply = <&v3v3>;
2335c932a03SJohann Neuhauser		dvdd-3v-supply = <&v3v3>;
2345c932a03SJohann Neuhauser		bgvdd-supply = <&v3v3>;
2355c932a03SJohann Neuhauser
2365c932a03SJohann Neuhauser		interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
2375c932a03SJohann Neuhauser		interrupt-parent = <&gpiog>;
2385c932a03SJohann Neuhauser
2395c932a03SJohann Neuhauser		status = "okay";
2405c932a03SJohann Neuhauser
2415c932a03SJohann Neuhauser		adi,input-depth = <8>;
2425c932a03SJohann Neuhauser		adi,input-colorspace = "rgb";
2435c932a03SJohann Neuhauser		adi,input-clock = "1x";
2445c932a03SJohann Neuhauser
2455c932a03SJohann Neuhauser		ports {
2465c932a03SJohann Neuhauser			#address-cells = <1>;
2475c932a03SJohann Neuhauser			#size-cells = <0>;
2485c932a03SJohann Neuhauser
2495c932a03SJohann Neuhauser			port@0 {
2505c932a03SJohann Neuhauser				reg = <0>;
2515c932a03SJohann Neuhauser				adv7513_in: endpoint {
2525c932a03SJohann Neuhauser					remote-endpoint = <&ltdc_ep0_out>;
2535c932a03SJohann Neuhauser				};
2545c932a03SJohann Neuhauser			};
2555c932a03SJohann Neuhauser
2565c932a03SJohann Neuhauser			port@1 {
2575c932a03SJohann Neuhauser				reg = <1>;
2585c932a03SJohann Neuhauser				adv7513_out: endpoint {
2595c932a03SJohann Neuhauser					remote-endpoint = <&hdmi_con>;
2605c932a03SJohann Neuhauser				};
2615c932a03SJohann Neuhauser			};
2625c932a03SJohann Neuhauser
2635c932a03SJohann Neuhauser			port@2 {
2645c932a03SJohann Neuhauser				reg = <2>;
2655c932a03SJohann Neuhauser				adv7513_i2s0: endpoint {
2665c932a03SJohann Neuhauser					remote-endpoint = <&sai2a_endpoint>;
2675c932a03SJohann Neuhauser				};
2685c932a03SJohann Neuhauser			};
2695c932a03SJohann Neuhauser		};
2705c932a03SJohann Neuhauser	};
2715c932a03SJohann Neuhauser};
2725c932a03SJohann Neuhauser
2735c932a03SJohann Neuhauser&ltdc {
2745c932a03SJohann Neuhauser	pinctrl-names = "default", "sleep";
2755c932a03SJohann Neuhauser	pinctrl-0 = <&ltdc_pins_d>;
2765c932a03SJohann Neuhauser	pinctrl-1 = <&ltdc_sleep_pins_d>;
2775c932a03SJohann Neuhauser	status = "okay";
2785c932a03SJohann Neuhauser
2795c932a03SJohann Neuhauser	port {
2805c932a03SJohann Neuhauser		#address-cells = <1>;
2815c932a03SJohann Neuhauser		#size-cells = <0>;
2825c932a03SJohann Neuhauser
2835c932a03SJohann Neuhauser		ltdc_ep0_out: endpoint@0 {
2845c932a03SJohann Neuhauser			reg = <0>;
2855c932a03SJohann Neuhauser			remote-endpoint = <&adv7513_in>;
2865c932a03SJohann Neuhauser		};
2875c932a03SJohann Neuhauser	};
2885c932a03SJohann Neuhauser};
2895c932a03SJohann Neuhauser
2905c932a03SJohann Neuhauser&sai2 {
2915c932a03SJohann Neuhauser	clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
2925c932a03SJohann Neuhauser	pinctrl-names = "default", "sleep";
2935c932a03SJohann Neuhauser	pinctrl-0 = <&sai2a_pins_c>;
2945c932a03SJohann Neuhauser	pinctrl-1 = <&sai2a_sleep_pins_c>;
2955c932a03SJohann Neuhauser	clock-names = "pclk", "x8k", "x11k";
2965c932a03SJohann Neuhauser	status = "okay";
2975c932a03SJohann Neuhauser
2985c932a03SJohann Neuhauser	sai2a: audio-controller@4400b004 {
2995c932a03SJohann Neuhauser		#clock-cells = <0>;
3005c932a03SJohann Neuhauser		dma-names = "tx";
3015c932a03SJohann Neuhauser		clocks = <&rcc SAI2_K>;
3025c932a03SJohann Neuhauser		clock-names = "sai_ck";
3035c932a03SJohann Neuhauser		status = "okay";
3045c932a03SJohann Neuhauser
3055c932a03SJohann Neuhauser		sai2a_port: port {
3065c932a03SJohann Neuhauser			sai2a_endpoint: endpoint {
3075c932a03SJohann Neuhauser				remote-endpoint = <&adv7513_i2s0>;
3085c932a03SJohann Neuhauser				format = "i2s";
3095c932a03SJohann Neuhauser				mclk-fs = <256>;
3105c932a03SJohann Neuhauser			};
3115c932a03SJohann Neuhauser		};
3125c932a03SJohann Neuhauser	};
3135c932a03SJohann Neuhauser};
3145c932a03SJohann Neuhauser
3155c932a03SJohann Neuhauser&sdmmc1 {
3165c932a03SJohann Neuhauser	pinctrl-names = "default", "opendrain", "sleep";
3175c932a03SJohann Neuhauser	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_b>;
3185c932a03SJohann Neuhauser	pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_b>;
3195c932a03SJohann Neuhauser	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_b>;
3205c932a03SJohann Neuhauser	cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
3215c932a03SJohann Neuhauser	disable-wp;
3225c932a03SJohann Neuhauser	st,sig-dir;
3235c932a03SJohann Neuhauser	st,neg-edge;
3245c932a03SJohann Neuhauser	st,use-ckin;
3255c932a03SJohann Neuhauser	bus-width = <4>;
3265c932a03SJohann Neuhauser	vmmc-supply = <&vdd_sd>;
3275c932a03SJohann Neuhauser	vqmmc-supply = <&sd_switch>;
3285c932a03SJohann Neuhauser	status = "okay";
3295c932a03SJohann Neuhauser};
3305c932a03SJohann Neuhauser
3315c932a03SJohann Neuhauser&sdmmc2 {
3325c932a03SJohann Neuhauser	pinctrl-names = "default", "opendrain", "sleep";
3335c932a03SJohann Neuhauser	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_c>;
3345c932a03SJohann Neuhauser	pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_c>;
3355c932a03SJohann Neuhauser	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_c>;
3365c932a03SJohann Neuhauser	bus-width = <8>;
3375c932a03SJohann Neuhauser	mmc-ddr-1_8v;
3385c932a03SJohann Neuhauser	no-sd;
3395c932a03SJohann Neuhauser	no-sdio;
3405c932a03SJohann Neuhauser	non-removable;
3415c932a03SJohann Neuhauser	st,neg-edge;
3425c932a03SJohann Neuhauser	vmmc-supply = <&v3v3>;
3435c932a03SJohann Neuhauser	vqmmc-supply = <&vdd_io>;
3445c932a03SJohann Neuhauser	status = "okay";
3455c932a03SJohann Neuhauser};
3465c932a03SJohann Neuhauser
3475c932a03SJohann Neuhauser&sdmmc3 {
3485c932a03SJohann Neuhauser	pinctrl-names = "default", "opendrain", "sleep";
3495c932a03SJohann Neuhauser	pinctrl-0 = <&sdmmc3_b4_pins_b>;
3505c932a03SJohann Neuhauser	pinctrl-1 = <&sdmmc3_b4_od_pins_b>;
3515c932a03SJohann Neuhauser	pinctrl-2 = <&sdmmc3_b4_sleep_pins_b>;
3525c932a03SJohann Neuhauser	broken-cd;
3535c932a03SJohann Neuhauser	non-removable;
3545c932a03SJohann Neuhauser	st,neg-edge;
3555c932a03SJohann Neuhauser	bus-width = <4>;
3565c932a03SJohann Neuhauser	vmmc-supply = <&wlan_pwr>;
3575c932a03SJohann Neuhauser	status = "okay";
3585c932a03SJohann Neuhauser
3595c932a03SJohann Neuhauser	#address-cells = <1>;
3605c932a03SJohann Neuhauser	#size-cells = <0>;
3615c932a03SJohann Neuhauser	brcmf: bcrmf@1 {
3625c932a03SJohann Neuhauser		reg = <1>;
3635c932a03SJohann Neuhauser		compatible = "brcm,bcm4329-fmac";
3645c932a03SJohann Neuhauser	};
3655c932a03SJohann Neuhauser};
3665c932a03SJohann Neuhauser
3675c932a03SJohann Neuhauser&spi2 {
3685c932a03SJohann Neuhauser	pinctrl-names = "default";
3695c932a03SJohann Neuhauser	pinctrl-0 = <&spi2_pins_a>;
3705c932a03SJohann Neuhauser	cs-gpios = <&gpioi 0 0>;
3715c932a03SJohann Neuhauser	status = "disabled";
3725c932a03SJohann Neuhauser	/delete-property/dmas;
3735c932a03SJohann Neuhauser	/delete-property/dma-names;
3745c932a03SJohann Neuhauser};
3755c932a03SJohann Neuhauser
3765c932a03SJohann Neuhauser&uart4 {
3775c932a03SJohann Neuhauser	/* On Low speed expansion header */
3785c932a03SJohann Neuhauser	label = "LS-UART1";
3795c932a03SJohann Neuhauser	pinctrl-names = "default";
3805c932a03SJohann Neuhauser	pinctrl-0 = <&uart4_pins_b>;
3815c932a03SJohann Neuhauser	/delete-property/dmas;
3825c932a03SJohann Neuhauser	/delete-property/dma-names;
3835c932a03SJohann Neuhauser	status = "okay";
3845c932a03SJohann Neuhauser};
3855c932a03SJohann Neuhauser
3865c932a03SJohann Neuhauser&uart7 {
3875c932a03SJohann Neuhauser	/* On Low speed expansion header */
3885c932a03SJohann Neuhauser	label = "LS-UART0";
3895c932a03SJohann Neuhauser	pinctrl-names = "default";
3905c932a03SJohann Neuhauser	pinctrl-0 = <&uart7_pins_a>;
3915c932a03SJohann Neuhauser	uart-has-rtscts;
3925c932a03SJohann Neuhauser	/delete-property/dmas;
3935c932a03SJohann Neuhauser	/delete-property/dma-names;
3945c932a03SJohann Neuhauser	status = "okay";
3955c932a03SJohann Neuhauser};
3965c932a03SJohann Neuhauser
3975c932a03SJohann Neuhauser/* Bluetooth */
3985c932a03SJohann Neuhauser&usart2 {
3995c932a03SJohann Neuhauser	pinctrl-names = "default", "sleep";
4005c932a03SJohann Neuhauser	pinctrl-0 = <&usart2_pins_a>;
4015c932a03SJohann Neuhauser	pinctrl-1 = <&usart2_sleep_pins_a>;
4025c932a03SJohann Neuhauser	st,hw-flow-ctrl;
4035c932a03SJohann Neuhauser	/delete-property/dmas;
4045c932a03SJohann Neuhauser	/delete-property/dma-names;
4055c932a03SJohann Neuhauser	status = "okay";
4065c932a03SJohann Neuhauser
4075c932a03SJohann Neuhauser	bluetooth {
4085c932a03SJohann Neuhauser		compatible = "brcm,bcm43438-bt";
4095c932a03SJohann Neuhauser		max-speed = <3000000>;
4105c932a03SJohann Neuhauser		shutdown-gpios = <&gpioz 6 GPIO_ACTIVE_HIGH>;
4115c932a03SJohann Neuhauser	};
4125c932a03SJohann Neuhauser};
4135c932a03SJohann Neuhauser
4145c932a03SJohann Neuhauser&usbh_ehci {
4155c932a03SJohann Neuhauser	phys = <&usbphyc_port0>;
4165c932a03SJohann Neuhauser	phy-names = "usb";
4175c932a03SJohann Neuhauser	status = "okay";
4185c932a03SJohann Neuhauser};
4195c932a03SJohann Neuhauser
4205c932a03SJohann Neuhauser&usbotg_hs {
4215c932a03SJohann Neuhauser	pinctrl-0 = <&usbotg_hs_pins_a>;
4225c932a03SJohann Neuhauser	pinctrl-names = "default";
4235c932a03SJohann Neuhauser	phy-names = "usb2-phy";
4245c932a03SJohann Neuhauser	phys = <&usbphyc_port1 0>;
4255c932a03SJohann Neuhauser	status = "okay";
4265c932a03SJohann Neuhauser	vbus-supply = <&vbus_otg>;
4275c932a03SJohann Neuhauser};
4285c932a03SJohann Neuhauser
4295c932a03SJohann Neuhauser&usbphyc {
4305c932a03SJohann Neuhauser	status = "okay";
4315c932a03SJohann Neuhauser};
4325c932a03SJohann Neuhauser
4335c932a03SJohann Neuhauser&usbphyc_port0 {
4345c932a03SJohann Neuhauser	phy-supply = <&vdd_usb>;
4355c932a03SJohann Neuhauser};
4365c932a03SJohann Neuhauser
4375c932a03SJohann Neuhauser&usbphyc_port1 {
4385c932a03SJohann Neuhauser	phy-supply = <&vdd_usb>;
4395c932a03SJohann Neuhauser};
440