1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright (C) 2025 PHYTEC Messtechnik GmbH 4 */ 5 6#include <dt-bindings/clock/imx8mp-clock.h> 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/interrupt-controller/irq.h> 9#include "imx8mp-pinfunc.h" 10 11/dts-v1/; 12/plugin/; 13 14&{/} { 15 wlbt_clock: clock-32768 { 16 compatible = "fixed-clock"; 17 clock-accuracy = <20000>; 18 clock-frequency = <32768>; 19 clock-output-names = "WIFIBT_SLOW_CLK"; 20 #clock-cells = <0>; 21 }; 22 23 usdhc1_pwrseq: pwr-seq { 24 compatible = "mmc-pwrseq-simple"; 25 post-power-on-delay-ms = <250>; 26 reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; 27 }; 28}; 29 30&iomuxc { 31 pinctrl_uart3: uart3grp { 32 fsl,pins = < 33 MX8MP_IOMUXC_SD1_RESET_B__UART3_DCE_RTS 0x140 /* RTS */ 34 MX8MP_IOMUXC_SD1_STROBE__UART3_DCE_CTS 0x140 /* CTS */ 35 MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x140 /* RX */ 36 MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x140 /* TX */ 37 >; 38 }; 39 40 pinctrl_bluetooth: bluetoothgrp { 41 fsl,pins = < 42 MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x106 /* BT_DEV_WAKE_EXP */ 43 MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x106 /* BT_REG_ON_EXP */ 44 MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09 0x106 /* BT_HOST_WAKE_EXP */ 45 >; 46 }; 47 48 pinctrl_usdhc1: usdhc1grp { 49 fsl,pins = < 50 MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x190 /* SDIO_CLK */ 51 MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d0 /* SDIO_CMD */ 52 MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d0 /* SDIO_D0 */ 53 MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d0 /* SDIO_D1 */ 54 MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d0 /* SDIO_D2 */ 55 MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0 /* SDIO_D3 */ 56 >; 57 }; 58 59 pinctrl_wifi: wifigrp { 60 fsl,pins = < 61 MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x106 /* WL_REG_ON_EXP */ 62 >; 63 }; 64}; 65 66&uart3 { 67 assigned-clocks = <&clk IMX8MP_CLK_UART3>; 68 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 69 pinctrl-0 = <&pinctrl_uart3>; 70 pinctrl-names = "default"; 71 uart-has-rtscts; 72 status = "okay"; 73 74 bluetooth { 75 compatible = "brcm,bcm43438-bt"; 76 pinctrl-0 = <&pinctrl_bluetooth>; 77 pinctrl-names = "default"; 78 clock-names = "lpo"; 79 clocks = <&wlbt_clock>; 80 device-wakeup-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; 81 host-wakeup-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>; 82 max-speed = <3000000>; 83 shutdown-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; 84 vbat-supply = <®_vcc_3v3_sw>; 85 vddio-supply = <®_vcc_1v8_exp_con>; 86 }; 87}; 88 89&usdhc1 { 90 #address-cells = <1>; 91 #size-cells = <0>; 92 pinctrl-0 = <&pinctrl_usdhc1>; 93 pinctrl-names = "default"; 94 bus-width = <4>; 95 max-frequency = <50000000>; 96 mmc-pwrseq = <&usdhc1_pwrseq>; 97 non-removable; 98 vmmc-supply = <®_vcc_3v3_sw>; 99 status = "okay"; 100 101 wifi@1 { 102 compatible = "brcm,bcm4329-fmac"; 103 reg = <1>; 104 pinctrl-0 = <&pinctrl_wifi>; 105 pinctrl-names = "default"; 106 reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; 107 }; 108}; 109