// SPDX-License-Identifier: (GPL-2.0)
/*
 * Device tree for the Tolino Vision 5 ebook reader
 *
 * Name on mainboard is: 37NB-E70K0M+6A3
 * Serials start with: E70K02 (a number also seen in
 * vendor kernel sources)
 *
 * This mainboard seems to be equipped with different SoCs.
 * In the Tolino Vision 5 ebook reader it is a i.MX6SL
 *
 * Copyright 2021 Andreas Kemnade
 * based on works
 * Copyright 2016 Freescale Semiconductor, Inc.
 */

/dts-v1/;

#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include "imx6sl.dtsi"
#include "e70k02.dtsi"

/ {
	model = "Tolino Vision 5";
	compatible = "kobo,tolino-vision5", "fsl,imx6sl";
};

&gpio_keys {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gpio_keys>;
};

&i2c1 {
	pinctrl-names = "default","sleep";
	pinctrl-0 = <&pinctrl_i2c1>;
	pinctrl-1 = <&pinctrl_i2c1_sleep>;
};

&i2c2 {
	pinctrl-names = "default","sleep";
	pinctrl-0 = <&pinctrl_i2c2>;
	pinctrl-1 = <&pinctrl_i2c2_sleep>;
};

&i2c3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
};

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

	pinctrl_gpio_keys: gpio-keysgrp {
		fsl,pins = <
			MX6SL_PAD_FEC_CRS_DV__GPIO4_IO25	0x17059	/* PWR_SW */
			MX6SL_PAD_FEC_MDC__GPIO4_IO23	0x17059	/* HALL_EN */
			MX6SL_PAD_KEY_COL4__GPIO4_IO00		0x17059	/* PAGE_UP */
			MX6SL_PAD_KEY_COL5__GPIO4_IO02		0x17059	/* PAGE_DOWN */
		>;
	};

	pinctrl_hog: hoggrp {
		fsl,pins = <
			MX6SL_PAD_LCD_DAT1__GPIO2_IO21	0x79
			MX6SL_PAD_LCD_DAT4__GPIO2_IO24	0x79
			MX6SL_PAD_LCD_DAT5__GPIO2_IO25	0x79
			MX6SL_PAD_LCD_DAT6__GPIO2_IO26	0x79
			MX6SL_PAD_LCD_DAT7__GPIO2_IO27	0x79
			MX6SL_PAD_LCD_DAT8__GPIO2_IO28	0x79
			MX6SL_PAD_LCD_DAT9__GPIO2_IO29	0x79
			MX6SL_PAD_LCD_DAT10__GPIO2_IO30	0x79
			MX6SL_PAD_LCD_DAT11__GPIO2_IO31	0x79
			MX6SL_PAD_LCD_DAT12__GPIO3_IO00	0x79
			MX6SL_PAD_LCD_DAT13__GPIO3_IO01	0x79
			MX6SL_PAD_LCD_DAT14__GPIO3_IO02	0x79
			MX6SL_PAD_LCD_DAT15__GPIO3_IO03	0x79
			MX6SL_PAD_LCD_DAT16__GPIO3_IO04	0x79
			MX6SL_PAD_LCD_DAT17__GPIO3_IO05	0x79
			MX6SL_PAD_LCD_DAT18__GPIO3_IO06	0x79
			MX6SL_PAD_LCD_DAT19__GPIO3_IO07	0x79
			MX6SL_PAD_LCD_DAT20__GPIO3_IO08	0x79
			MX6SL_PAD_LCD_DAT21__GPIO3_IO09	0x79
			MX6SL_PAD_LCD_DAT22__GPIO3_IO10	0x79
			MX6SL_PAD_LCD_DAT23__GPIO3_IO11	0x79
			MX6SL_PAD_LCD_CLK__GPIO2_IO15		0x79
			MX6SL_PAD_LCD_ENABLE__GPIO2_IO16	0x79
			MX6SL_PAD_LCD_HSYNC__GPIO2_IO17	0x79
			MX6SL_PAD_LCD_VSYNC__GPIO2_IO18	0x79
			MX6SL_PAD_LCD_RESET__GPIO2_IO19	0x79
			MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21	0x79
			MX6SL_PAD_FEC_REF_CLK__GPIO4_IO26	0x79
			MX6SL_PAD_KEY_COL3__GPIO3_IO30		0x79
			MX6SL_PAD_KEY_ROW7__GPIO4_IO07		0x79
			MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13	0x79
		>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			MX6SL_PAD_I2C1_SCL__I2C1_SCL	 0x4001f8b1
			MX6SL_PAD_I2C1_SDA__I2C1_SDA	 0x4001f8b1
		>;
	};

	pinctrl_i2c1_sleep: i2c1grp-sleep {
		fsl,pins = <
			MX6SL_PAD_I2C1_SCL__I2C1_SCL	 0x400108b1
			MX6SL_PAD_I2C1_SDA__I2C1_SDA	 0x400108b1
		>;
	};

	pinctrl_i2c2: i2c2grp {
		fsl,pins = <
			MX6SL_PAD_I2C2_SCL__I2C2_SCL	 0x4001f8b1
			MX6SL_PAD_I2C2_SDA__I2C2_SDA	 0x4001f8b1
		>;
	};

	pinctrl_i2c2_sleep: i2c2grp-sleep {
		fsl,pins = <
			MX6SL_PAD_I2C2_SCL__I2C2_SCL	 0x400108b1
			MX6SL_PAD_I2C2_SDA__I2C2_SDA	 0x400108b1
		>;
	};

	pinctrl_i2c3: i2c3grp {
		fsl,pins = <
			MX6SL_PAD_REF_CLK_24M__I2C3_SCL  0x4001f8b1
			MX6SL_PAD_REF_CLK_32K__I2C3_SDA  0x4001f8b1
		>;
	};

	pinctrl_led: ledgrp {
		fsl,pins = <
			MX6SL_PAD_FEC_RXD0__GPIO4_IO17	0x10059
		>;
	};

	pinctrl_lm3630a_bl_gpio: lm3630a-bl-gpiogrp {
		fsl,pins = <
			MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10		0x10059 /* HWEN */
		>;
	};

	pinctrl_ricoh_gpio: ricoh-gpiogrp {
		fsl,pins = <
			MX6SL_PAD_FEC_MDIO__GPIO4_IO20		0x1b8b1 /* ricoh619 chg */
			MX6SL_PAD_FEC_RX_ER__GPIO4_IO19		0x1b8b1 /* ricoh619 irq */
			MX6SL_PAD_KEY_COL2__GPIO3_IO28		0x1b8b1 /* ricoh619 bat_low_int */
		>;
	};

	pinctrl_uart1: uart1grp {
		fsl,pins = <
			MX6SL_PAD_UART1_TXD__UART1_TX_DATA 0x1b0b1
			MX6SL_PAD_UART1_RXD__UART1_RX_DATA 0x1b0b1
		>;
	};

	pinctrl_usbotg1: usbotg1grp {
		fsl,pins = <
			MX6SL_PAD_EPDC_PWRCOM__USB_OTG1_ID 0x17059
		>;
	};

	pinctrl_usdhc1: usdhc1grp {
		fsl,pins = <
			MX6SL_PAD_SD1_CMD__SD1_CMD	0x17059
			MX6SL_PAD_SD1_CLK__SD1_CLK	0x17059
			MX6SL_PAD_SD1_DAT0__SD1_DATA0	0x17059
			MX6SL_PAD_SD1_DAT1__SD1_DATA1	0x17059
			MX6SL_PAD_SD1_DAT2__SD1_DATA2	0x17059
			MX6SL_PAD_SD1_DAT3__SD1_DATA3	0x17059
			MX6SL_PAD_SD1_DAT4__SD1_DATA4	0x17059
			MX6SL_PAD_SD1_DAT5__SD1_DATA5	0x17059
			MX6SL_PAD_SD1_DAT6__SD1_DATA6	0x17059
			MX6SL_PAD_SD1_DAT7__SD1_DATA7	0x17059
		>;
	};

	pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
		fsl,pins = <
			MX6SL_PAD_SD1_CMD__SD1_CMD	0x170b9
			MX6SL_PAD_SD1_CLK__SD1_CLK	0x170b9
			MX6SL_PAD_SD1_DAT0__SD1_DATA0	0x170b9
			MX6SL_PAD_SD1_DAT1__SD1_DATA1	0x170b9
			MX6SL_PAD_SD1_DAT2__SD1_DATA2	0x170b9
			MX6SL_PAD_SD1_DAT3__SD1_DATA3	0x170b9
			MX6SL_PAD_SD1_DAT4__SD1_DATA4	0x170b9
			MX6SL_PAD_SD1_DAT5__SD1_DATA5	0x170b9
			MX6SL_PAD_SD1_DAT6__SD1_DATA6	0x170b9
			MX6SL_PAD_SD1_DAT7__SD1_DATA7	0x170b9
		>;
	};

	pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
		fsl,pins = <
			MX6SL_PAD_SD1_CMD__SD1_CMD	0x170f9
			MX6SL_PAD_SD1_CLK__SD1_CLK	0x170f9
			MX6SL_PAD_SD1_DAT0__SD1_DATA0	0x170f9
			MX6SL_PAD_SD1_DAT1__SD1_DATA1	0x170f9
			MX6SL_PAD_SD1_DAT2__SD1_DATA2	0x170f9
			MX6SL_PAD_SD1_DAT3__SD1_DATA3	0x170f9
			MX6SL_PAD_SD1_DAT4__SD1_DATA4	0x170b9
			MX6SL_PAD_SD1_DAT5__SD1_DATA5	0x170b9
			MX6SL_PAD_SD1_DAT6__SD1_DATA6	0x170b9
			MX6SL_PAD_SD1_DAT7__SD1_DATA7	0x170b9
		>;
	};

	pinctrl_usdhc1_sleep: usdhc1-sleepgrp {
		fsl,pins = <
			MX6SL_PAD_SD1_CMD__SD1_CMD	0x10059
			MX6SL_PAD_SD1_CLK__SD1_CLK	0x10059
			MX6SL_PAD_SD1_DAT0__SD1_DATA0	0x10059
			MX6SL_PAD_SD1_DAT1__SD1_DATA1	0x10059
			MX6SL_PAD_SD1_DAT2__SD1_DATA2	0x10059
			MX6SL_PAD_SD1_DAT3__SD1_DATA3	0x10059
			MX6SL_PAD_SD1_DAT4__SD1_DATA4	0x10059
			MX6SL_PAD_SD1_DAT5__SD1_DATA5	0x10059
			MX6SL_PAD_SD1_DAT6__SD1_DATA6	0x10059
			MX6SL_PAD_SD1_DAT7__SD1_DATA7	0x10059
		>;
	};

	pinctrl_usdhc3: usdhc3grp {
		fsl,pins = <
			MX6SL_PAD_SD3_CMD__SD3_CMD	0x11059
			MX6SL_PAD_SD3_CLK__SD3_CLK	0x11059
			MX6SL_PAD_SD3_DAT0__SD3_DATA0	0x11059
			MX6SL_PAD_SD3_DAT1__SD3_DATA1	0x11059
			MX6SL_PAD_SD3_DAT2__SD3_DATA2	0x11059
			MX6SL_PAD_SD3_DAT3__SD3_DATA3	0x11059
		>;
	};

	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
		fsl,pins = <
			MX6SL_PAD_SD3_CMD__SD3_CMD	0x170b9
			MX6SL_PAD_SD3_CLK__SD3_CLK	0x170b9
			MX6SL_PAD_SD3_DAT0__SD3_DATA0	0x170b9
			MX6SL_PAD_SD3_DAT1__SD3_DATA1	0x170b9
			MX6SL_PAD_SD3_DAT2__SD3_DATA2	0x170b9
			MX6SL_PAD_SD3_DAT3__SD3_DATA3	0x170b9
		>;
	};

	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
		fsl,pins = <
			MX6SL_PAD_SD3_CMD__SD3_CMD	0x170f9
			MX6SL_PAD_SD3_CLK__SD3_CLK	0x170f9
			MX6SL_PAD_SD3_DAT0__SD3_DATA0	0x170f9
			MX6SL_PAD_SD3_DAT1__SD3_DATA1	0x170f9
			MX6SL_PAD_SD3_DAT2__SD3_DATA2	0x170f9
			MX6SL_PAD_SD3_DAT3__SD3_DATA3	0x170f9
		>;
	};

	pinctrl_usdhc3_sleep: usdhc3-sleepgrp {
		fsl,pins = <
			MX6SL_PAD_SD3_CMD__GPIO5_IO21	0x100c1
			MX6SL_PAD_SD3_CLK__GPIO5_IO18	0x100c1
			MX6SL_PAD_SD3_DAT0__GPIO5_IO19	0x100c1
			MX6SL_PAD_SD3_DAT1__GPIO5_IO20	0x100c1
			MX6SL_PAD_SD3_DAT2__GPIO5_IO16	0x100c1
			MX6SL_PAD_SD3_DAT3__GPIO5_IO17	0x100c1
		>;
	};

	pinctrl_wifi_power: wifi-powergrp {
		fsl,pins = <
			MX6SL_PAD_SD2_DAT6__GPIO4_IO29	0x10059	 /* WIFI_3V3_ON */
		>;
	};

	pinctrl_wifi_reset: wifi-resetgrp {
		fsl,pins = <
			MX6SL_PAD_SD2_DAT7__GPIO5_IO00	0x10059	/* WIFI_RST */
		>;
	};
};

&leds {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_led>;
};

&lm3630a {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lm3630a_bl_gpio>;
};

&reg_wifi {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wifi_power>;
};

&reg_vdd1p1 {
	vin-supply = <&dcdc2_reg>;
};

&reg_vdd2p5 {
	vin-supply = <&dcdc2_reg>;
};

&reg_arm {
	vin-supply = <&dcdc3_reg>;
};

&reg_soc {
	vin-supply = <&dcdc1_reg>;
};

&reg_pu {
	vin-supply = <&dcdc1_reg>;
};

&ricoh619 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ricoh_gpio>;
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
};

&usdhc1 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz","sleep";
	pinctrl-0 = <&pinctrl_usdhc1>;
	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
	pinctrl-3 = <&pinctrl_usdhc1_sleep>;
};

&usdhc3 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz","sleep";
	pinctrl-0 = <&pinctrl_usdhc3>;
	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
	pinctrl-3 = <&pinctrl_usdhc3_sleep>;
};

&wifi_pwrseq {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wifi_reset>;
};
