// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright 2023 Google LLC
 */

/dts-v1/;
#include "mt8183-kukui-jacuzzi.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"

/ {
	model = "Google pico6 board";
	chassis-type = "convertible";
	compatible = "google,pico-sku2", "google,pico", "mediatek,mt8183";

	bt_wakeup: bt-wakeup {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&bt_pins_wakeup>;

		wobt {
			label = "Wake on BT";
			gpios = <&pio 42 GPIO_ACTIVE_HIGH>;
			linux,code = <KEY_WAKEUP>;
			wakeup-source;
		};
	};
};

&i2c_tunnel {
	google,remote-bus = <0>;
};

&i2c2 {
	i2c-scl-internal-delay-ns = <25000>;

	trackpad@2c {
		compatible = "hid-over-i2c";
		reg = <0x2c>;
		hid-descr-addr = <0x20>;

		pinctrl-names = "default";
		pinctrl-0 = <&trackpad_pins>;

		interrupts-extended = <&pio 7 IRQ_TYPE_LEVEL_LOW>;

		wakeup-source;
	};
};

&wifi_wakeup {
	wowlan {
		gpios = <&pio 113 GPIO_ACTIVE_LOW>;
	};
};

&wifi_pwrseq {
	post-power-on-delay-ms = <50>;

	/* Toggle WIFI_ENABLE to reset the chip. */
	reset-gpios = <&pio 8 GPIO_ACTIVE_LOW>;
};

&wifi_pins_pwrseq {
	pins-wifi-enable {
		pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
	};
};

&mmc1_pins_default {
	pins-cmd-dat {
		drive-strength = <MTK_DRIVE_6mA>;
	};
	pins-clk {
		drive-strength = <MTK_DRIVE_6mA>;
	};
};

&mmc1_pins_uhs {
	pins-clk {
		drive-strength = <MTK_DRIVE_6mA>;
	};
};

&mmc1 {
	bluetooth@2 {
		reg = <2>;
		compatible = "mediatek,mt7921s-bluetooth";
		pinctrl-names = "default";
		pinctrl-0 = <&bt_pins_reset>;
		reset-gpios = <&pio 120 GPIO_ACTIVE_LOW>;
	};
};

&pio {
	bt_pins_wakeup: bt-pins-wakeup {
		piins-bt-wakeup {
			pinmux = <PINMUX_GPIO42__FUNC_GPIO42>;
			input-enable;
		};
	};

	bt_pins_reset: bt-pins-reset {
		pins-bt-reset {
			pinmux = <PINMUX_GPIO120__FUNC_GPIO120>;
			output-high;
		};
	};
};

/delete-node/ &bluetooth;
/delete-node/ &bt_pins;
