This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LINUXSDK-OMAPL138: CRAMFS on OMAP-L138 LCDK

Part Number: LINUXSDK-OMAPL138
Other Parts Discussed in Thread: OMAP-L138

Hi,

Right now I'm trying to setup the OMAP-L138 LCDK board to boot entirely from NAND flash.

I have U Boot, Linux kernel, and DTB file loaded into NAND, and I'm now working on the root file system.

I chose CRAMFS for now, but for the same of example I'd be open to any file system.

The CRAMFS image was made and loaded into flash.

However, it seems as though that the kernel cannot load it properly because block device drivers for the mtdblockX are not functioning properly.

During boot the kernel fails to mount the file system and panics.

I also verified on another SD card image that has the kernel and file system that mtdblockX were in the dev folder.

However, if I perform # cat mtdblock3

A bunch of I/O errors are reported and no data is read.

I'm thinking it has to do with the kernel configuration.

I made sure that all MTD and NAND kernel configure options were set to y if they were m.

Attached is the kernel configuration file and DTB file.

/dts-v1/;

/ {
	#address-cells = <0x1>;
	#size-cells = <0x1>;
	model = "DA850/AM1808/OMAP-L138 LCDK";
	compatible = "ti,da850-lcdk", "ti,da850";

	chosen {
		stdout-path = "serial2:115200n8";
	};

	aliases {
		rproc0 = "/dsp@11800000";
		serial2 = "/soc@1c00000/serial@10d000";
		ethernet0 = "/soc@1c00000/ethernet@220000";
	};

	memory@c0000000 {
		device_type = "memory";
		reg = <0xc0000000 0x8000000>;
	};

	arm {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;

		interrupt-controller@fffee000 {
			compatible = "ti,cp-intc";
			interrupt-controller;
			#interrupt-cells = <0x1>;
			ti,intc-size = <0x65>;
			reg = <0xfffee000 0x2000>;
			phandle = <0x1>;
		};
	};

	clocks {

		ref_clk {
			compatible = "fixed-clock";
			#clock-cells = <0x0>;
			clock-output-names = "ref_clk";
			clock-frequency = <0x16e3600>;
			phandle = <0x6>;
		};

		sata_refclk {
			compatible = "fixed-clock";
			#clock-cells = <0x0>;
			clock-output-names = "sata_refclk";
			status = "okay";
			clock-frequency = <0x5f5e100>;
			phandle = <0x1e>;
		};

		usb_refclkin {
			compatible = "fixed-clock";
			#clock-cells = <0x0>;
			clock-output-names = "usb_refclkin";
			status = "disabled";
			phandle = <0xb>;
		};
	};

	dsp@11800000 {
		compatible = "ti,da850-dsp";
		reg = <0x11800000 0x40000 0x11e00000 0x8000 0x11f00000 0x8000 0x1c14044 0x4 0x1c14174 0x8>;
		reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig";
		interrupt-parent = <0x1>;
		interrupts = <0x1c>;
		clocks = <0x2 0xf>;
		resets = <0x2 0xf>;
		status = "okay";
		memory-region = <0x3>;
	};

	soc@1c00000 {
		compatible = "simple-bus";
		model = "da850";
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges = <0x0 0x1c00000 0x400000>;
		interrupt-parent = <0x1>;

		clock-controller@10000 {
			compatible = "ti,da850-psc0";
			reg = <0x10000 0x1000>;
			#clock-cells = <0x1>;
			#reset-cells = <0x1>;
			#power-domain-cells = <0x1>;
			clocks = <0x4 0x1 0x4 0x2 0x4 0x4 0x4 0x6 0x5>;
			clock-names = "pll0_sysclk1", "pll0_sysclk2", "pll0_sysclk4", "pll0_sysclk6", "async1";
			phandle = <0x2>;
		};

		clock-controller@11000 {
			compatible = "ti,da850-pll0";
			reg = <0x11000 0x1000>;
			clocks = <0x6 0x7 0x3>;
			clock-names = "clksrc", "extclksrc";

			pllout {
				#clock-cells = <0x0>;
				phandle = <0xd>;
			};

			sysclk {
				#clock-cells = <0x1>;
				phandle = <0x4>;
			};

			auxclk {
				#clock-cells = <0x0>;
				phandle = <0xc>;
			};

			obsclk {
				#clock-cells = <0x0>;
			};
		};

		pinmux@14120 {
			compatible = "pinctrl-single";
			reg = <0x14120 0x50>;
			#pinctrl-cells = <0x2>;
			pinctrl-single,bit-per-mux;
			pinctrl-single,register-width = <0x20>;
			pinctrl-single,function-mask = <0xf>;
			pinctrl-single,gpio-range = <0x8 0x0 0x11 0x8 0x8 0x11 0x8 0x4 0x8 0x1a 0x8 0x4 0x8 0x22 0x50 0x8 0x8 0x81 0x1f 0x8>;
			status = "okay";
			phandle = <0x21>;

			gpio-range {
				#pinctrl-single,gpio-range-cells = <0x3>;
				phandle = <0x8>;
			};

			pinmux_serial0_rtscts_pins {
				pinctrl-single,bits = <0xc 0x22000000 0xff000000>;
			};

			pinmux_serial0_rxtx_pins {
				pinctrl-single,bits = <0xc 0x220000 0xff0000>;
			};

			pinmux_serial1_rtscts_pins {
				pinctrl-single,bits = <0x0 0x440000 0xff0000>;
			};

			pinmux_serial1_rxtx_pins {
				pinctrl-single,bits = <0x10 0x22000000 0xff000000>;
			};

			pinmux_serial2_rtscts_pins {
				pinctrl-single,bits = <0x0 0x44000000 0xff000000>;
			};

			pinmux_serial2_rxtx_pins {
				pinctrl-single,bits = <0x10 0x220000 0xff0000>;
				phandle = <0x12>;
			};

			pinmux_i2c0_pins {
				pinctrl-single,bits = <0x10 0x2200 0xff00>;
				phandle = <0x13>;
			};

			pinmux_i2c1_pins {
				pinctrl-single,bits = <0x10 0x440000 0xff0000>;
			};

			pinmux_mmc_pins {
				pinctrl-single,bits = <0x28 0x222222 0xffffff>;
				phandle = <0x17>;
			};

			pinmux_ehrpwm0a_pins {
				pinctrl-single,bits = <0xc 0x2 0xf>;
			};

			pinmux_ehrpwm0b_pins {
				pinctrl-single,bits = <0xc 0x20 0xf0>;
			};

			pinmux_ehrpwm1a_pins {
				pinctrl-single,bits = <0x14 0x2 0xf>;
			};

			pinmux_ehrpwm1b_pins {
				pinctrl-single,bits = <0x14 0x20 0xf0>;
			};

			pinmux_ecap0_pins {
				pinctrl-single,bits = <0x8 0x20000000 0xf0000000>;
			};

			pinmux_ecap1_pins {
				pinctrl-single,bits = <0x4 0x40000000 0xf0000000>;
			};

			pinmux_ecap2_pins {
				pinctrl-single,bits = <0x4 0x4 0xf>;
			};

			pinmux_spi0_pins {
				pinctrl-single,bits = <0xc 0x1101 0xff0f>;
			};

			pinmux_spi0_cs0 {
				pinctrl-single,bits = <0x10 0x10 0xf0>;
			};

			pinmux_spi0_cs3_pin {
				pinctrl-single,bits = <0xc 0x1000000 0xf000000>;
			};

			pinmux_spi1_pins {
				pinctrl-single,bits = <0x14 0x110100 0xff0f00>;
			};

			pinmux_spi1_cs0 {
				pinctrl-single,bits = <0x14 0x10 0xf0>;
			};

			pinmux_mdio_pins {
				pinctrl-single,bits = <0x10 0x88 0xff>;
				phandle = <0x1f>;
			};

			pinmux_mii_pins {
				pinctrl-single,bits = <0x8 0x88888880 0xfffffff0 0xc 0x88888888 0xffffffff>;
				phandle = <0x20>;
			};

			pinmux_lcd_pins {
				pinctrl-single,bits = <0x40 0x22222200 0xffffff00 0x44 0x22222222 0xffffffff 0x48 0x22 0xff 0x48 0x2000000 0xf000000 0x4c 0x2000022 0xf0000ff>;
				phandle = <0x24>;
			};

			vpif_capture_pins {
				pinctrl-single,bits = <0x38 0x11111111 0xffffffff 0x3c 0x11111111 0xffffffff 0x40 0x11 0xff>;
				phandle = <0x19>;
			};

			vpif_display_pins {
				pinctrl-single,bits = <0x40 0x11111100 0xffffff00 0x44 0x11111111 0xffffffff 0x48 0x11 0xff 0x4c 0x111100 0xffff00>;
			};

			pinmux_mcasp0_pins {
				pinctrl-single,bits = <0x0 0x101010 0xf0f0f0 0x4 0x110 0xff0>;
				phandle = <0x23>;
			};

			nand_pins {
				pinctrl-single,bits = <0x1c 0x10110010 0xf0ff00f0 0x24 0x11111111 0xffffffff 0x20 0x11111111 0xffffffff 0x30 0x1100000 0xff00000>;
				phandle = <0x26>;
			};
		};

		priority-controller@14110 {
			compatible = "ti,da850-mstpri";
			reg = <0x14110 0xc>;
			status = "okay";
		};

		chip-controller@1417c {
			compatible = "ti,da830-cfgchip", "syscon", "simple-mfd";
			reg = <0x1417c 0x14>;

			usb-phy {
				compatible = "ti,da830-usb-phy";
				#phy-cells = <0x1>;
				clocks = <0x9 0x0 0x9 0x1>;
				clock-names = "usb0_clk48", "usb1_clk48";
				status = "okay";
				phandle = <0x1c>;
			};

			usb-phy-clocks {
				compatible = "ti,da830-usb-phy-clocks";
				#clock-cells = <0x1>;
				clocks = <0xa 0x1 0xb 0xc>;
				clock-names = "fck", "usb_refclkin", "auxclk";
				phandle = <0x9>;
			};

			ehrpwm_tbclk {
				compatible = "ti,da830-tbclksync";
				#clock-cells = <0x0>;
				clocks = <0xa 0x11>;
				clock-names = "fck";
				phandle = <0x1b>;
			};

			div4.5 {
				compatible = "ti,da830-div4p5ena";
				#clock-cells = <0x0>;
				clocks = <0xd>;
				clock-names = "pll0_pllout";
				phandle = <0xe>;
			};

			async1 {
				compatible = "ti,da850-async1-clksrc";
				#clock-cells = <0x0>;
				clocks = <0x4 0x3 0xe>;
				clock-names = "pll0_sysclk3", "div4.5";
				phandle = <0x5>;
			};

			async3 {
				compatible = "ti,da850-async3-clksrc";
				#clock-cells = <0x0>;
				clocks = <0x4 0x2 0x7 0x2>;
				clock-names = "pll0_sysclk2", "pll1_sysclk2";
				phandle = <0x22>;
			};
		};

		edma@0 {
			compatible = "ti,edma3-tpcc";
			reg = <0x0 0x8000>;
			reg-names = "edma3_cc";
			interrupts = <0xb 0xc>;
			interrupt-names = "edma3_ccint", "edma3_ccerrint";
			#dma-cells = <0x2>;
			ti,tptcs = <0xf 0x7 0x10 0x0>;
			power-domains = <0x2 0x0>;
			phandle = <0x16>;
		};

		tptc@8000 {
			compatible = "ti,edma3-tptc";
			reg = <0x8000 0x400>;
			interrupts = <0xd>;
			interrupt-names = "edm3_tcerrint";
			power-domains = <0x2 0x1>;
			phandle = <0xf>;
		};

		tptc@8400 {
			compatible = "ti,edma3-tptc";
			reg = <0x8400 0x400>;
			interrupts = <0x20>;
			interrupt-names = "edm3_tcerrint";
			power-domains = <0x2 0x2>;
			phandle = <0x10>;
		};

		edma@230000 {
			compatible = "ti,edma3-tpcc";
			reg = <0x230000 0x8000>;
			reg-names = "edma3_cc";
			interrupts = <0x5d 0x5e>;
			interrupt-names = "edma3_ccint", "edma3_ccerrint";
			#dma-cells = <0x2>;
			ti,tptcs = <0x11 0x7>;
			power-domains = <0xa 0x0>;
			phandle = <0x1a>;
		};

		tptc@238000 {
			compatible = "ti,edma3-tptc";
			reg = <0x238000 0x400>;
			interrupts = <0x5f>;
			interrupt-names = "edm3_tcerrint";
			power-domains = <0xa 0x15>;
			phandle = <0x11>;
		};

		serial@42000 {
			compatible = "ti,da830-uart", "ns16550a";
			reg = <0x42000 0x100>;
			reg-io-width = <0x4>;
			reg-shift = <0x2>;
			interrupts = <0x19>;
			clocks = <0x2 0x9>;
			power-domains = <0x2 0x9>;
			status = "disabled";
		};

		serial@10c000 {
			compatible = "ti,da830-uart", "ns16550a";
			reg = <0x10c000 0x100>;
			reg-io-width = <0x4>;
			reg-shift = <0x2>;
			interrupts = <0x35>;
			clocks = <0xa 0xc>;
			power-domains = <0xa 0xc>;
			status = "disabled";
		};

		serial@10d000 {
			compatible = "ti,da830-uart", "ns16550a";
			reg = <0x10d000 0x100>;
			reg-io-width = <0x4>;
			reg-shift = <0x2>;
			interrupts = <0x3d>;
			clocks = <0xa 0xd>;
			power-domains = <0xa 0xd>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x12>;
		};

		rtc@23000 {
			compatible = "ti,da830-rtc";
			reg = <0x23000 0x1000>;
			interrupts = <0x13 0x13>;
			clocks = <0xc>;
			clock-names = "int-clk";
			status = "okay";
		};

		i2c@22000 {
			compatible = "ti,davinci-i2c";
			reg = <0x22000 0x1000>;
			interrupts = <0xf>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clocks = <0xc>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x13>;
			clock-frequency = <0x186a0>;
			phandle = <0x2d>;

			tlv320aic3106@18 {
				#sound-dai-cells = <0x0>;
				compatible = "ti,tlv320aic3106";
				reg = <0x18>;
				adc-settle-ms = <0x28>;
				ai3x-micbias-vg = <0x1>;
				status = "okay";
				IOVDD-supply = <0x14>;
				AVDD-supply = <0x14>;
				DRVDD-supply = <0x14>;
				DVDD-supply = <0x15>;
				phandle = <0x2a>;
			};
		};

		i2c@228000 {
			compatible = "ti,davinci-i2c";
			reg = <0x228000 0x1000>;
			interrupts = <0x33>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clocks = <0xa 0xb>;
			power-domains = <0xa 0xb>;
			status = "disabled";
		};

		timer@20000 {
			compatible = "ti,da830-timer";
			reg = <0x20000 0x1000>;
			interrupts = <0x15 0x16>;
			interrupt-names = "tint12", "tint34";
			clocks = <0xc>;
		};

		wdt@21000 {
			compatible = "ti,davinci-wdt";
			reg = <0x21000 0x1000>;
			clocks = <0xc>;
			status = "okay";
		};

		mmc@40000 {
			compatible = "ti,da830-mmc";
			reg = <0x40000 0x1000>;
			cap-sd-highspeed;
			cap-mmc-highspeed;
			interrupts = <0x10>;
			dmas = <0x16 0x10 0x0 0x16 0x11 0x0>;
			dma-names = "rx", "tx";
			clocks = <0x2 0x5>;
			status = "okay";
			max-frequency = <0x2faf080>;
			bus-width = <0x4>;
			pinctrl-names = "default";
			pinctrl-0 = <0x17>;
			cd-gpios = <0x18 0x40 0x1>;
		};

		video@217000 {
			compatible = "ti,da850-vpif";
			reg = <0x217000 0x1000>;
			interrupts = <0x5c>;
			power-domains = <0xa 0x9>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x19>;

			port@0 {
				#address-cells = <0x1>;
				#size-cells = <0x0>;
			};

			port@1 {
				#address-cells = <0x1>;
				#size-cells = <0x0>;
			};
		};

		mmc@21b000 {
			compatible = "ti,da830-mmc";
			reg = <0x21b000 0x1000>;
			cap-sd-highspeed;
			cap-mmc-highspeed;
			interrupts = <0x48>;
			dmas = <0x1a 0x1c 0x0 0x1a 0x1d 0x0>;
			dma-names = "rx", "tx";
			clocks = <0xa 0x12>;
			status = "disabled";
		};

		pwm@300000 {
			compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
			#pwm-cells = <0x3>;
			reg = <0x300000 0x2000>;
			clocks = <0xa 0x11 0x1b>;
			clock-names = "fck", "tbclk";
			power-domains = <0xa 0x11>;
			status = "disabled";
		};

		pwm@302000 {
			compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
			#pwm-cells = <0x3>;
			reg = <0x302000 0x2000>;
			clocks = <0xa 0x11 0x1b>;
			clock-names = "fck", "tbclk";
			power-domains = <0xa 0x11>;
			status = "disabled";
		};

		ecap@306000 {
			compatible = "ti,da850-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
			#pwm-cells = <0x3>;
			reg = <0x306000 0x80>;
			clocks = <0xa 0x14>;
			clock-names = "fck";
			power-domains = <0xa 0x14>;
			status = "disabled";
		};

		ecap@307000 {
			compatible = "ti,da850-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
			#pwm-cells = <0x3>;
			reg = <0x307000 0x80>;
			clocks = <0xa 0x14>;
			clock-names = "fck";
			power-domains = <0xa 0x14>;
			status = "disabled";
		};

		ecap@308000 {
			compatible = "ti,da850-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
			#pwm-cells = <0x3>;
			reg = <0x308000 0x80>;
			clocks = <0xa 0x14>;
			clock-names = "fck";
			power-domains = <0xa 0x14>;
			status = "disabled";
		};

		spi@41000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			compatible = "ti,da830-spi";
			reg = <0x41000 0x1000>;
			num-cs = <0x6>;
			ti,davinci-spi-intr-line = <0x1>;
			interrupts = <0x14>;
			dmas = <0x16 0xe 0x0 0x16 0xf 0x0>;
			dma-names = "rx", "tx";
			clocks = <0x2 0x4>;
			power-domains = <0x2 0x4>;
			status = "disabled";
		};

		spi@30e000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			compatible = "ti,da830-spi";
			reg = <0x30e000 0x1000>;
			num-cs = <0x4>;
			ti,davinci-spi-intr-line = <0x1>;
			interrupts = <0x38>;
			dmas = <0x16 0x12 0x0 0x16 0x13 0x0>;
			dma-names = "rx", "tx";
			clocks = <0xa 0xa>;
			power-domains = <0xa 0xa>;
			status = "disabled";
		};

		usb@200000 {
			compatible = "ti,da830-musb";
			reg = <0x200000 0x1000>;
			ranges;
			interrupts = <0x3a>;
			interrupt-names = "mc";
			dr_mode = "otg";
			phys = <0x1c 0x0>;
			phy-names = "usb-phy";
			clocks = <0xa 0x1>;
			clock-ranges;
			status = "okay";
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			dmas = <0x1d 0x0 0x0 0x1d 0x1 0x0 0x1d 0x2 0x0 0x1d 0x3 0x0 0x1d 0x0 0x1 0x1d 0x1 0x1 0x1d 0x2 0x1 0x1d 0x3 0x1>;
			dma-names = "rx1", "rx2", "rx3", "rx4", "tx1", "tx2", "tx3", "tx4";

			dma-controller@201000 {
				compatible = "ti,da830-cppi41";
				reg = <0x201000 0x1000 0x202000 0x1000 0x204000 0x4000>;
				reg-names = "controller", "scheduler", "queuemgr";
				interrupts = <0x3a>;
				#dma-cells = <0x2>;
				#dma-channels = <0x4>;
				power-domains = <0xa 0x1>;
				status = "okay";
				phandle = <0x1d>;
			};
		};

		sata@218000 {
			compatible = "ti,da850-ahci";
			reg = <0x218000 0x2000 0x22c018 0x4>;
			interrupts = <0x43>;
			clocks = <0xa 0x8 0x1e>;
			clock-names = "fck", "refclk";
			status = "okay";
		};

		clock-controller@21a000 {
			compatible = "ti,da850-pll1";
			reg = <0x21a000 0x1000>;
			clocks = <0x6>;
			clock-names = "clksrc";

			sysclk {
				#clock-cells = <0x1>;
				phandle = <0x7>;
			};

			obsclk {
				#clock-cells = <0x0>;
			};
		};

		mdio@224000 {
			compatible = "ti,davinci_mdio";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			reg = <0x224000 0x1000>;
			clocks = <0xa 0x5>;
			clock-names = "fck";
			power-domains = <0xa 0x5>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x1f>;
			bus_freq = <0x2191c0>;
		};

		ethernet@220000 {
			compatible = "ti,davinci-dm6467-emac";
			reg = <0x220000 0x4000>;
			ti,davinci-ctrl-reg-offset = <0x3000>;
			ti,davinci-ctrl-mod-reg-offset = <0x2000>;
			ti,davinci-ctrl-ram-offset = <0x0>;
			ti,davinci-ctrl-ram-size = <0x2000>;
			local-mac-address = [00 00 00 00 00 00];
			interrupts = <0x21 0x22 0x23 0x24>;
			clocks = <0xa 0x5>;
			power-domains = <0xa 0x5>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x20>;
		};

		usb@225000 {
			compatible = "ti,da830-ohci";
			reg = <0x225000 0x1000>;
			interrupts = <0x3b>;
			phys = <0x1c 0x1>;
			phy-names = "usb-phy";
			clocks = <0xa 0x2>;
			status = "okay";
		};

		gpio@226000 {
			compatible = "ti,dm6441-gpio";
			gpio-controller;
			#gpio-cells = <0x2>;
			reg = <0x226000 0x1000>;
			interrupts = <0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32>;
			ti,ngpio = <0x90>;
			ti,davinci-gpio-unbanked = <0x0>;
			clocks = <0xa 0x3>;
			clock-names = "gpio";
			status = "okay";
			interrupt-controller;
			#interrupt-cells = <0x2>;
			gpio-ranges = <0x21 0x0 0xf 0x1 0x21 0x1 0xe 0x1 0x21 0x2 0xd 0x1 0x21 0x3 0xc 0x1 0x21 0x4 0xb 0x1 0x21 0x5 0xa 0x1 0x21 0x6 0x9 0x1 0x21 0x7 0x8 0x1 0x21 0x8 0x7 0x1 0x21 0x9 0x6 0x1 0x21 0xa 0x5 0x1 0x21 0xb 0x4 0x1 0x21 0xc 0x3 0x1 0x21 0xd 0x2 0x1 0x21 0xe 0x1 0x1 0x21 0xf 0x0 0x1 0x21 0x10 0x27 0x1 0x21 0x11 0x26 0x1 0x21 0x12 0x25 0x1 0x21 0x13 0x24 0x1 0x21 0x14 0x23 0x1 0x21 0x15 0x22 0x1 0x21 0x16 0x21 0x1 0x21 0x17 0x20 0x1 0x21 0x18 0x18 0x1 0x21 0x19 0x16 0x1 0x21 0x1a 0x15 0x1 0x21 0x1b 0x14 0x1 0x21 0x1c 0x13 0x1 0x21 0x1d 0x12 0x1 0x21 0x1e 0x11 0x1 0x21 0x1f 0x10 0x1 0x21 0x20 0x37 0x1 0x21 0x21 0x36 0x1 0x21 0x22 0x35 0x1 0x21 0x23 0x34 0x1 0x21 0x24 0x33 0x1 0x21 0x25 0x32 0x1 0x21 0x26 0x31 0x1 0x21 0x27 0x30 0x1 0x21 0x28 0x2f 0x1 0x21 0x29 0x2e 0x1 0x21 0x2a 0x2d 0x1 0x21 0x2b 0x2c 0x1 0x21 0x2c 0x2b 0x1 0x21 0x2d 0x2a 0x1 0x21 0x2e 0x29 0x1 0x21 0x2f 0x28 0x1 0x21 0x30 0x47 0x1 0x21 0x31 0x46 0x1 0x21 0x32 0x45 0x1 0x21 0x33 0x44 0x1 0x21 0x34 0x43 0x1 0x21 0x35 0x42 0x1 0x21 0x36 0x41 0x1 0x21 0x37 0x40 0x1 0x21 0x38 0x3f 0x1 0x21 0x39 0x3e 0x1 0x21 0x3a 0x3d 0x1 0x21 0x3b 0x3c 0x1 0x21 0x3c 0x3b 0x1 0x21 0x3d 0x3a 0x1 0x21 0x3e 0x39 0x1 0x21 0x3f 0x38 0x1 0x21 0x40 0x57 0x1 0x21 0x41 0x56 0x1 0x21 0x42 0x55 0x1 0x21 0x43 0x54 0x1 0x21 0x44 0x53 0x1 0x21 0x45 0x52 0x1 0x21 0x46 0x51 0x1 0x21 0x47 0x50 0x1 0x21 0x48 0x46 0x1 0x21 0x49 0x4e 0x1 0x21 0x4a 0x4d 0x1 0x21 0x4b 0x4c 0x1 0x21 0x4c 0x4b 0x1 0x21 0x4d 0x4a 0x1 0x21 0x4e 0x49 0x1 0x21 0x4f 0x48 0x1 0x21 0x50 0x67 0x1 0x21 0x51 0x66 0x1 0x21 0x52 0x65 0x1 0x21 0x53 0x64 0x1 0x21 0x54 0x63 0x1 0x21 0x55 0x62 0x1 0x21 0x56 0x61 0x1 0x21 0x57 0x60 0x1 0x21 0x58 0x5f 0x1 0x21 0x59 0x5e 0x1 0x21 0x5a 0x5d 0x1 0x21 0x5b 0x5c 0x1 0x21 0x5c 0x5b 0x1 0x21 0x5d 0x5a 0x1 0x21 0x5e 0x59 0x1 0x21 0x5f 0x58 0x1 0x21 0x60 0x9e 0x1 0x21 0x61 0x9d 0x1 0x21 0x62 0x9c 0x1 0x21 0x63 0x9b 0x1 0x21 0x64 0x9a 0x1 0x21 0x65 0x81 0x1 0x21 0x66 0x71 0x1 0x21 0x67 0x70 0x1 0x21 0x68 0x6f 0x1 0x21 0x69 0x6e 0x1 0x21 0x6a 0x6d 0x1 0x21 0x6b 0x6c 0x1 0x21 0x6c 0x6b 0x1 0x21 0x6d 0x6a 0x1 0x21 0x6e 0x69 0x1 0x21 0x6f 0x68 0x1 0x21 0x70 0x91 0x1 0x21 0x71 0x90 0x1 0x21 0x72 0x8f 0x1 0x21 0x73 0x8e 0x1 0x21 0x74 0x8d 0x1 0x21 0x75 0x8c 0x1 0x21 0x76 0x8b 0x1 0x21 0x77 0x8a 0x1 0x21 0x78 0x89 0x1 0x21 0x79 0x88 0x1 0x21 0x7a 0x87 0x1 0x21 0x7b 0x86 0x1 0x21 0x7c 0x85 0x1 0x21 0x7d 0x84 0x1 0x21 0x7e 0x83 0x1 0x21 0x7f 0x82 0x1 0x21 0x80 0x9f 0x1 0x21 0x81 0x1f 0x1 0x21 0x82 0x1e 0x1 0x21 0x83 0x14 0x1 0x21 0x84 0x1c 0x1 0x21 0x85 0x1b 0x1 0x21 0x86 0x1a 0x1 0x21 0x87 0x17 0x1 0x21 0x88 0x99 0x1 0x21 0x89 0x98 0x1 0x21 0x8a 0x97 0x1 0x21 0x8b 0x96 0x1 0x21 0x8c 0x95 0x1 0x21 0x8d 0x94 0x1 0x21 0x8e 0x93 0x1 0x21 0x8f 0x92 0x1>;
			phandle = <0x18>;
		};

		clock-controller@227000 {
			compatible = "ti,da850-psc1";
			reg = <0x227000 0x1000>;
			#clock-cells = <0x1>;
			#power-domain-cells = <0x1>;
			clocks = <0x4 0x2 0x4 0x4 0x22>;
			clock-names = "pll0_sysclk2", "pll0_sysclk4", "async3";
			assigned-clocks = <0x22>;
			assigned-clock-parents = <0x7 0x2>;
			phandle = <0xa>;
		};

		pin-controller@22c00c {
			compatible = "ti,da850-pupd";
			reg = <0x22c00c 0x8>;
			status = "disabled";
		};

		mcasp@100000 {
			compatible = "ti,da830-mcasp-audio";
			reg = <0x100000 0x2000 0x102000 0x400000>;
			reg-names = "mpu", "dat";
			interrupts = <0x36>;
			interrupt-names = "common";
			power-domains = <0xa 0x7>;
			status = "okay";
			dmas = <0x16 0x1 0x1 0x16 0x0 0x1>;
			dma-names = "tx", "rx";
			#sound-dai-cells = <0x0>;
			pinctrl-names = "default";
			pinctrl-0 = <0x23>;
			op-mode = <0x0>;
			tdm-slots = <0x2>;
			serial-dir = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x2 0x0>;
			tx-num-evt = <0x20>;
			rx-num-evt = <0x20>;
			phandle = <0x29>;
		};

		display@213000 {
			compatible = "ti,da850-tilcdc";
			reg = <0x213000 0x1000>;
			interrupts = <0x34>;
			max-pixelclock = <0x927c>;
			clocks = <0xa 0x10>;
			clock-names = "fck";
			power-domains = <0xa 0x10>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x24>;

			port {

				endpoint {
					remote-endpoint = <0x25>;
					phandle = <0x2b>;
				};
			};
		};
	};

	aemif@68000000 {
		compatible = "ti,da850-aemif";
		#address-cells = <0x2>;
		#size-cells = <0x1>;
		reg = <0x68000000 0x8000>;
		ranges = <0x0 0x0 0x60000000 0x8000000 0x1 0x0 0x68000000 0x8000>;
		clocks = <0x2 0x3>;
		clock-names = "aemif";
		clock-ranges;
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <0x26>;

		cs3 {
			#address-cells = <0x2>;
			#size-cells = <0x1>;
			clock-ranges;
			ranges;
			ti,cs-chipselect = <0x3>;

			nand@2000000,0 {
				compatible = "ti,davinci-nand";
				#address-cells = <0x1>;
				#size-cells = <0x1>;
				reg = <0x0 0x2000000 0x2000000 0x1 0x0 0x8000>;
				ti,davinci-chipselect = <0x1>;
				ti,davinci-mask-ale = <0x0>;
				ti,davinci-mask-cle = <0x0>;
				ti,davinci-mask-chipsel = <0x0>;
				ti,davinci-nand-buswidth = <0x10>;
				ti,davinci-ecc-mode = "hw";
				ti,davinci-ecc-bits = <0x4>;
				ti,davinci-nand-use-bbt;

				partitions {
					compatible = "fixed-partitions";
					#address-cells = <0x1>;
					#size-cells = <0x1>;

					partition@0 {
						label = "u-boot env";
						reg = <0x0 0x20000>;
					};

					partition@20000 {
						label = "u-boot";
						reg = <0x20000 0x80000>;
					};

					partition@a0000 {
						label = "kernel";
						reg = <0xC0000 0x400000>;
					};

					partition@4a0000 {
						label = "root fs";
						reg = <0x500000 0x0>;
					};
				};
			};
		};
	};

	memory-controller@b0000000 {
		compatible = "ti,da850-ddr-controller";
		reg = <0xb0000000 0xe8>;
		status = "okay";
	};

	reserved-memory {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;

		dsp-memory@c3000000 {
			compatible = "shared-dma-pool";
			reg = <0xc3000000 0x1000000>;
			reusable;
			status = "okay";
			phandle = <0x3>;
		};
	};

	fixedregulator-vcc_5vd {
		compatible = "regulator-fixed";
		regulator-name = "vcc_5vd";
		regulator-min-microvolt = <0x4c4b40>;
		regulator-max-microvolt = <0x4c4b40>;
		regulator-boot-on;
		phandle = <0x27>;
	};

	fixedregulator-vcc_3v3d {
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3d";
		regulator-min-microvolt = <0x325aa0>;
		regulator-max-microvolt = <0x325aa0>;
		vin-supply = <0x27>;
		regulator-always-on;
		regulator-boot-on;
		phandle = <0x14>;
	};

	fixedregulator-vcc_1v8d {
		compatible = "regulator-fixed";
		regulator-name = "vcc_1v8d";
		regulator-min-microvolt = <0x1b7740>;
		regulator-max-microvolt = <0x1b7740>;
		vin-supply = <0x27>;
		regulator-always-on;
		regulator-boot-on;
		phandle = <0x15>;
	};

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "DA850-OMAPL138 LCDK";
		simple-audio-card,widgets = "Line", "Line In", "Line", "Line Out", "Microphone", "Mic Jack";
		simple-audio-card,routing = "LINE1L", "Line In", "LINE1R", "Line In", "Line Out", "LLOUT", "Line Out", "RLOUT", "MIC3L", "Mic Jack", "MIC3R", "Mic Jack", "Mic Jack", "Mic Bias";
		simple-audio-card,format = "dsp_b";
		simple-audio-card,bitclock-master = <0x28>;
		simple-audio-card,frame-master = <0x28>;
		simple-audio-card,bitclock-inversion;

		simple-audio-card,cpu {
			sound-dai = <0x29>;
			system-clock-frequency = <0x1770000>;
		};

		simple-audio-card,codec {
			sound-dai = <0x2a>;
			system-clock-frequency = <0x1770000>;
			phandle = <0x28>;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		autorepeat;

		user1 {
			label = "GPIO Key USER1";
			linux,code = <0x100>;
			gpios = <0x18 0x24 0x1>;
		};

		user2 {
			label = "GPIO Key USER2";
			linux,code = <0x101>;
			gpios = <0x18 0x25 0x1>;
		};
	};

	vga-bridge {
		compatible = "ti,ths8135";
		#address-cells = <0x1>;
		#size-cells = <0x0>;

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

			port@0 {
				reg = <0x0>;

				endpoint {
					remote-endpoint = <0x2b>;
					phandle = <0x25>;
				};
			};

			port@1 {
				reg = <0x1>;

				endpoint {
					remote-endpoint = <0x2c>;
					phandle = <0x2e>;
				};
			};
		};
	};

	vga {
		compatible = "vga-connector";
		ddc-i2c-bus = <0x2d>;

		port {

			endpoint {
				remote-endpoint = <0x2e>;
				phandle = <0x2c>;
			};
		};
	};
};
/dts-v1/;

