// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright 2018-2020 Purism SPC
 */

/dts-v1/;

#include "dt-bindings/input/input.h"
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
#include "dt-bindings/pwm/pwm.h"
#include "dt-bindings/usb/pd.h"
#include "imx8mq.dtsi"

/ {
	model = "Purism Librem 5";
	compatible = "purism,librem5", "fsl,imx8mq";
	chassis-type = "handset";

	backlight_dsi: backlight-dsi {
		compatible = "led-backlight";
		leds = <&led_backlight>;
		brightness-levels = <255>;
		default-brightness-level = <190>;
	};

	pmic_osc: clock-pmic {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <32768>;
		clock-output-names = "pmic_osc";
	};

	chosen {
		stdout-path = &uart1;
	};

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_keys>;

		key-vol-down {
			label = "VOL_DOWN";
			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEDOWN>;
			debounce-interval = <50>;
		};

		key-vol-up {
			label = "VOL_UP";
			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
			debounce-interval = <50>;
		};
	};

	led-controller {
		compatible = "pwm-leds-multicolor";

		multi-led {
			color = <LED_COLOR_ID_RGB>;
			function = LED_FUNCTION_STATUS;
			max-brightness = <248>;

			led-0 {
				color = <LED_COLOR_ID_BLUE>;
				pwms = <&pwm2 0 50000 0>;
			};

			led-1 {
				color = <LED_COLOR_ID_GREEN>;
				pwms = <&pwm4 0 50000 0>;
			};

			led-2 {
				color = <LED_COLOR_ID_RED>;
				pwms = <&pwm3 0 50000 0>;
			};
		};
	};

	reg_aud_1v8: regulator-audio-1v8 {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_audiopwr>;
		regulator-name = "AUD_1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-always-on;
	};

	reg_mic_2v4: regulator-mic-2v4 {
		compatible = "regulator-fixed";
		regulator-name = "MIC_2V4";
		regulator-min-microvolt = <2400000>;
		regulator-max-microvolt = <2400000>;
		vin-supply = <&reg_aud_1v8>;
	};

	/*
	 * the pinctrl for reg_csi_1v8 and reg_vcam_1v8 is added to the PMIC
	 * since we can't have it twice in the 2 different regulator nodes.
	 */
	reg_csi_1v8: regulator-csi-1v8 {
		compatible = "regulator-fixed";
		regulator-name = "CAMERA_VDDIO_1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		vin-supply = <&reg_vdd_3v3>;
		gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	/* controlled by the CAMERA_POWER_KEY HKS */
	reg_vcam_1v2: regulator-vcam-1v2 {
		compatible = "regulator-fixed";
		regulator-name = "CAMERA_VDDD_1V2";
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;
		vin-supply = <&reg_vdd_1v8>;
		enable-active-high;
	};

	reg_vcam_2v8: regulator-vcam-2v8 {
		compatible = "regulator-fixed";
		regulator-name = "CAMERA_VDDA_2V8";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
		vin-supply = <&reg_vdd_3v3>;
		gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_gnss: regulator-gnss {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_gnsspwr>;
		regulator-name = "GNSS";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio3 12 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_hub: regulator-hub {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_hub_pwr>;
		regulator-name = "HUB";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_lcd_1v8: regulator-lcd-1v8 {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_dsien>;
		regulator-name = "LCD_1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		vin-supply = <&reg_vdd_1v8>;
		gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		/* Otherwise i2c3 is not functional */
		regulator-always-on;
	};

	reg_lcd_3v4: regulator-lcd-3v4 {
		compatible = "regulator-fixed";
		regulator-name = "LCD_3V4";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_dsibiasen>;
		vin-supply = <&reg_vsys_3v4>;
		gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_vdd_sen: regulator-vdd-sen {
		compatible = "regulator-fixed";
		regulator-name = "VDD_SEN";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	reg_vdd_1v8: regulator-vdd-1v8 {
		compatible = "regulator-fixed";
		regulator-name = "VDD_1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		vin-supply = <&buck7_reg>;
	};

	reg_vdd_3v3: regulator-vdd-3v3 {
		compatible = "regulator-fixed";
		regulator-name = "VDD_3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	reg_vsys_3v4: regulator-vsys-3v4 {
		compatible = "regulator-fixed";
		regulator-name = "VSYS_3V4";
		regulator-min-microvolt = <3400000>;
		regulator-max-microvolt = <3400000>;
		regulator-always-on;
	};

	reg_wifi_3v3: regulator-wifi-3v3 {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_wifi_pwr>;
		regulator-name = "3V3_WIFI";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio3 10 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		vin-supply = <&reg_vdd_3v3>;
	};

	sound {
		compatible = "simple-audio-card";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_hp>;
		simple-audio-card,name = "Librem 5";
		simple-audio-card,format = "i2s";
		simple-audio-card,widgets =
			"Headphone", "Headphones",
			"Microphone", "Headset Mic",
			"Microphone", "Digital Mic",
			"Speaker", "Speaker";
		simple-audio-card,routing =
			"Headphones", "HPOUTL",
			"Headphones", "HPOUTR",
			"Speaker", "SPKOUTL",
			"Speaker", "SPKOUTR",
			"Headset Mic", "MICBIAS",
			"IN3R", "Headset Mic",
			"DMICDAT", "Digital Mic";
		simple-audio-card,hp-det-gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>;

		simple-audio-card,cpu {
			sound-dai = <&sai2>;
		};

		simple-audio-card,codec {
			sound-dai = <&codec>;
			clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
			frame-master;
			bitclock-master;
		};
	};

	sound-wwan {
		compatible = "simple-audio-card";
		simple-audio-card,name = "Modem";
		simple-audio-card,format = "i2s";

		simple-audio-card,cpu {
			sound-dai = <&sai6>;
			frame-inversion;
		};

		simple-audio-card,codec {
			sound-dai = <&bm818_codec>;
			frame-master;
			bitclock-master;
		};
	};

	usdhc2_pwrseq: pwrseq {
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_bt>, <&pinctrl_wifi_disable>;
		compatible = "mmc-pwrseq-simple";
		reset-gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>,
			      <&gpio4 29 GPIO_ACTIVE_HIGH>;
	};

	bm818_codec: sound-wwan-codec {
		compatible = "broadmobi,bm818", "option,gtm601";
		#sound-dai-cells = <0>;
	};

	vibrator {
		compatible = "pwm-vibrator";
		pwms = <&pwm1 0 1000000000 0>;
		pwm-names = "enable";
		vcc-supply = <&reg_vdd_3v3>;
	};
};

&A53_0 {
	cpu-supply = <&buck2_reg>;
};

&A53_1 {
	cpu-supply = <&buck2_reg>;
};

&A53_2 {
	cpu-supply = <&buck2_reg>;
};

&A53_3 {
	cpu-supply = <&buck2_reg>;
};

&csi1 {
	status = "okay";
};

&ddrc {
	operating-points-v2 = <&ddrc_opp_table>;
	status = "okay";

	ddrc_opp_table: opp-table {
		compatible = "operating-points-v2";

		opp-25000000 {
			opp-hz = /bits/ 64 <25000000>;
		};

		opp-100000000 {
			opp-hz = /bits/ 64 <100000000>;
		};

		opp-166000000 {
			opp-hz = /bits/ 64 <166935483>;
		};

		opp-800000000 {
			opp-hz = /bits/ 64 <800000000>;
		};
	};
};

&dphy {
	status = "okay";
};

&ecspi1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi1>;
	cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	nor_flash: flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <1000000>;
		#address-cells = <1>;
		#size-cells = <1>;

		partition@0 {
			label = "protected0";
			reg = <0x0 0x30000>;
			read-only;
		};

		partition@30000 {
			label = "firmware";
			reg = <0x30000 0x1d0000>;
			read-only;
		};
	};
};

&gpio1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pmic_5v>;

	pmic-5v-hog {
		gpio-hog;
		gpios = <1 GPIO_ACTIVE_HIGH>;
		input;
		line-name = "pmic-5v";
	};
};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog>;

	pinctrl_hog: hoggrp {
		fsl,pins = <
			/* CLKO2 for cameras on both CSI1 and CSI2 */
			MX8MQ_IOMUXC_GPIO1_IO15_CCMSRCGPCMIX_CLKO2      0x1f
		>;
	};

	pinctrl_audiopwr: audiopwrgrp {
		fsl,pins = <
			/* AUDIO_POWER_EN_3V3 */
			MX8MQ_IOMUXC_GPIO1_IO04_GPIO1_IO4	0x83
		>;
	};

	pinctrl_bl: blgrp {
		fsl,pins = <
			/* BACKLINGE_EN */
			MX8MQ_IOMUXC_NAND_DQS_GPIO3_IO14	0x83
		>;
	};

	pinctrl_bt: btgrp {
		fsl,pins = <
			/* BT_REG_ON */
			MX8MQ_IOMUXC_SAI5_MCLK_GPIO3_IO25	0x83
		>;
	};

	pinctrl_camera_pwr: camerapwrgrp {
		fsl,pins = <
			/* CAMERA_PWR_EN_3V3 */
			MX8MQ_IOMUXC_GPIO1_IO00_GPIO1_IO0	0x83
		>;
	};

	pinctrl_csi1: csi1grp {
		fsl,pins = <
			/* CSI1_NRST */
			MX8MQ_IOMUXC_ENET_RXC_GPIO1_IO25	0x83
		>;
	};

	pinctrl_charger_in: chargeringrp {
		fsl,pins = <
			/* CHRG_INT */
			MX8MQ_IOMUXC_NAND_CE2_B_GPIO3_IO3	0x80
		>;
	};

	pinctrl_dsibiasen: dsibiasengrp {
		fsl,pins = <
			/* DSI_BIAS_EN */
			MX8MQ_IOMUXC_ENET_TD1_GPIO1_IO20	0x83
		>;
	};

	pinctrl_dsien: dsiengrp {
		fsl,pins = <
			/* DSI_EN_3V3 */
			MX8MQ_IOMUXC_GPIO1_IO05_GPIO1_IO5	0x83
		>;
	};

	pinctrl_dsirst: dsirstgrp {
		fsl,pins = <
			/* DSI_RST */
			MX8MQ_IOMUXC_ENET_RD3_GPIO1_IO29	0x83
			/* DSI_TE */
			MX8MQ_IOMUXC_ENET_RD2_GPIO1_IO28	0x83
			/* TP_RST */
			MX8MQ_IOMUXC_ENET_RX_CTL_GPIO1_IO24	0x83
		>;
	};

	pinctrl_ecspi1: ecspigrp {
		fsl,pins = <
			MX8MQ_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI	0x83
			MX8MQ_IOMUXC_ECSPI1_MISO_ECSPI1_MISO	0x83
			MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9	0x19
			MX8MQ_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK	0x83
		>;
	};

	pinctrl_gauge: gaugegrp {
		fsl,pins = <
			/* BAT_LOW */
			MX8MQ_IOMUXC_SAI5_RXC_GPIO3_IO20	0x80
		>;
	};

	pinctrl_gnsspwr: gnsspwrgrp {
		fsl,pins = <
			/* GPS3V3_EN */
			MX8MQ_IOMUXC_NAND_DATA06_GPIO3_IO12	0x83
		>;
	};

	pinctrl_haptic: hapticgrp {
		fsl,pins = <
			/* MOTO */
			MX8MQ_IOMUXC_SPDIF_EXT_CLK_PWM1_OUT	0x83
		>;
	};

	pinctrl_hp: hpgrp {
		fsl,pins = <
			/* HEADPHONE_DET_1V8 */
			MX8MQ_IOMUXC_NAND_DATA03_GPIO3_IO9	0x180
		>;
	};

	pinctrl_hub_pwr: hubpwrgrp {
		fsl,pins = <
			/* HUB_PWR_3V3_EN */
			MX8MQ_IOMUXC_GPIO1_IO14_GPIO1_IO14	0x83
		>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL		0x40000026
			MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA		0x40000026
		>;
	};

	pinctrl_i2c2: i2c2grp {
		fsl,pins = <
			MX8MQ_IOMUXC_I2C2_SCL_I2C2_SCL		0x40000026
			MX8MQ_IOMUXC_I2C2_SDA_I2C2_SDA		0x40000026
		>;
	};

	pinctrl_i2c3: i2c3grp {
		fsl,pins = <
			MX8MQ_IOMUXC_I2C3_SCL_I2C3_SCL		0x40000026
			MX8MQ_IOMUXC_I2C3_SDA_I2C3_SDA		0x40000026
		>;
	};

	pinctrl_i2c4: i2c4grp {
		fsl,pins = <
			MX8MQ_IOMUXC_I2C4_SCL_I2C4_SCL		0x40000026
			MX8MQ_IOMUXC_I2C4_SDA_I2C4_SDA		0x40000026
		>;
	};

	pinctrl_keys: keysgrp {
		fsl,pins = <
			/* VOL- */
			MX8MQ_IOMUXC_ENET_MDIO_GPIO1_IO17	0x01C0
			/* VOL+ */
			MX8MQ_IOMUXC_ENET_MDC_GPIO1_IO16	0x01C0
		>;
	};

	pinctrl_led_b: ledbgrp {
		fsl,pins = <
			/* LED_B */
			MX8MQ_IOMUXC_GPIO1_IO13_PWM2_OUT	0x06
		>;
	};

	pinctrl_led_g: ledggrp {
		fsl,pins = <
			/* LED_G */
			MX8MQ_IOMUXC_SAI3_MCLK_PWM4_OUT		0x06
		>;
	};

	pinctrl_led_r: ledrgrp {
		fsl,pins = <
			/* LED_R */
			MX8MQ_IOMUXC_SPDIF_TX_PWM3_OUT		0x06
		>;
	};

	pinctrl_mag: maggrp {
		fsl,pins = <
			/* INT_MAG */
			MX8MQ_IOMUXC_SAI5_RXD1_GPIO3_IO22	0x80
		>;
	};

	pinctrl_pmic: pmicgrp {
		fsl,pins = <
			/* PMIC_NINT */
			MX8MQ_IOMUXC_GPIO1_IO07_GPIO1_IO7	0x80
		>;
	};

	pinctrl_pmic_5v: pmic5vgrp {
		fsl,pins = <
			/* PMIC_5V */
			MX8MQ_IOMUXC_GPIO1_IO01_GPIO1_IO1	0x80
		>;
	};

	pinctrl_prox: proxgrp {
		fsl,pins = <
			/* INT_LIGHT */
			MX8MQ_IOMUXC_NAND_DATA01_GPIO3_IO7	0x80
		>;
	};

	pinctrl_rtc: rtcgrp {
		fsl,pins = <
			/* RTC_INT */
			MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9	0x80
		>;
	};

	pinctrl_sai2: sai2grp {
		fsl,pins = <
			MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0	0xd6
			MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC	0xd6
			MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK	0xd6
			MX8MQ_IOMUXC_SAI2_RXD0_SAI2_RX_DATA0	0xd6
			MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK	0xd6
		>;
	};

	pinctrl_sai6: sai6grp {
		fsl,pins = <
			MX8MQ_IOMUXC_SAI1_RXD5_SAI6_RX_DATA0	0xd6
			MX8MQ_IOMUXC_SAI1_RXD6_SAI6_RX_SYNC	0xd6
			MX8MQ_IOMUXC_SAI1_TXD4_SAI6_RX_BCLK	0xd6
			MX8MQ_IOMUXC_SAI1_TXD5_SAI6_TX_DATA0	0xd6
		>;
	};

	pinctrl_tcpc: tcpcgrp {
		fsl,pins = <
			/* TCPC_INT */
			MX8MQ_IOMUXC_GPIO1_IO10_GPIO1_IO10	0x01C0
		>;
	};

	pinctrl_touch: touchgrp {
		fsl,pins = <
			/* TP_INT */
			MX8MQ_IOMUXC_ENET_RD1_GPIO1_IO27	0x80
		>;
	};

	pinctrl_typec: typecgrp {
		fsl,pins = <
			/* TYPEC_MUX_EN */
			MX8MQ_IOMUXC_GPIO1_IO11_GPIO1_IO11	0x83
		>;
	};

	pinctrl_uart1: uart1grp {
		fsl,pins = <
			MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX	0x49
			MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX	0x49
		>;
	};

	pinctrl_uart2: uart2grp {
		fsl,pins = <
			MX8MQ_IOMUXC_UART2_TXD_UART2_DCE_TX	0x49
			MX8MQ_IOMUXC_UART2_RXD_UART2_DCE_RX	0x49
		>;
	};

	pinctrl_uart3: uart3grp {
		fsl,pins = <
			MX8MQ_IOMUXC_UART3_RXD_UART3_DCE_RX	0x49
			MX8MQ_IOMUXC_UART3_TXD_UART3_DCE_TX	0x49
		>;
	};

	pinctrl_uart4: uart4grp {
		fsl,pins = <
			MX8MQ_IOMUXC_ECSPI2_SCLK_UART4_DCE_RX		0x49
			MX8MQ_IOMUXC_ECSPI2_MOSI_UART4_DCE_TX		0x49
			MX8MQ_IOMUXC_ECSPI2_MISO_UART4_DCE_CTS_B	0x49
			MX8MQ_IOMUXC_ECSPI2_SS0_UART4_DCE_RTS_B		0x49
		>;
	};

	pinctrl_usdhc1: usdhc1grp {
		fsl,pins = <
			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x83
			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xc3
			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xc3
			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xc3
			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xc3
			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xc3
			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xc3
			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xc3
			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xc3
			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xc3
			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x83
			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
		>;
	};

	pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
		fsl,pins = <
			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x8d
			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xcd
			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xcd
			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xcd
			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xcd
			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xcd
			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xcd
			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xcd
			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xcd
			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xcd
			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x8d
			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
		>;
	};

	pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
		fsl,pins = <
			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x9f
			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xdf
			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xdf
			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xdf
			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xdf
			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xdf
			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xdf
			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xdf
			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xdf
			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xdf
			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x9f
			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
		>;
	};

	pinctrl_usdhc2: usdhc2grp {
		fsl,pins = <
			MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12	0x80
			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK		0x83
			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD		0xc3
			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0	0xc3
			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1	0xc3
			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2	0xc3
			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3	0xc3
			MX8MQ_IOMUXC_SD2_RESET_B_USDHC2_RESET_B 0xc1
		>;
	};

	pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
		fsl,pins = <
			MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12	0x80
			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK		0x8d
			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD		0xcd
			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0	0xcd
			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1	0xcd
			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2	0xcd
			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3	0xcd
			MX8MQ_IOMUXC_SD2_RESET_B_USDHC2_RESET_B 0xc1
		>;
	};

	pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
		fsl,pins = <
			MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12	0x80
			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK		0x9f
			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD		0xcf
			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0	0xcf
			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1	0xcf
			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2	0xcf
			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3	0xcf
			MX8MQ_IOMUXC_SD2_RESET_B_USDHC2_RESET_B 0xc1
		>;
	};

	pinctrl_wifi_disable: wifidisablegrp {
		fsl,pins = <
			/* WIFI_REG_ON */
			MX8MQ_IOMUXC_SAI3_RXC_GPIO4_IO29	0x83
		>;
	};

	pinctrl_wifi_pwr: wifipwrgrp {
		fsl,pins = <
			/* WIFI3V3_EN */
			MX8MQ_IOMUXC_NAND_DATA04_GPIO3_IO10	0x83
		>;
	};

	pinctrl_wdog: wdoggrp {
		fsl,pins = <
			/* nWDOG */
			MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B	0x1f
		>;
	};
};

