Simple display panel

Required properties:
- power-supply: regulator to provide the supply voltage

Optional properties:
- compatible: value maybe one of the following
		"simple-panel";
		"simple-panel-dsi";

- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
- enable-gpios: GPIO pin to enable or disable the panel
- reset-gpios: GPIO pin to reset the panel
- backlight: phandle of the backlight device attached to the panel
- reset-delay-ms: reset pulse width
- enable-delay-ms: takes for the panel to display
- prepare-delay-ms: take for the panel to receive video data
- disable-delay-ms: takes for the panel to power off
- unprepare-delay-ms: take for the panel to display off
- width-mm: physical panel width [mm]
- height-mm: physical panel height [mm]
- bpc: bits per color/component

Required properties when compatible is "simple-panel" or "simple-panel-dsi":
- display-timings: see display-timing.txt for information

Optional properties when compatible is a dsi devices:
- dsi,flags: dsi operation mode related flags
- dsi,format: pixel format for video mode
- dsi,lanes: number of active data lanes
- init-delay-ms: take for send command to panel
- panel-init-sequence: A byte stream formed by simple multiple dcs packets.
	byte 0: dcs data type
	byte 1: wait number of specified ms after dcs command transmitted
	byte 2: packet payload length
	byte 3 and beyond: number byte of payload
- panel-exit-sequence: A byte stream formed by simple multiple dcs packets.
	byte 0: dcs data type
	byte 1: wait number of specified ms after dcs command transmitted
	byte 2: packet payload length
	byte 3 and beyond: number byte of payload

Optional for some special hardwre:
- power-invert:
	if power-invert exist the panel power need to disable ldo when power on
	and enable ldo when power off otherwise it's opposite.

Example:

	panel: panel {
		compatible = "cptt,claa101wb01";
		ddc-i2c-bus = <&panelddc>;

		power-supply = <&vdd_pnl_reg>;
		enable-gpios = <&gpio 90 0>;

		backlight = <&backlight>;
	};

Or:

&dsi {
	panel@0 {
		compatible = "simple-panel-dsi";
		reg = <0>;
		backlight = <&backlight>;

		power-supply = <&vcc_lcd>;
		enable-gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>;
		reset-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;

		reset-delay-ms = <120>;
		init-delay-ms = <120>;
		enable-delay-ms = <120>;
		prepare-delay-ms = <120>;
		disable-delay-ms = <120>;
		unprepare-delay-ms = <120>;

		dsi,flags = <MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
			     MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET>;
		dsi,format = <MIPI_DSI_FMT_RGB888>;
		dsi,lanes = <4>;

		panel-init-sequence = [
			39 00 10 b1 6c 15 15 24 E4 11 f1 80 e4
				 d7 23 80 c0 d2 58
			...
			05 78 01 11
			05 78 01 29
		];

		panel-exit-sequence = [
			05 00 01 28
			05 78 01 10
		];

		display-timings {
			native-mode = <&timing0>;

			timing0: timing0 {
				clock-frequency = <160000000>;
				hactive = <1200>;
				vactive = <1920>;
				hback-porch = <21>;
				hfront-porch = <120>;
				vback-porch = <18>;
				vfront-porch = <21>;
				hsync-len = <20>;
				vsync-len = <3>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <0>;
				pixelclk-active = <0>;
			};
		};
	};
};
