// SPDX-License-Identifier: GPL-2.0-only
/*
 * Device Tree for DA850 EVM board
 *
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 */
/dts-v1/;
#include "da850.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	compatible = "ti,da850-evm", "ti,da850";
	model = "DA850/AM1808/OMAP-L138 EVM";

	chosen {
		stdout-path = &serial2;
	};

	aliases {
		serial0 = &serial0;
		serial1 = &serial1;
		serial2 = &serial2;
		ethernet0 = &eth0;
		spi0 = &spi1;
	};

	backlight: backlight-pwm {
		pinctrl-names = "default";
		pinctrl-0 = <&ecap2_pins>;
		power-supply = <&backlight_lcd>;
		compatible = "pwm-backlight";
		/*
		 * The PWM here corresponds to production hardware. The
		 * schematic needs to be 1015171 (15 March 2010), Rev A
		 * or newer.
		 */
		pwms = <&ecap2 0 50000 0>;
		brightness-levels = <0 10 20 30 40 50 60 70 80 90 99>;
		default-brightness-level = <7>;
	};

	panel {
		compatible = "ti,tilcdc,panel";
		pinctrl-names = "default";
		pinctrl-0 = <&lcd_pins>;
		/*
		 * The vpif and the LCD are mutually exclusive.
		 * To enable VPIF, change the status below to 'disabled' then
		 * then change the status of the vpif below to 'okay'
		 */
		status = "okay";
		enable-gpios = <&gpio 40 GPIO_ACTIVE_HIGH>; /* lcd_panel_pwr */

		panel-info {
			ac-bias		= <255>;
			ac-bias-intrpt	= <0>;
			dma-burst-sz	= <16>;
			bpp		= <16>;
			fdd		= <0x80>;
			sync-edge	= <0>;
			sync-ctrl	= <1>;
			raster-order	= <0>;
			fifo-th		= <0>;
		};

		display-timings {
			native-mode = <&timing0>;
			timing0: 480x272 {
				clock-frequency = <9000000>;
				hactive = <480>;
				vactive = <272>;
				hfront-porch = <3>;
				hback-porch = <2>;
				hsync-len = <42>;
				vback-porch = <3>;
				vfront-porch = <4>;
				vsync-len = <11>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <1>;
			};
		};
	};

	vbat: fixedregulator0 {
		compatible = "regulator-fixed";
		regulator-name = "vbat";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-boot-on;
	};

	baseboard_3v3: fixedregulator-3v3 {
		/* TPS73701DCQ */
		compatible = "regulator-fixed";
		regulator-name = "baseboard_3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vbat>;
		regulator-always-on;
		regulator-boot-on;
	};

	baseboard_1v8: fixedregulator-1v8 {
		/* TPS73701DCQ */
		compatible = "regulator-fixed";
		regulator-name = "baseboard_1v8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		vin-supply = <&vbat>;
		regulator-always-on;
		regulator-boot-on;
	};

	backlight_lcd: backlight-regulator {
		compatible = "regulator-fixed";
		regulator-name = "lcd_backlight_pwr";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio 47 GPIO_ACTIVE_HIGH>; /* lcd_backlight_pwr */
		enable-active-high;
	};

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "DA850-OMAPL138 EVM";
		simple-audio-card,widgets =
			"Line", "Line In",
			"Line", "Line Out";
		simple-audio-card,routing =
			"LINE1L", "Line In",
			"LINE1R", "Line In",
			"Line Out", "LLOUT",
			"Line Out", "RLOUT";
		simple-audio-card,format = "dsp_b";
		simple-audio-card,bitclock-master = <&link0_codec>;
		simple-audio-card,frame-master = <&link0_codec>;
		simple-audio-card,bitclock-inversion;

		simple-audio-card,cpu {
			sound-dai = <&mcasp0>;
			system-clock-frequency = <24576000>;
		};

		link0_codec: simple-audio-card,codec {
			sound-dai = <&tlv320aic3106>;
			system-clock-frequency = <24576000>;
		};
	};
};

&ecap2 {
	status = "okay";
};

&ref_clk {
	clock-frequency = <24000000>;
};

&pmx_core {
	status = "okay";

	mcasp0_pins: pinmux_mcasp0_pins {
		pinctrl-single,bits = <
			/*
			 * AHCLKX, ACLKX, AFSX, AHCLKR, ACLKR,
			 * AFSR, AMUTE
			 */
			0x00 0x11111111 0xffffffff
			/* AXR11, AXR12 */
			0x04 0x00011000 0x000ff000
		>;
	};
	nand_pins: nand_pins {
		pinctrl-single,bits = <
			/* EMA_WAIT[0], EMA_OE, EMA_WE, EMA_CS[4], EMA_CS[3] */
			0x1c 0x10110110  0xf0ff0ff0
			/*
			 * EMA_D[0], EMA_D[1], EMA_D[2],
			 * EMA_D[3], EMA_D[4], EMA_D[5],
			 * EMA_D[6], EMA_D[7]
			 */
			0x24 0x11111111  0xffffffff
			/* EMA_A[1], EMA_A[2] */
			0x30 0x01100000  0x0ff00000
		>;
	};
};

&cpu {
	cpu-supply = <&vdcdc3_reg>;
};

/*
 * The standard da850-evm kits and SOM's are 375MHz so enable this operating
 * point by default. Higher frequencies must be enabled for custom boards with
 * other variants of the SoC.
 */
&opp_375 {
	status = "okay";
};

&sata {
	status = "okay";
};

&serial0 {
	status = "okay";
};

&serial1 {
	status = "okay";
};

&serial2 {
	status = "okay";
};

&rtc0 {
	status = "okay";
};

&lcdc {
	status = "okay";
};