&i2c1 {
	clock-frequency = <384000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1>;
	status = "okay";

	typec_pd: usb-pd@3f {
		compatible = "ti,tps6598x";
		reg = <0x3f>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_typec>, <&pinctrl_tcpc>;
		interrupt-parent = <&gpio1>;
		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
		interrupt-names = "irq";
		extcon = <&usb3_phy0>;
		wakeup-source;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			data-role = "dual";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@0 {
					reg = <0>;

					usb_con_hs: endpoint {
						remote-endpoint = <&typec_hs>;
					};
				};

				port@1 {
					reg = <1>;

					usb_con_ss: endpoint {
						remote-endpoint = <&typec_ss>;
					};
				};
			};
		};
	};

	pmic: pmic@4b {
		compatible = "rohm,bd71837";
		reg = <0x4b>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pmic>, <&pinctrl_camera_pwr>;
		clocks = <&pmic_osc>;
		#clock-cells = <0>;
		clock-names = "osc";
		clock-output-names = "pmic_clk";
		interrupt-parent = <&gpio1>;
		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
		rohm,reset-snvs-powered;

		regulators {
			buck1_reg: BUCK1 {
				regulator-name = "buck1";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1300000>;
				regulator-boot-on;
				regulator-ramp-delay = <1250>;
				rohm,dvs-run-voltage = <880000>;
				rohm,dvs-idle-voltage = <820000>;
				rohm,dvs-suspend-voltage = <810000>;
				regulator-always-on;
			};

			buck2_reg: BUCK2 {
				regulator-name = "buck2";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1300000>;
				regulator-boot-on;
				regulator-ramp-delay = <1250>;
				rohm,dvs-run-voltage = <950000>;
				rohm,dvs-idle-voltage = <850000>;
				regulator-always-on;
			};

			buck3_reg: BUCK3 {
				regulator-name = "buck3";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1300000>;
				regulator-boot-on;
				rohm,dvs-run-voltage = <850000>;
			};

			buck4_reg: BUCK4 {
				regulator-name = "buck4";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1300000>;
				rohm,dvs-run-voltage = <930000>;
			};

			buck5_reg: BUCK5 {
				regulator-name = "buck5";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1350000>;
				regulator-boot-on;
				regulator-always-on;
			};

			buck6_reg: BUCK6 {
				regulator-name = "buck6";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;
				regulator-always-on;
			};

			buck7_reg: BUCK7 {
				regulator-name = "buck7";
				regulator-min-microvolt = <1605000>;
				regulator-max-microvolt = <1995000>;
				regulator-boot-on;
				regulator-always-on;
			};

			buck8_reg: BUCK8 {
				regulator-name = "buck8";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1400000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo1_reg: LDO1 {
				regulator-name = "ldo1";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;
				/* leave on for snvs power button */
				regulator-always-on;
			};

			ldo2_reg: LDO2 {
				regulator-name = "ldo2";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <900000>;
				regulator-boot-on;
				/* leave on for snvs power button */
				regulator-always-on;
			};

			ldo3_reg: LDO3 {
				regulator-name = "ldo3";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo4_reg: LDO4 {
				regulator-name = "ldo4";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1800000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo5_reg: LDO5 {
				/* VDD_PHY_0V9 - MIPI and HDMI domains */
				regulator-name = "ldo5";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			ldo6_reg: LDO6 {
				/* VDD_PHY_0V9 - MIPI, HDMI and USB domains */
				regulator-name = "ldo6";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1800000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo7_reg: LDO7 {
				/* VDD_PHY_3V3 - USB domain */
				regulator-name = "ldo7";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;
				regulator-always-on;
			};
		};
	};

	rtc@68 {
		compatible = "microcrystal,rv4162";
		reg = <0x68>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_rtc>;
		interrupt-parent = <&gpio1>;
		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
	};
};

&i2c2 {
	clock-frequency = <384000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "okay";

	magnetometer: magnetometer@1e	{
		compatible = "st,lsm9ds1-magn";
		reg = <0x1e>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_mag>;
		interrupt-parent = <&gpio3>;
		interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
		vdd-supply = <&reg_vdd_sen>;
		vddio-supply = <&reg_vdd_1v8>;
	};

	regulator@3e {
		compatible = "ti,tps65132";
		reg = <0x3e>;

		reg_lcd_avdd: outp {
			regulator-name = "LCD_AVDD";
			vin-supply = <&reg_lcd_3v4>;
		};

		reg_lcd_avee: outn {
			regulator-name = "LCD_AVEE";
			vin-supply = <&reg_lcd_3v4>;
		};
	};

	proximity: prox@60 {
		compatible = "vishay,vcnl4040";
		reg = <0x60>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_prox>;
		interrupt-parent = <&gpio3>;
		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
	};

	accel_gyro: accel-gyro@6a	{
		compatible = "st,lsm9ds1-imu";
		reg = <0x6a>;
		vdd-supply = <&reg_vdd_sen>;
		vddio-supply = <&reg_vdd_1v8>;
	};
};

&i2c3 {
	clock-frequency = <384000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
	status = "okay";

	codec: audio-codec@1a {
		compatible = "wlf,wm8962";
		reg = <0x1a>;
		clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
		assigned-clocks = <&clk IMX8MQ_CLK_SAI2>;
		assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
		assigned-clock-rates = <24576000>;
		#sound-dai-cells = <0>;
		mic-cfg = <0x200>;
		DCVDD-supply = <&reg_aud_1v8>;
		DBVDD-supply = <&reg_aud_1v8>;
		AVDD-supply = <&reg_aud_1v8>;
		CPVDD-supply = <&reg_aud_1v8>;
		MICVDD-supply = <&reg_mic_2v4>;
		PLLVDD-supply = <&reg_aud_1v8>;
		SPKVDD1-supply = <&reg_vsys_3v4>;
		SPKVDD2-supply = <&reg_vsys_3v4>;
		gpio-cfg = <
			0x0000 /* n/c */
			0x0001 /* gpio2, 1: default */
			0x0013 /* gpio3, 2: dmicclk */
			0x0000 /* n/c, 3: default */
			0x8014 /* gpio5, 4: dmic_dat */
			0x0000 /* gpio6, 5: default */
		>;
	};

	camera_front: camera@20 {
		compatible = "hynix,hi846";
		reg = <0x20>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_csi1>;
		clocks = <&clk IMX8MQ_CLK_CLKO2>;
		assigned-clocks = <&clk IMX8MQ_CLK_CLKO2>;
		assigned-clock-rates = <25000000>;
		reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
		vdda-supply = <&reg_vcam_2v8>;
		vddd-supply = <&reg_vcam_1v2>;
		vddio-supply = <&reg_csi_1v8>;
		rotation = <90>;
		orientation = <0>;

		port {
			camera1_ep: endpoint {
				data-lanes = <1 2>;
				link-frequencies = /bits/ 64
					<80000000 200000000 300000000>;
				remote-endpoint = <&mipi1_sensor_ep>;
			};
		};
	};

	backlight@36 {
		compatible = "ti,lm36922";
		reg = <0x36>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_bl>;
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
		vled-supply = <&reg_vsys_3v4>;
		ti,ovp-microvolt = <25000000>;

		led_backlight: led@0 {
			reg = <0>;
			label = ":backlight";
			linux,default-trigger = "backlight";
			led-max-microamp = <20000>;
		};
	};

	touchscreen@38 {
		compatible = "edt,edt-ft5506";
		reg = <0x38>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_touch>;
		interrupt-parent = <&gpio1>;
		interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
		touchscreen-size-x = <720>;
		touchscreen-size-y = <1440>;
		vcc-supply = <&reg_lcd_1v8>;
	};
};

&i2c4 {
	clock-frequency = <384000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c4>;
	status = "okay";

	vcm@c {
		compatible = "dongwoon,dw9714";
		reg = <0x0c>;
		vcc-supply = <&reg_csi_1v8>;
	};

	bat: fuel-gauge@36 {
		compatible = "maxim,max17055";
		reg = <0x36>;
		interrupt-parent = <&gpio3>;
		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_gauge>;
		power-supplies = <&bq25895>;
		maxim,over-heat-temp = <700>;
		maxim,over-volt = <4500>;
		maxim,rsns-microohm = <5000>;
	};

	bq25895: charger@6a {
		compatible = "ti,bq25895", "ti,bq25890";
		reg = <0x6a>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_charger_in>;
		interrupt-parent = <&gpio3>;
		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
		ti,battery-regulation-voltage = <4208000>; /* uV */
		ti,termination-current = <128000>;  /* uA */
		ti,precharge-current = <128000>; /* uA */
		ti,minimum-sys-voltage = <3700000>; /* uV */
		ti,boost-voltage = <5000000>; /* uV */
		ti,boost-max-current = <1500000>; /* uA */
		monitored-battery = <&bat>;
		power-supplies = <&typec_pd>;
	};
};

&lcdif {
	status = "okay";
};

&mipi_csi1 {
	assigned-clock-rates = <266000000>, <200000000>, <66000000>;
	status = "okay";

	ports {
		port@0 {
			reg = <0>;

			mipi1_sensor_ep: endpoint {
				remote-endpoint = <&camera1_ep>;
				data-lanes = <1 2>;
			};
		};
	};
};

&mipi_dsi {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	lcd_panel: panel@0 {
		compatible = "mantix,mlaf057we51-x";
		reg = <0>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_dsirst>;
		avdd-supply = <&reg_lcd_avdd>;
		avee-supply = <&reg_lcd_avee>;
		vddi-supply = <&reg_lcd_1v8>;
		backlight = <&backlight_dsi>;
		reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
		mantix,tp-rstn-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;

		port {
			panel_in: endpoint {
				remote-endpoint = <&mipi_dsi_out>;
			};
		};
	};

	ports {
		port@1 {
			reg = <1>;

			mipi_dsi_out: endpoint {
				remote-endpoint = <&panel_in>;
			};
		};
	};
};

&pgc_gpu {
	power-supply = <&buck3_reg>;
};

&pgc_mipi {
	power-supply = <&ldo5_reg>;
};

&pgc_vpu {
	power-supply = <&buck4_reg>;
};

&pwm1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_haptic>;
	status = "okay";
};

&pwm2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_led_b>;
	status = "okay";
};

&pwm3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_led_r>;
	status = "okay";
};

&pwm4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_led_g>;
	status = "okay";
};

