| Thomas Gleixner | d2912cb | 2019-06-04 10:11:33 +0200 | [diff] [blame^] | 1 | // SPDX-License-Identifier: GPL-2.0-only | 
| Robert Nelson | fbb5850 | 2016-12-27 11:58:35 -0600 | [diff] [blame] | 2 | /* | 
 | 3 |  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ | 
| Robert Nelson | fbb5850 | 2016-12-27 11:58:35 -0600 | [diff] [blame] | 4 |  */ | 
 | 5 | /dts-v1/; | 
 | 6 |  | 
 | 7 | #include "am33xx.dtsi" | 
 | 8 | #include "am335x-bone-common.dtsi" | 
 | 9 | #include "am335x-boneblack-common.dtsi" | 
 | 10 | #include <dt-bindings/interrupt-controller/irq.h> | 
 | 11 |  | 
 | 12 | / { | 
 | 13 | 	model = "TI AM335x BeagleBone Black Wireless"; | 
 | 14 | 	compatible = "ti,am335x-bone-black-wireless", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; | 
 | 15 |  | 
 | 16 | 	wlan_en_reg: fixedregulator@2 { | 
 | 17 | 		compatible = "regulator-fixed"; | 
 | 18 | 		regulator-name = "wlan-en-regulator"; | 
 | 19 | 		regulator-min-microvolt = <1800000>; | 
 | 20 | 		regulator-max-microvolt = <1800000>; | 
 | 21 | 		startup-delay-us= <70000>; | 
 | 22 |  | 
 | 23 | 		/* WL_EN */ | 
 | 24 | 		gpio = <&gpio3 9 0>; | 
 | 25 | 		enable-active-high; | 
 | 26 | 	}; | 
 | 27 | }; | 
 | 28 |  | 
 | 29 | &am33xx_pinmux { | 
 | 30 | 	bt_pins: pinmux_bt_pins { | 
 | 31 | 		pinctrl-single,pins = < | 
| Christina Quast | 682668d | 2019-04-08 10:01:52 -0700 | [diff] [blame] | 32 | 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gmii1_txd0.gpio0_28 - BT_EN */ | 
| Robert Nelson | fbb5850 | 2016-12-27 11:58:35 -0600 | [diff] [blame] | 33 | 		>; | 
 | 34 | 	}; | 
 | 35 |  | 
 | 36 | 	mmc3_pins: pinmux_mmc3_pins { | 
 | 37 | 		pinctrl-single,pins = < | 
| Christina Quast | 682668d | 2019-04-08 10:01:52 -0700 | [diff] [blame] | 38 | 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLUP, MUX_MODE6 ) /* (L15) gmii1_rxd1.mmc2_clk */ | 
 | 39 | 			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLUP, MUX_MODE6 ) /* (J16) gmii1_txen.mmc2_cmd */ | 
 | 40 | 			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLUP, MUX_MODE5 ) /* (J17) gmii1_rxdv.mmc2_dat0 */ | 
 | 41 | 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_INPUT_PULLUP, MUX_MODE5 ) /* (J18) gmii1_txd3.mmc2_dat1 */ | 
 | 42 | 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_INPUT_PULLUP, MUX_MODE5 ) /* (K15) gmii1_txd2.mmc2_dat2 */ | 
 | 43 | 			AM33XX_PADCONF(AM335X_PIN_MII1_COL, PIN_INPUT_PULLUP, MUX_MODE5 ) /* (H16) gmii1_col.mmc2_dat3 */ | 
| Robert Nelson | fbb5850 | 2016-12-27 11:58:35 -0600 | [diff] [blame] | 44 | 		>; | 
 | 45 | 	}; | 
 | 46 |  | 
 | 47 | 	uart3_pins: pinmux_uart3_pins { | 
 | 48 | 		pinctrl-single,pins = < | 
| Christina Quast | 682668d | 2019-04-08 10:01:52 -0700 | [diff] [blame] | 49 | 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLUP, MUX_MODE1)	/* gmii1_rxd3.uart3_rxd */ | 
 | 50 | 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE1)	/* gmii1_rxd2.uart3_txd */ | 
 | 51 | 			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT, MUX_MODE3)		/* mdio_data.uart3_ctsn */ | 
 | 52 | 			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLDOWN, MUX_MODE3)	/* mdio_clk.uart3_rtsn */ | 