&i2c0 {
	status = "okay";
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&i2c0_pins>;

	tps: tps@48 {
		reg = <0x48>;
	};
	tlv320aic3106: tlv320aic3106@18 {
		#sound-dai-cells = <0>;
		compatible = "ti,tlv320aic3106";
		reg = <0x18>;
		status = "okay";

		/* Regulators */
		IOVDD-supply = <&vdcdc2_reg>;
		AVDD-supply = <&baseboard_3v3>;
		DRVDD-supply = <&baseboard_3v3>;
		DVDD-supply = <&baseboard_1v8>;
	};
	tca6416: gpio@20 {
		compatible = "ti,tca6416";
		reg = <0x20>;
		gpio-controller;
		#gpio-cells = <2>;
	};
	tca6416_bb: gpio@21 {
		compatible = "ti,tca6416";
		reg = <0x21>;
		gpio-controller;
		#gpio-cells = <2>;
	};
};

&wdt {
	status = "okay";
};

&mmc0 {
	max-frequency = <50000000>;
	bus-width = <4>;
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mmc0_pins>;
	cd-gpios = <&gpio 64 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio 65 GPIO_ACTIVE_HIGH>;
};

&spi1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&spi1_pins &spi1_cs0_pin>;
	flash: m25p80@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "jedec,spi-nor";
		spi-max-frequency = <30000000>;
		m25p,fast-read;
		reg = <0>;
		partition@0 {
			label = "U-Boot-SPL";
			reg = <0x00000000 0x00010000>;
			read-only;
		};
		partition@1 {
			label = "U-Boot";
			reg = <0x00010000 0x00080000>;
			read-only;
		};
		partition@2 {
			label = "U-Boot-Env";
			reg = <0x00090000 0x00010000>;
			read-only;
		};
		partition@3 {
			label = "Kernel";
			reg = <0x000a0000 0x00280000>;
		};
		partition@4 {
			label = "Filesystem";
			reg = <0x00320000 0x00400000>;
		};
		partition@5 {
			label = "MAC-Address";
			reg = <0x007f0000 0x00010000>;
			read-only;
		};
	};
};

&mdio {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mdio_pins>;
	bus_freq = <2200000>;
};

&eth0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mii_pins>;
};

&gpio {
	status = "okay";
};

/include/ "tps6507x.dtsi"

&tps {
	vdcdc1_2-supply = <&vbat>;
	vdcdc3-supply = <&vbat>;
	vldo1_2-supply = <&vbat>;

	regulators {
		vdcdc1_reg: regulator@0 {
			regulator-name = "VDCDC1_3.3V";
			regulator-min-microvolt = <3150000>;
			regulator-max-microvolt = <3450000>;
			regulator-always-on;
			regulator-boot-on;
		};

		vdcdc2_reg: regulator@1 {
			regulator-name = "VDCDC2_3.3V";
			regulator-min-microvolt = <1710000>;
			regulator-max-microvolt = <3450000>;
			regulator-always-on;
			regulator-boot-on;
			ti,defdcdc_default = <1>;
		};

		vdcdc3_reg: regulator@2 {
			regulator-name = "VDCDC3_1.2V";
			regulator-min-microvolt = <950000>;
			regulator-max-microvolt = <1350000>;
			regulator-always-on;
			regulator-boot-on;
			ti,defdcdc_default = <1>;
		};

		ldo1_reg: regulator@3 {
			regulator-name = "LDO1_1.8V";
			regulator-min-microvolt = <1710000>;
			regulator-max-microvolt = <1890000>;
			regulator-always-on;
			regulator-boot-on;
		};

		ldo2_reg: regulator@4 {
			regulator-name = "LDO2_1.2V";
			regulator-min-microvolt = <1140000>;
			regulator-max-microvolt = <1320000>;
			regulator-always-on;
			regulator-boot-on;
		};
	};
};

&mcasp0 {
	#sound-dai-cells = <0>;
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mcasp0_pins>;

	op-mode = <0>;          /* MCASP_IIS_MODE */
	tdm-slots = <2>;
	/* 4 serializer */
	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
		0 0 0 0
		0 0 0 0
		0 0 0 1
		2 0 0 0
	>;
	tx-num-evt = <32>;
	rx-num-evt = <32>;
};

&edma0 {
	ti,edma-reserved-slot-ranges = <32 50>;
};

&edma1 {
	ti,edma-reserved-slot-ranges = <32 90>;
};

&aemif {
	pinctrl-names = "default";
	pinctrl-0 = <&nand_pins>;
	status = "ok";
	cs3 {
		#address-cells = <2>;
		#size-cells = <1>;
		clock-ranges;
		ranges;

		ti,cs-chipselect = <3>;

		nand@2000000,0 {
			compatible = "ti,davinci-nand";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0 0x02000000 0x02000000
			       1 0x00000000 0x00008000>;

			ti,davinci-chipselect = <1>;
			ti,davinci-mask-ale = <0>;
			ti,davinci-mask-cle = <0>;
			ti,davinci-mask-chipsel = <0>;
			ti,davinci-ecc-mode = "hw";
			ti,davinci-ecc-bits = <4>;
			ti,davinci-nand-use-bbt;
		};
	};
};

&usb_phy {
	status = "okay";
};

&usb0 {
	status = "okay";
};

&usb1 {
	status = "okay";
};

&vpif {
	pinctrl-names = "default";
	pinctrl-0 = <&vpif_capture_pins>, <&vpif_display_pins>;
	/*
	 * The vpif and the LCD are mutually exclusive.
	 * To enable VPIF, disable the ti,tilcdc,panel then
	 * change the status below to 'okay'
	 */
	status = "disabled";
};