&sai2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_sai2>;
	assigned-clocks = <&clk IMX8MQ_CLK_SAI2>;
	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
	assigned-clock-rates = <24576000>;
	status = "okay";
};

&sai6 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_sai6>;
	assigned-clocks = <&clk IMX8MQ_CLK_SAI6>;
	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
	assigned-clock-rates = <24576000>;
	fsl,sai-synchronous-rx;
	status = "okay";
};

&snvs_pwrkey {
	status = "okay";
};

&snvs_rtc {
	status = "disabled";
};

&uart1 { /* console */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
	status = "okay";
};

&uart2 { /* TPS - GPS - DEBUG */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
	status = "okay";

	gnss {
		compatible = "globaltop,pa6h";
		vcc-supply = <&reg_gnss>;
		current-speed = <9600>;
	};
};

&uart3 { /* SMC */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3>;
	status = "okay";
};

&uart4 { /* BT */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart4>;
	uart-has-rtscts;
	status = "okay";
};

&usb3_phy0 {
	status = "okay";
};

&usb3_phy1 {
	vbus-supply = <&reg_hub>;
	status = "okay";
};

&usb_dwc3_0 {
	#address-cells = <1>;
	#size-cells = <0>;
	dr_mode = "otg";
	usb-role-switch;
	status = "okay";

	port@0 {
		reg = <0>;

		typec_hs: endpoint {
			remote-endpoint = <&usb_con_hs>;
		};
	};

	port@1 {
		reg = <1>;

		typec_ss: endpoint {
			remote-endpoint = <&usb_con_ss>;
		};
	};
};