| Robert Nelson | fbb5850 | 2016-12-27 11:58:35 -0600 | [diff] [blame] | 53 | 		>; | 
 | 54 | 	}; | 
 | 55 |  | 
 | 56 | 	wl18xx_pins: pinmux_wl18xx_pins { | 
 | 57 | 		pinctrl-single,pins = < | 
| Christina Quast | 682668d | 2019-04-08 10:01:52 -0700 | [diff] [blame] | 58 | 			AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	/* gmii1_txclk.gpio3_9 WL_EN */ | 
 | 59 | 			AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)	/* rmii1_refclk.gpio0_29 WL_IRQ */ | 
 | 60 | 			AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gmii1_rxclk.gpio3_10 LS_BUF_EN */ | 
| Robert Nelson | fbb5850 | 2016-12-27 11:58:35 -0600 | [diff] [blame] | 61 | 		>; | 
 | 62 | 	}; | 
 | 63 | }; | 
 | 64 |  | 
 | 65 | &mac { | 
 | 66 | 	status = "disabled"; | 
 | 67 | }; | 
 | 68 |  | 
 | 69 | &mmc3 { | 
 | 70 | 	dmas = <&edma_xbar 12 0 1 | 
 | 71 | 		&edma_xbar 13 0 2>; | 
 | 72 | 	dma-names = "tx", "rx"; | 
 | 73 | 	status = "okay"; | 
 | 74 | 	vmmc-supply = <&wlan_en_reg>; | 
 | 75 | 	bus-width = <4>; | 
 | 76 | 	non-removable; | 
 | 77 | 	cap-power-off-card; | 
 | 78 | 	ti,needs-special-hs-handling; | 
 | 79 | 	keep-power-in-suspend; | 
 | 80 | 	pinctrl-names = "default"; | 
 | 81 | 	pinctrl-0 = <&mmc3_pins &wl18xx_pins>; | 
 | 82 |  | 
 | 83 | 	#address-cells = <1>; | 
 | 84 | 	#size-cells = <0>; | 
 | 85 | 	wlcore: wlcore@2 { | 
 | 86 | 		compatible = "ti,wl1835"; | 
 | 87 | 		reg = <2>; | 
 | 88 | 		interrupt-parent = <&gpio0>; | 
 | 89 | 		interrupts = <29 IRQ_TYPE_EDGE_RISING>; | 
 | 90 | 	}; | 
 | 91 | }; | 
 | 92 |  | 
 | 93 | &uart3 { | 
 | 94 | 	pinctrl-names = "default"; | 
 | 95 | 	pinctrl-0 = <&uart3_pins &bt_pins>; | 
 | 96 | 	status = "okay"; | 
| Ricardo Salveti | c2498af | 2017-05-22 11:51:38 -0300 | [diff] [blame] | 97 |  | 
 | 98 | 	bluetooth { | 
 | 99 | 		compatible = "ti,wl1835-st"; | 
 | 100 | 		enable-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; | 
 | 101 | 	}; | 
| Robert Nelson | fbb5850 | 2016-12-27 11:58:35 -0600 | [diff] [blame] | 102 | }; | 
 | 103 |  | 
 | 104 | &gpio3 { | 
 | 105 | 	ls_buf_en { | 
 | 106 | 		gpio-hog; | 
 | 107 | 		gpios = <10 GPIO_ACTIVE_HIGH>; | 
 | 108 | 		output-high; | 
 | 109 | 		line-name = "LS_BUF_EN"; | 
 | 110 | 	}; | 
 | 111 | }; |