Skip to content

Commit ee219a1

Browse files
committed
tegra210-nintendo-switch.dts: fix bluetooth device.
1 parent 26658cc commit ee219a1

File tree

1 file changed

+48
-6
lines changed

1 file changed

+48
-6
lines changed

arch/arm64/boot/dts/nvidia/tegra210-nintendo-switch.dts

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,40 @@
293293
nvidia,open-drain = <TEGRA_PIN_DISABLE>;
294294
};
295295

296+
// Bluetooth
297+
bt_rst {
298+
nvidia,pins = "bt_rst_ph4";
299+
nvidia,function = "rsvd0";
300+
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
301+
nvidia,tristate = <TEGRA_PIN_DISABLE>;
302+
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
303+
nvidia,open-drain = <TEGRA_PIN_DISABLE>;
304+
};
305+
bt_wake {
306+
nvidia,pins = "ap_wake_bt_ph3";
307+
nvidia,function = "rsvd0";
308+
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
309+
nvidia,tristate = <TEGRA_PIN_DISABLE>;
310+
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
311+
nvidia,open-drain = <TEGRA_PIN_DISABLE>;
312+
};
313+
bt_uart_tx {
314+
nvidia,pins = "uart4_tx_pi4", "uart4_rts_pi6";
315+
nvidia,function = "uartd";
316+
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
317+
nvidia,tristate = <TEGRA_PIN_DISABLE>;
318+
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
319+
nvidia,open-drain = <TEGRA_PIN_DISABLE>;
320+
};
321+
bt_uart_rx {
322+
nvidia,pins = "uart4_rx_pi5", "uart4_cts_pi7";
323+
nvidia,function = "uartd";
324+
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
325+
nvidia,tristate = <TEGRA_PIN_ENABLE>;
326+
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
327+
nvidia,open-drain = <TEGRA_PIN_DISABLE>;
328+
};
329+
296330
// Misc unknown GPIOs
297331
in_none {
298332
// p5,p4,p3,p2,s1,h5,x5,y1,e6,h6,k2
@@ -331,8 +365,8 @@
331365
nvidia,open-drain = <TEGRA_PIN_DISABLE>;
332366
};
333367
out_down {
334-
// e5,j5,bb3,cc3,h0,h1,h3,h4,s6,v5,k3,k5,l0
335-
nvidia,pins = "dmic3_dat_pe5", "dap4_din_pj5", "gpio_x1_aud_pbb3", "spdif_in_pcc3", "wifi_en_ph0", "wifi_rst_ph1", "ap_wake_bt_ph3", "bt_rst_ph4", "cam_flash_en_ps6", "ap_ready_pv5", "pk3", "pk5", "pl0";
368+
// e5,j5,bb3,cc3,h0,h1,s6,v5,k3,k5,l0
369+
nvidia,pins = "dmic3_dat_pe5", "dap4_din_pj5", "gpio_x1_aud_pbb3", "spdif_in_pcc3", "wifi_en_ph0", "wifi_rst_ph1", "cam_flash_en_ps6", "ap_ready_pv5", "pk3", "pk5", "pl0";
336370
nvidia,function = "rsvd3";
337371
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
338372
nvidia,tristate = <TEGRA_PIN_DISABLE>;
@@ -352,25 +386,33 @@
352386
start @ 1000000 baud, switch to 3000000
353387
when they are >= 3000000 baud, use 2 stop bits
354388
use flow control
389+
Note: hsuart driver is required for flow control
355390
*/
356391
/* right joycon */
357392
serial@70006040 {
358393
status = "okay";
359-
//uart-has-rtscts;
394+
//compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
360395
};
361396

362397
/* left joycon */
363398
serial@70006200 {
364399
status = "okay";
365-
uart-has-rtscts;
400+
compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
366401
};
367402

368403
/* bluetooth */
369404
serial@70006300 {
370405
status = "okay";
371-
uart-has-rtscts;
372-
// starts @ 115200, can switch to 3000000
406+
// starts @ 115200, switches to 3000000
373407
// flow control, 1 stop bit
408+
compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
409+
410+
bluetooth {
411+
compatible = "brcm,bcm43438-bt";
412+
shutdown-gpios = <&gpio TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
413+
// level correct?
414+
device-wakeup-gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_LOW>;
415+
};
374416
};
375417

376418
pwm@7000a000 {

0 commit comments

Comments
 (0)