&usb_dwc3_1 {
	dr_mode = "host";
	status = "okay";
	#address-cells = <1>;
	#size-cells = <0>;

	/* Microchip USB2642 */
	hub@1 {
		compatible = "usb424,2640";
		reg = <1>;
		#address-cells = <1>;
		#size-cells = <0>;

		mass-storage@1 {
			compatible = "usb424,4041";
			reg = <1>;
		};
	};
};

&usdhc1 {
	assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
	assigned-clock-rates = <400000000>;
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc1>;
	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
	bus-width = <8>;
	vmmc-supply = <&reg_vdd_3v3>;
	vqmmc-supply = <&reg_vdd_1v8>;
	non-removable;
	status = "okay";
};

&usdhc2 {
	assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>;
	assigned-clock-rates = <200000000>;
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc2>;
	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
	bus-width = <4>;
	vmmc-supply = <&reg_wifi_3v3>;
	mmc-pwrseq = <&usdhc2_pwrseq>;
	post-power-on-delay-ms = <20>;
	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
	max-frequency = <100000000>;
	disable-wp;
	cap-sdio-irq;
	keep-power-in-suspend;
	wakeup-source;
	status = "okay";
};

&wdog1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wdog>;
	fsl,ext-reset-output;
	status = "okay";
};

&a53_opp_table {
	opp-1000000000 {
		opp-microvolt = <850000>;
	};

	opp-1500000000 {
		opp-microvolt = <950000>;
	};
};