/ {
	#address-cells = <0x1>;
	#size-cells = <0x1>;
	model = "DA850/AM1808/OMAP-L138 LCDK";
	compatible = "ti,da850-lcdk", "ti,da850";

	chosen {
		stdout-path = "serial2:115200n8";
	};

	aliases {
		rproc0 = "/dsp@11800000";
		serial2 = "/soc@1c00000/serial@10d000";
		ethernet0 = "/soc@1c00000/ethernet@220000";
	};

	memory@c0000000 {
		device_type = "memory";
		reg = <0xc0000000 0x8000000>;
	};

	arm {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;

		interrupt-controller@fffee000 {
			compatible = "ti,cp-intc";
			interrupt-controller;
			#interrupt-cells = <0x1>;
			ti,intc-size = <0x65>;
			reg = <0xfffee000 0x2000>;
			phandle = <0x1>;
		};
	};

	clocks {

		ref_clk {
			compatible = "fixed-clock";
			#clock-cells = <0x0>;
			clock-output-names = "ref_clk";
			clock-frequency = <0x16e3600>;
			phandle = <0x6>;
		};

		sata_refclk {
			compatible = "fixed-clock";
			#clock-cells = <0x0>;
			clock-output-names = "sata_refclk";
			status = "okay";
			clock-frequency = <0x5f5e100>;
			phandle = <0x1e>;
		};

		usb_refclkin {
			compatible = "fixed-clock";
			#clock-cells = <0x0>;
			clock-output-names = "usb_refclkin";
			status = "disabled";
			phandle = <0xb>;
		};
	};

	dsp@11800000 {
		compatible = "ti,da850-dsp";
		reg = <0x11800000 0x40000 0x11e00000 0x8000 0x11f00000 0x8000 0x1c14044 0x4 0x1c14174 0x8>;
		reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig";
		interrupt-parent = <0x1>;
		interrupts = <0x1c>;
		clocks = <0x2 0xf>;
		resets = <0x2 0xf>;
		status = "okay";
		memory-region = <0x3>;
	};

	soc@1c00000 {
		compatible = "simple-bus";
		model = "da850";
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges = <0x0 0x1c00000 0x400000>;
		interrupt-parent = <0x1>;

		clock-controller@10000 {
			compatible = "ti,da850-psc0";
			reg = <0x10000 0x1000>;
			#clock-cells = <0x1>;
			#reset-cells = <0x1>;
			#power-domain-cells = <0x1>;
			clocks = <0x4 0x1 0x4 0x2 0x4 0x4 0x4 0x6 0x5>;
			clock-names = "pll0_sysclk1", "pll0_sysclk2", "pll0_sysclk4", "pll0_sysclk6", "async1";
			phandle = <0x2>;
		};

		clock-controller@11000 {
			compatible = "ti,da850-pll0";
			reg = <0x11000 0x1000>;
			clocks = <0x6 0x7 0x3>;
			clock-names = "clksrc", "extclksrc";

			pllout {
				#clock-cells = <0x0>;
				phandle = <0xd>;
			};

			sysclk {
				#clock-cells = <0x1>;
				phandle = <0x4>;
			};

			auxclk {
				#clock-cells = <0x0>;
				phandle = <0xc>;
			};

			obsclk {
				#clock-cells = <0x0>;
			};
		};

		pinmux@14120 {
			compatible = "pinctrl-single";
			reg = <0x14120 0x50>;
			#pinctrl-cells = <0x2>;
			pinctrl-single,bit-per-mux;
			pinctrl-single,register-width = <0x20>;
			pinctrl-single,function-mask = <0xf>;
			pinctrl-single,gpio-range = <0x8 0x0 0x11 0x8 0x8 0x11 0x8 0x4 0x8 0x1a 0x8 0x4 0x8 0x22 0x50 0x8 0x8 0x81 0x1f 0x8>;
			status = "okay";
			phandle = <0x21>;

			gpio-range {
				#pinctrl-single,gpio-range-cells = <0x3>;
				phandle = <0x8>;
			};

			pinmux_serial0_rtscts_pins {
				pinctrl-single,bits = <0xc 0x22000000 0xff000000>;
			};

			pinmux_serial0_rxtx_pins {
				pinctrl-single,bits = <0xc 0x220000 0xff0000>;
			};

			pinmux_serial1_rtscts_pins {
				pinctrl-single,bits = <0x0 0x440000 0xff0000>;
			};

			pinmux_serial1_rxtx_pins {
				pinctrl-single,bits = <0x10 0x22000000 0xff000000>;
			};

			pinmux_serial2_rtscts_pins {
				pinctrl-single,bits = <0x0 0x44000000 0xff000000>;
			};

			pinmux_serial2_rxtx_pins {
				pinctrl-single,bits = <0x10 0x220000 0xff0000>;
				phandle = <0x12>;
			};

			pinmux_i2c0_pins {
				pinctrl-single,bits = <0x10 0x2200 0xff00>;
				phandle = <0x13>;
			};

			pinmux_i2c1_pins {
				pinctrl-single,bits = <0x10 0x440000 0xff0000>;
			};

			pinmux_mmc_pins {
				pinctrl-single,bits = <0x28 0x222222 0xffffff>;
				phandle = <0x17>;
			};

			pinmux_ehrpwm0a_pins {
				pinctrl-single,bits = <0xc 0x2 0xf>;
			};

			pinmux_ehrpwm0b_pins {
				pinctrl-single,bits = <0xc 0x20 0xf0>;
			};

			pinmux_ehrpwm1a_pins {
				pinctrl-single,bits = <0x14 0x2 0xf>;
			};

			pinmux_ehrpwm1b_pins {
				pinctrl-single,bits = <0x14 0x20 0xf0>;
			};

			pinmux_ecap0_pins {
				pinctrl-single,bits = <0x8 0x20000000 0xf0000000>;
			};

			pinmux_ecap1_pins {
				pinctrl-single,bits = <0x4 0x40000000 0xf0000000>;
			};

			pinmux_ecap2_pins {
				pinctrl-single,bits = <0x4 0x4 0xf>;
			};

			pinmux_spi0_pins {
				pinctrl-single,bits = <0xc 0x1101 0xff0f>;
			};

			pinmux_spi0_cs0 {
				pinctrl-single,bits = <0x10 0x10 0xf0>;
			};

			pinmux_spi0_cs3_pin {
				pinctrl-single,bits = <0xc 0x1000000 0xf000000>;
			};

			pinmux_spi1_pins {
				pinctrl-single,bits = <0x14 0x110100 0xff0f00>;
			};

			pinmux_spi1_cs0 {
				pinctrl-single,bits = <0x14 0x10 0xf0>;
			};

			pinmux_mdio_pins {
				pinctrl-single,bits = <0x10 0x88 0xff>;
				phandle = <0x1f>;
			};

			pinmux_mii_pins {
				pinctrl-single,bits = <0x8 0x88888880 0xfffffff0 0xc 0x88888888 0xffffffff>;
				phandle = <0x20>;
			};

			pinmux_lcd_pins {
				pinctrl-single,bits = <0x40 0x22222200 0xffffff00 0x44 0x22222222 0xffffffff 0x48 0x22 0xff 0x48 0x2000000 0xf000000 0x4c 0x2000022 0xf0000ff>;
				phandle = <0x24>;
			};

			vpif_capture_pins {
				pinctrl-single,bits = <0x38 0x11111111 0xffffffff 0x3c 0x11111111 0xffffffff 0x40 0x11 0xff>;
				phandle = <0x19>;
			};

			vpif_display_pins {
				pinctrl-single,bits = <0x40 0x11111100 0xffffff00 0x44 0x11111111 0xffffffff 0x48 0x11 0xff 0x4c 0x111100 0xffff00>;
			};

			pinmux_mcasp0_pins {
				pinctrl-single,bits = <0x0 0x101010 0xf0f0f0 0x4 0x110 0xff0>;
				phandle = <0x23>;
			};

			nand_pins {
				pinctrl-single,bits = <0x1c 0x10110010 0xf0ff00f0 0x24 0x11111111 0xffffffff 0x20 0x11111111 0xffffffff 0x30 0x1100000 0xff00000>;
				phandle = <0x26>;
			};
		};

		priority-controller@14110 {
			compatible = "ti,da850-mstpri";
			reg = <0x14110 0xc>;
			status = "okay";
		};

		chip-controller@1417c {
			compatible = "ti,da830-cfgchip", "syscon", "simple-mfd";
			reg = <0x1417c 0x14>;

			usb-phy {
				compatible = "ti,da830-usb-phy";
				#phy-cells = <0x1>;
				clocks = <0x9 0x0 0x9 0x1>;
				clock-names = "usb0_clk48", "usb1_clk48";
				status = "okay";
				phandle = <0x1c>;
			};

			usb-phy-clocks {
				compatible = "ti,da830-usb-phy-clocks";
				#clock-cells = <0x1>;
				clocks = <0xa 0x1 0xb 0xc>;
				clock-names = "fck", "usb_refclkin", "auxclk";
				phandle = <0x9>;
			};

			ehrpwm_tbclk {
				compatible = "ti,da830-tbclksync";
				#clock-cells = <0x0>;
				clocks = <0xa 0x11>;
				clock-names = "fck";
				phandle = <0x1b>;
			};

			div4.5 {
				compatible = "ti,da830-div4p5ena";
				#clock-cells = <0x0>;
				clocks = <0xd>;
				clock-names = "pll0_pllout";
				phandle = <0xe>;
			};

			async1 {
				compatible = "ti,da850-async1-clksrc";
				#clock-cells = <0x0>;
				clocks = <0x4 0x3 0xe>;
				clock-names = "pll0_sysclk3", "div4.5";
				phandle = <0x5>;
			};

			async3 {
				compatible = "ti,da850-async3-clksrc";
				#clock-cells = <0x0>;
				clocks = <0x4 0x2 0x7 0x2>;
				clock-names = "pll0_sysclk2", "pll1_sysclk2";
				phandle = <0x22>;
			};
		};

		edma@0 {
			compatible = "ti,edma3-tpcc";
			reg = <0x0 0x8000>;
			reg-names = "edma3_cc";
			interrupts = <0xb 0xc>;
			interrupt-names = "edma3_ccint", "edma3_ccerrint";
			#dma-cells = <0x2>;
			ti,tptcs = <0xf 0x7 0x10 0x0>;
			power-domains = <0x2 0x0>;
			phandle = <0x16>;
		};

		tptc@8000 {
			compatible = "ti,edma3-tptc";
			reg = <0x8000 0x400>;
			interrupts = <0xd>;
			interrupt-names = "edm3_tcerrint";
			power-domains = <0x2 0x1>;
			phandle = <0xf>;
		};

		tptc@8400 {
			compatible = "ti,edma3-tptc";
			reg = <0x8400 0x400>;
			interrupts = <0x20>;
			interrupt-names = "edm3_tcerrint";
			power-domains = <0x2 0x2>;
			phandle = <0x10>;
		};

		edma@230000 {
			compatible = "ti,edma3-tpcc";
			reg = <0x230000 0x8000>;
			reg-names = "edma3_cc";
			interrupts = <0x5d 0x5e>;
			interrupt-names = "edma3_ccint", "edma3_ccerrint";
			#dma-cells = <0x2>;
			ti,tptcs = <0x11 0x7>;
			power-domains = <0xa 0x0>;
			phandle = <0x1a>;
		};

		tptc@238000 {
			compatible = "ti,edma3-tptc";
			reg = <0x238000 0x400>;
			interrupts = <0x5f>;
			interrupt-names = "edm3_tcerrint";
			power-domains = <0xa 0x15>;
			phandle = <0x11>;
		};

		serial@42000 {
			compatible = "ti,da830-uart", "ns16550a";
			reg = <0x42000 0x100>;
			reg-io-width = <0x4>;
			reg-shift = <0x2>;
			interrupts = <0x19>;
			clocks = <0x2 0x9>;
			power-domains = <0x2 0x9>;
			status = "disabled";
		};

		serial@10c000 {
			compatible = "ti,da830-uart", "ns16550a";
			reg = <0x10c000 0x100>;
			reg-io-width = <0x4>;
			reg-shift = <0x2>;
			interrupts = <0x35>;
			clocks = <0xa 0xc>;
			power-domains = <0xa 0xc>;
			status = "disabled";
		};

		serial@10d000 {
			compatible = "ti,da830-uart", "ns16550a";
			reg = <0x10d000 0x100>;
			reg-io-width = <0x4>;
			reg-shift = <0x2>;
			interrupts = <0x3d>;
			clocks = <0xa 0xd>;
			power-domains = <0xa 0xd>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x12>;
		};

		rtc@23000 {
			compatible = "ti,da830-rtc";
			reg = <0x23000 0x1000>;
			interrupts = <0x13 0x13>;
			clocks = <0xc>;
			clock-names = "int-clk";
			status = "okay";
		};

		i2c@22000 {
			compatible = "ti,davinci-i2c";
			reg = <0x22000 0x1000>;
			interrupts = <0xf>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clocks = <0xc>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x13>;
			clock-frequency = <0x186a0>;
			phandle = <0x2d>;

			tlv320aic3106@18 {
				#sound-dai-cells = <0x0>;
				compatible = "ti,tlv320aic3106";
				reg = <0x18>;
				adc-settle-ms = <0x28>;
				ai3x-micbias-vg = <0x1>;
				status = "okay";
				IOVDD-supply = <0x14>;
				AVDD-supply = <0x14>;
				DRVDD-supply = <0x14>;
				DVDD-supply = <0x15>;
				phandle = <0x2a>;
			};
		};

		i2c@228000 {
			compatible = "ti,davinci-i2c";
			reg = <0x228000 0x1000>;
			interrupts = <0x33>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clocks = <0xa 0xb>;
			power-domains = <0xa 0xb>;
			status = "disabled";
		};

		timer@20000 {
			compatible = "ti,da830-timer";
			reg = <0x20000 0x1000>;
			interrupts = <0x15 0x16>;
			interrupt-names = "tint12", "tint34";
			clocks = <0xc>;
		};

		wdt@21000 {
			compatible = "ti,davinci-wdt";
			reg = <0x21000 0x1000>;
			clocks = <0xc>;
			status = "okay";
		};

		mmc@40000 {
			compatible = "ti,da830-mmc";
			reg = <0x40000 0x1000>;
			cap-sd-highspeed;
			cap-mmc-highspeed;
			interrupts = <0x10>;
			dmas = <0x16 0x10 0x0 0x16 0x11 0x0>;
			dma-names = "rx", "tx";
			clocks = <0x2 0x5>;
			status = "okay";
			max-frequency = <0x2faf080>;
			bus-width = <0x4>;
			pinctrl-names = "default";
			pinctrl-0 = <0x17>;
			cd-gpios = <0x18 0x40 0x1>;
		};

		video@217000 {
			compatible = "ti,da850-vpif";
			reg = <0x217000 0x1000>;
			interrupts = <0x5c>;
			power-domains = <0xa 0x9>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x19>;

			port@0 {
				#address-cells = <0x1>;
				#size-cells = <0x0>;
			};

			port@1 {
				#address-cells = <0x1>;
				#size-cells = <0x0>;
			};
		};

		mmc@21b000 {
			compatible = "ti,da830-mmc";
			reg = <0x21b000 0x1000>;
			cap-sd-highspeed;
			cap-mmc-highspeed;
			interrupts = <0x48>;
			dmas = <0x1a 0x1c 0x0 0x1a 0x1d 0x0>;
			dma-names = "rx", "tx";
			clocks = <0xa 0x12>;
			status = "disabled";
		};

		pwm@300000 {
			compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
			#pwm-cells = <0x3>;
			reg = <0x300000 0x2000>;
			clocks = <0xa 0x11 0x1b>;
			clock-names = "fck", "tbclk";
			power-domains = <0xa 0x11>;
			status = "disabled";
		};

		pwm@302000 {
			compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
			#pwm-cells = <0x3>;
			reg = <0x302000 0x2000>;
			clocks = <0xa 0x11 0x1b>;
			clock-names = "fck", "tbclk";
			power-domains = <0xa 0x11>;
			status = "disabled";
		};

		ecap@306000 {
			compatible = "ti,da850-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
			#pwm-cells = <0x3>;
			reg = <0x306000 0x80>;
			clocks = <0xa 0x14>;
			clock-names = "fck";
			power-domains = <0xa 0x14>;
			status = "disabled";
		};

		ecap@307000 {
			compatible = "ti,da850-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
			#pwm-cells = <0x3>;
			reg = <0x307000 0x80>;
			clocks = <0xa 0x14>;
			clock-names = "fck";
			power-domains = <0xa 0x14>;
			status = "disabled";
		};

		ecap@308000 {
			compatible = "ti,da850-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
			#pwm-cells = <0x3>;
			reg = <0x308000 0x80>;
			clocks = <0xa 0x14>;
			clock-names = "fck";
			power-domains = <0xa 0x14>;
			status = "disabled";
		};

		spi@41000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			compatible = "ti,da830-spi";
			reg = <0x41000 0x1000>;
			num-cs = <0x6>;
			ti,davinci-spi-intr-line = <0x1>;
			interrupts = <0x14>;
			dmas = <0x16 0xe 0x0 0x16 0xf 0x0>;
			dma-names = "rx", "tx";
			clocks = <0x2 0x4>;
			power-domains = <0x2 0x4>;
			status = "disabled";
		};

		spi@30e000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			compatible = "ti,da830-spi";
			reg = <0x30e000 0x1000>;
			num-cs = <0x4>;
			ti,davinci-spi-intr-line = <0x1>;
			interrupts = <0x38>;
			dmas = <0x16 0x12 0x0 0x16 0x13 0x0>;
			dma-names = "rx", "tx";
			clocks = <0xa 0xa>;
			power-domains = <0xa 0xa>;
			status = "disabled";
		};

		usb@200000 {
			compatible = "ti,da830-musb";
			reg = <0x200000 0x1000>;
			ranges;
			interrupts = <0x3a>;
			interrupt-names = "mc";
			dr_mode = "otg";
			phys = <0x1c 0x0>;
			phy-names = "usb-phy";
			clocks = <0xa 0x1>;
			clock-ranges;
			status = "okay";
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			dmas = <0x1d 0x0 0x0 0x1d 0x1 0x0 0x1d 0x2 0x0 0x1d 0x3 0x0 0x1d 0x0 0x1 0x1d 0x1 0x1 0x1d 0x2 0x1 0x1d 0x3 0x1>;
			dma-names = "rx1", "rx2", "rx3", "rx4", "tx1", "tx2", "tx3", "tx4";

			dma-controller@201000 {
				compatible = "ti,da830-cppi41";
				reg = <0x201000 0x1000 0x202000 0x1000 0x204000 0x4000>;
				reg-names = "controller", "scheduler", "queuemgr";
				interrupts = <0x3a>;
				#dma-cells = <0x2>;
				#dma-channels = <0x4>;
				power-domains = <0xa 0x1>;
				status = "okay";
				phandle = <0x1d>;
			};
		};

		sata@218000 {
			compatible = "ti,da850-ahci";
			reg = <0x218000 0x2000 0x22c018 0x4>;
			interrupts = <0x43>;
			clocks = <0xa 0x8 0x1e>;
			clock-names = "fck", "refclk";
			status = "okay";
		};

		clock-controller@21a000 {
			compatible = "ti,da850-pll1";
			reg = <0x21a000 0x1000>;
			clocks = <0x6>;
			clock-names = "clksrc";

			sysclk {
				#clock-cells = <0x1>;
				phandle = <0x7>;
			};

			obsclk {
				#clock-cells = <0x0>;
			};
		};

		mdio@224000 {
			compatible = "ti,davinci_mdio";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			reg = <0x224000 0x1000>;
			clocks = <0xa 0x5>;
			clock-names = "fck";
			power-domains = <0xa 0x5>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x1f>;
			bus_freq = <0x2191c0>;
		};

		ethernet@220000 {
			compatible = "ti,davinci-dm6467-emac";
			reg = <0x220000 0x4000>;
			ti,davinci-ctrl-reg-offset = <0x3000>;
			ti,davinci-ctrl-mod-reg-offset = <0x2000>;
			ti,davinci-ctrl-ram-offset = <0x0>;
			ti,davinci-ctrl-ram-size = <0x2000>;
			local-mac-address = [00 00 00 00 00 00];
			interrupts = <0x21 0x22 0x23 0x24>;
			clocks = <0xa 0x5>;
			power-domains = <0xa 0x5>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x20>;
		};

		usb@225000 {
			compatible = "ti,da830-ohci";
			reg = <0x225000 0x1000>;
			interrupts = <0x3b>;
			phys = <0x1c 0x1>;
			phy-names = "usb-phy";
			clocks = <0xa 0x2>;
			status = "okay";
		};

		gpio@226000 {
			compatible = "ti,dm6441-gpio";
			gpio-controller;
			#gpio-cells = <0x2>;
			reg = <0x226000 0x1000>;
			interrupts = <0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32>;
			ti,ngpio = <0x90>;
			ti,davinci-gpio-unbanked = <0x0>;
			clocks = <0xa 0x3>;
			clock-names = "gpio";
			status = "okay";
			interrupt-controller;
			#interrupt-cells = <0x2>;
			gpio-ranges = <0x21 0x0 0xf 0x1 0x21 0x1 0xe 0x1 0x21 0x2 0xd 0x1 0x21 0x3 0xc 0x1 0x21 0x4 0xb 0x1 0x21 0x5 0xa 0x1 0x21 0x6 0x9 0x1 0x21 0x7 0x8 0x1 0x21 0x8 0x7 0x1 0x21 0x9 0x6 0x1 0x21 0xa 0x5 0x1 0x21 0xb 0x4 0x1 0x21 0xc 0x3 0x1 0x21 0xd 0x2 0x1 0x21 0xe 0x1 0x1 0x21 0xf 0x0 0x1 0x21 0x10 0x27 0x1 0x21 0x11 0x26 0x1 0x21 0x12 0x25 0x1 0x21 0x13 0x24 0x1 0x21 0x14 0x23 0x1 0x21 0x15 0x22 0x1 0x21 0x16 0x21 0x1 0x21 0x17 0x20 0x1 0x21 0x18 0x18 0x1 0x21 0x19 0x16 0x1 0x21 0x1a 0x15 0x1 0x21 0x1b 0x14 0x1 0x21 0x1c 0x13 0x1 0x21 0x1d 0x12 0x1 0x21 0x1e 0x11 0x1 0x21 0x1f 0x10 0x1 0x21 0x20 0x37 0x1 0x21 0x21 0x36 0x1 0x21 0x22 0x35 0x1 0x21 0x23 0x34 0x1 0x21 0x24 0x33 0x1 0x21 0x25 0x32 0x1 0x21 0x26 0x31 0x1 0x21 0x27 0x30 0x1 0x21 0x28 0x2f 0x1 0x21 0x29 0x2e 0x1 0x21 0x2a 0x2d 0x1 0x21 0x2b 0x2c 0x1 0x21 0x2c 0x2b 0x1 0x21 0x2d 0x2a 0x1 0x21 0x2e 0x29 0x1 0x21 0x2f 0x28 0x1 0x21 0x30 0x47 0x1 0x21 0x31 0x46 0x1 0x21 0x32 0x45 0x1 0x21 0x33 0x44 0x1 0x21 0x34 0x43 0x1 0x21 0x35 0x42 0x1 0x21 0x36 0x41 0x1 0x21 0x37 0x40 0x1 0x21 0x38 0x3f 0x1 0x21 0x39 0x3e 0x1 0x21 0x3a 0x3d 0x1 0x21 0x3b 0x3c 0x1 0x21 0x3c 0x3b 0x1 0x21 0x3d 0x3a 0x1 0x21 0x3e 0x39 0x1 0x21 0x3f 0x38 0x1 0x21 0x40 0x57 0x1 0x21 0x41 0x56 0x1 0x21 0x42 0x55 0x1 0x21 0x43 0x54 0x1 0x21 0x44 0x53 0x1 0x21 0x45 0x52 0x1 0x21 0x46 0x51 0x1 0x21 0x47 0x50 0x1 0x21 0x48 0x46 0x1 0x21 0x49 0x4e 0x1 0x21 0x4a 0x4d 0x1 0x21 0x4b 0x4c 0x1 0x21 0x4c 0x4b 0x1 0x21 0x4d 0x4a 0x1 0x21 0x4e 0x49 0x1 0x21 0x4f 0x48 0x1 0x21 0x50 0x67 0x1 0x21 0x51 0x66 0x1 0x21 0x52 0x65 0x1 0x21 0x53 0x64 0x1 0x21 0x54 0x63 0x1 0x21 0x55 0x62 0x1 0x21 0x56 0x61 0x1 0x21 0x57 0x60 0x1 0x21 0x58 0x5f 0x1 0x21 0x59 0x5e 0x1 0x21 0x5a 0x5d 0x1 0x21 0x5b 0x5c 0x1 0x21 0x5c 0x5b 0x1 0x21 0x5d 0x5a 0x1 0x21 0x5e 0x59 0x1 0x21 0x5f 0x58 0x1 0x21 0x60 0x9e 0x1 0x21 0x61 0x9d 0x1 0x21 0x62 0x9c 0x1 0x21 0x63 0x9b 0x1 0x21 0x64 0x9a 0x1 0x21 0x65 0x81 0x1 0x21 0x66 0x71 0x1 0x21 0x67 0x70 0x1 0x21 0x68 0x6f 0x1 0x21 0x69 0x6e 0x1 0x21 0x6a 0x6d 0x1 0x21 0x6b 0x6c 0x1 0x21 0x6c 0x6b 0x1 0x21 0x6d 0x6a 0x1 0x21 0x6e 0x69 0x1 0x21 0x6f 0x68 0x1 0x21 0x70 0x91 0x1 0x21 0x71 0x90 0x1 0x21 0x72 0x8f 0x1 0x21 0x73 0x8e 0x1 0x21 0x74 0x8d 0x1 0x21 0x75 0x8c 0x1 0x21 0x76 0x8b 0x1 0x21 0x77 0x8a 0x1 0x21 0x78 0x89 0x1 0x21 0x79 0x88 0x1 0x21 0x7a 0x87 0x1 0x21 0x7b 0x86 0x1 0x21 0x7c 0x85 0x1 0x21 0x7d 0x84 0x1 0x21 0x7e 0x83 0x1 0x21 0x7f 0x82 0x1 0x21 0x80 0x9f 0x1 0x21 0x81 0x1f 0x1 0x21 0x82 0x1e 0x1 0x21 0x83 0x14 0x1 0x21 0x84 0x1c 0x1 0x21 0x85 0x1b 0x1 0x21 0x86 0x1a 0x1 0x21 0x87 0x17 0x1 0x21 0x88 0x99 0x1 0x21 0x89 0x98 0x1 0x21 0x8a 0x97 0x1 0x21 0x8b 0x96 0x1 0x21 0x8c 0x95 0x1 0x21 0x8d 0x94 0x1 0x21 0x8e 0x93 0x1 0x21 0x8f 0x92 0x1>;
			phandle = <0x18>;
		};

		clock-controller@227000 {
			compatible = "ti,da850-psc1";
			reg = <0x227000 0x1000>;
			#clock-cells = <0x1>;
			#power-domain-cells = <0x1>;
			clocks = <0x4 0x2 0x4 0x4 0x22>;
			clock-names = "pll0_sysclk2", "pll0_sysclk4", "async3";
			assigned-clocks = <0x22>;
			assigned-clock-parents = <0x7 0x2>;
			phandle = <0xa>;
		};

		pin-controller@22c00c {
			compatible = "ti,da850-pupd";
			reg = <0x22c00c 0x8>;
			status = "disabled";
		};

		mcasp@100000 {
			compatible = "ti,da830-mcasp-audio";
			reg = <0x100000 0x2000 0x102000 0x400000>;
			reg-names = "mpu", "dat";
			interrupts = <0x36>;
			interrupt-names = "common";
			power-domains = <0xa 0x7>;
			status = "okay";
			dmas = <0x16 0x1 0x1 0x16 0x0 0x1>;
			dma-names = "tx", "rx";
			#sound-dai-cells = <0x0>;
			pinctrl-names = "default";
			pinctrl-0 = <0x23>;
			op-mode = <0x0>;
			tdm-slots = <0x2>;
			serial-dir = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x2 0x0>;
			tx-num-evt = <0x20>;
			rx-num-evt = <0x20>;
			phandle = <0x29>;
		};

		display@213000 {
			compatible = "ti,da850-tilcdc";
			reg = <0x213000 0x1000>;
			interrupts = <0x34>;
			max-pixelclock = <0x927c>;
			clocks = <0xa 0x10>;
			clock-names = "fck";
			power-domains = <0xa 0x10>;
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <0x24>;

			port {

				endpoint {
					remote-endpoint = <0x25>;
					phandle = <0x2b>;
				};
			};
		};
	};

	aemif@68000000 {
		compatible = "ti,da850-aemif";
		#address-cells = <0x2>;
		#size-cells = <0x1>;
		reg = <0x68000000 0x8000>;
		ranges = <0x0 0x0 0x60000000 0x8000000 0x1 0x0 0x68000000 0x8000>;
		clocks = <0x2 0x3>;
		clock-names = "aemif";
		clock-ranges;
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <0x26>;

		cs3 {
			#address-cells = <0x2>;
			#size-cells = <0x1>;
			clock-ranges;
			ranges;
			ti,cs-chipselect = <0x3>;

			nand@2000000,0 {
				compatible = "ti,davinci-nand";
				#address-cells = <0x1>;
				#size-cells = <0x1>;
				reg = <0x0 0x2000000 0x2000000 0x1 0x0 0x8000>;
				ti,davinci-chipselect = <0x1>;
				ti,davinci-mask-ale = <0x0>;
				ti,davinci-mask-cle = <0x0>;
				ti,davinci-mask-chipsel = <0x0>;
				ti,davinci-nand-buswidth = <0x10>;
				ti,davinci-ecc-mode = "hw";
				ti,davinci-ecc-bits = <0x4>;
				ti,davinci-nand-use-bbt;

				partitions {
					compatible = "fixed-partitions";
					#address-cells = <0x1>;
					#size-cells = <0x1>;

					partition@0 {
						label = "u-boot env";
						reg = <0x0 0x20000>;
					};

					partition@20000 {
						label = "u-boot";
						reg = <0x20000 0x80000>;
					};

					partition@a0000 {
						label = "kernel";
						reg = <0xC0000 0x400000>;
					};

					partition@4a0000 {
						label = "root fs";
						reg = <0x500000 0x0>;
					};
				};
			};
		};
	};

	memory-controller@b0000000 {
		compatible = "ti,da850-ddr-controller";
		reg = <0xb0000000 0xe8>;
		status = "okay";
	};

	reserved-memory {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;

		dsp-memory@c3000000 {
			compatible = "shared-dma-pool";
			reg = <0xc3000000 0x1000000>;
			reusable;
			status = "okay";
			phandle = <0x3>;
		};
	};

	fixedregulator-vcc_5vd {
		compatible = "regulator-fixed";
		regulator-name = "vcc_5vd";
		regulator-min-microvolt = <0x4c4b40>;
		regulator-max-microvolt = <0x4c4b40>;
		regulator-boot-on;
		phandle = <0x27>;
	};

	fixedregulator-vcc_3v3d {
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3d";
		regulator-min-microvolt = <0x325aa0>;
		regulator-max-microvolt = <0x325aa0>;
		vin-supply = <0x27>;
		regulator-always-on;
		regulator-boot-on;
		phandle = <0x14>;
	};

	fixedregulator-vcc_1v8d {
		compatible = "regulator-fixed";
		regulator-name = "vcc_1v8d";
		regulator-min-microvolt = <0x1b7740>;
		regulator-max-microvolt = <0x1b7740>;
		vin-supply = <0x27>;
		regulator-always-on;
		regulator-boot-on;
		phandle = <0x15>;
	};

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "DA850-OMAPL138 LCDK";
		simple-audio-card,widgets = "Line", "Line In", "Line", "Line Out", "Microphone", "Mic Jack";
		simple-audio-card,routing = "LINE1L", "Line In", "LINE1R", "Line In", "Line Out", "LLOUT", "Line Out", "RLOUT", "MIC3L", "Mic Jack", "MIC3R", "Mic Jack", "Mic Jack", "Mic Bias";
		simple-audio-card,format = "dsp_b";
		simple-audio-card,bitclock-master = <0x28>;
		simple-audio-card,frame-master = <0x28>;
		simple-audio-card,bitclock-inversion;

		simple-audio-card,cpu {
			sound-dai = <0x29>;
			system-clock-frequency = <0x1770000>;
		};

		simple-audio-card,codec {
			sound-dai = <0x2a>;
			system-clock-frequency = <0x1770000>;
			phandle = <0x28>;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		autorepeat;

		user1 {
			label = "GPIO Key USER1";
			linux,code = <0x100>;
			gpios = <0x18 0x24 0x1>;
		};

		user2 {
			label = "GPIO Key USER2";
			linux,code = <0x101>;
			gpios = <0x18 0x25 0x1>;
		};
	};

	vga-bridge {
		compatible = "ti,ths8135";
		#address-cells = <0x1>;
		#size-cells = <0x0>;

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

			port@0 {
				reg = <0x0>;

				endpoint {
					remote-endpoint = <0x2b>;
					phandle = <0x25>;
				};
			};

			port@1 {
				reg = <0x1>;

				endpoint {
					remote-endpoint = <0x2c>;
					phandle = <0x2e>;
				};
			};
		};
	};

	vga {
		compatible = "vga-connector";
		ddc-i2c-bus = <0x2d>;

		port {

			endpoint {
				remote-endpoint = <0x2e>;
				phandle = <0x2c>;
			};
		};
	};
};

Ben