xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx6ul-var-som-wifi.dtsi (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Support optional Wifi/Bluetooth on Variscite VAR-SOM-6UL module.
4 *
5 * Copyright 2019-2024 Variscite Ltd.
6 * Copyright 2026 Dimonoff
7 */
8
9/ {
10	reg_sd1_vmmc: regulator_sd1_vmmc {
11		compatible = "regulator-fixed";
12		regulator-name = "VMMC1";
13		regulator-min-microvolt = <3300000>;
14		regulator-max-microvolt = <3300000>;
15		gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
16		enable-active-high;
17		startup-delay-us = <10000>;
18	};
19
20	usdhc1_pwrseq: usdhc1-pwrseq {
21		compatible = "mmc-pwrseq-simple";
22		pinctrl-names = "default";
23		pinctrl-0 = <&pinctrl_brcm_wifi>;
24		reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
25	};
26};
27
28&iomuxc {
29	pinctrl_32k_clk: 32kclkgrp {
30		/*
31		 * For TP option, an additional oscillator is assembled on the
32		 * SOM to provide 32 kHz to the WiFi module. Without TP option,
33		 * this pin is configured to provide the 32 KHz clock to the
34		 * WiFi module.
35		 */
36		fsl,pins = <
37			MX6UL_PAD_GPIO1_IO03__OSC32K_32K_OUT	0x03029
38		>;
39	};
40};
41
42&tsc {
43	status = "disabled";
44};
45
46/* Bluetooth UART */
47&uart2 {
48	bluetooth {
49		compatible = "brcm,bcm43438-bt";
50		pinctrl-names = "default";
51		pinctrl-0 = <&pinctrl_brcm_bt>;
52		shutdown-gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
53		vbat-supply = <&reg_3p3v>;
54		vddio-supply = <&reg_3p3v>;
55	};
56};
57
58&usdhc1 {
59	#address-cells = <1>;
60	#size-cells = <0>;
61	pinctrl-names = "default", "state_100mhz", "state_200mhz";
62	pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_32k_clk>;
63	pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_32k_clk>;
64	pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_32k_clk>;
65	no-1-8-v;
66	non-removable;
67	mmc-pwrseq = <&usdhc1_pwrseq>;
68	vmmc-supply = <&reg_sd1_vmmc>;
69	status = "okay";
70
71	brcmf: wifi@1 {
72		compatible = "brcm,bcm4329-fmac"; /* LWB option: Sterling LWB5 */
73		reg = <1>;
74	};
75};
76