avionic design with actual uboot and tooling
submodule of avionic design uboot bootloader and with included tools to get you started , read readme.md and readme-tk1-loader.md
This commit is contained in:
33
u-boot/doc/device-tree-bindings/video/bridge/ps8622.txt
Normal file
33
u-boot/doc/device-tree-bindings/video/bridge/ps8622.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
ps8622-bridge bindings
|
||||
|
||||
Required properties:
|
||||
- compatible: "parade,ps8622" or "parade,ps8625"
|
||||
- reg: first i2c address of the bridge
|
||||
- sleep-gpios: OF device-tree gpio specification for PD_ pin.
|
||||
- reset-gpios: OF device-tree gpio specification for RST_ pin.
|
||||
- parade,regs: List of 3-byte registers tuples to write:
|
||||
<I2C chip address offset> <register> <value>
|
||||
|
||||
Optional properties:
|
||||
- lane-count: number of DP lanes to use
|
||||
- use-external-pwm: backlight will be controlled by an external PWM
|
||||
- video interfaces: Device node can contain video interface port
|
||||
nodes for panel according to [1].
|
||||
|
||||
[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
|
||||
Example:
|
||||
lvds-bridge@48 {
|
||||
compatible = "parade,ps8622";
|
||||
reg = <0x48>;
|
||||
sleep-gpios = <&gpc3 6 1 0 0>;
|
||||
reset-gpios = <&gpc3 1 1 0 0>;
|
||||
lane-count = <1>;
|
||||
ports {
|
||||
port@0 {
|
||||
bridge_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
110
u-boot/doc/device-tree-bindings/video/display-timing.txt
Normal file
110
u-boot/doc/device-tree-bindings/video/display-timing.txt
Normal file
@@ -0,0 +1,110 @@
|
||||
display-timing bindings
|
||||
=======================
|
||||
|
||||
display-timings node
|
||||
--------------------
|
||||
|
||||
required properties:
|
||||
- none
|
||||
|
||||
optional properties:
|
||||
- native-mode: The native mode for the display, in case multiple modes are
|
||||
provided. When omitted, assume the first node is the native.
|
||||
|
||||
timing subnode
|
||||
--------------
|
||||
|
||||
required properties:
|
||||
- hactive, vactive: display resolution
|
||||
- hfront-porch, hback-porch, hsync-len: horizontal display timing parameters
|
||||
in pixels
|
||||
vfront-porch, vback-porch, vsync-len: vertical display timing parameters in
|
||||
lines
|
||||
- clock-frequency: display clock in Hz
|
||||
|
||||
optional properties:
|
||||
- hsync-active: hsync pulse is active low/high/ignored
|
||||
- vsync-active: vsync pulse is active low/high/ignored
|
||||
- de-active: data-enable pulse is active low/high/ignored
|
||||
- pixelclk-active: with
|
||||
- active high = drive pixel data on rising edge/
|
||||
sample data on falling edge
|
||||
- active low = drive pixel data on falling edge/
|
||||
sample data on rising edge
|
||||
- ignored = ignored
|
||||
- interlaced (bool): boolean to enable interlaced mode
|
||||
- doublescan (bool): boolean to enable doublescan mode
|
||||
- doubleclk (bool): boolean to enable doubleclock mode
|
||||
|
||||
All the optional properties that are not bool follow the following logic:
|
||||
<1>: high active
|
||||
<0>: low active
|
||||
omitted: not used on hardware
|
||||
|
||||
There are different ways of describing the capabilities of a display. The
|
||||
devicetree representation corresponds to the one commonly found in datasheets
|
||||
for displays. If a display supports multiple signal timings, the native-mode
|
||||
can be specified.
|
||||
|
||||
The parameters are defined as:
|
||||
|
||||
+----------+-------------------------------------+----------+-------+
|
||||
| | ↑ | | |
|
||||
| | |vback_porch | | |
|
||||
| | ↓ | | |
|
||||
+----------#######################################----------+-------+
|
||||
| # ↑ # | |
|
||||
| # | # | |
|
||||
| hback # | # hfront | hsync |
|
||||
| porch # | hactive # porch | len |
|
||||
|<-------->#<-------+--------------------------->#<-------->|<----->|
|
||||
| # | # | |
|
||||
| # |vactive # | |
|
||||
| # | # | |
|
||||
| # ↓ # | |
|
||||
+----------#######################################----------+-------+
|
||||
| | ↑ | | |
|
||||
| | |vfront_porch | | |
|
||||
| | ↓ | | |
|
||||
+----------+-------------------------------------+----------+-------+
|
||||
| | ↑ | | |
|
||||
| | |vsync_len | | |
|
||||
| | ↓ | | |
|
||||
+----------+-------------------------------------+----------+-------+
|
||||
|
||||
Example:
|
||||
|
||||
display-timings {
|
||||
native-mode = <&timing0>;
|
||||
timing0: 1080p24 {
|
||||
/* 1920x1080p24 */
|
||||
clock-frequency = <52000000>;
|
||||
hactive = <1920>;
|
||||
vactive = <1080>;
|
||||
hfront-porch = <25>;
|
||||
hback-porch = <25>;
|
||||
hsync-len = <25>;
|
||||
vback-porch = <2>;
|
||||
vfront-porch = <2>;
|
||||
vsync-len = <2>;
|
||||
hsync-active = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
Every required property also supports the use of ranges, so the commonly used
|
||||
datasheet description with minimum, typical and maximum values can be used.
|
||||
|
||||
Example:
|
||||
|
||||
timing1: timing {
|
||||
/* 1920x1080p24 */
|
||||
clock-frequency = <148500000>;
|
||||
hactive = <1920>;
|
||||
vactive = <1080>;
|
||||
hsync-len = <0 44 60>;
|
||||
hfront-porch = <80 88 95>;
|
||||
hback-porch = <100 148 160>;
|
||||
vfront-porch = <0 4 6>;
|
||||
vback-porch = <0 36 50>;
|
||||
vsync-len = <0 5 6>;
|
||||
};
|
||||
42
u-boot/doc/device-tree-bindings/video/displaymode.txt
Normal file
42
u-boot/doc/device-tree-bindings/video/displaymode.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
videomode bindings
|
||||
==================
|
||||
|
||||
(from http://lists.freedesktop.org/archives/dri-devel/2012-July/024875.html)
|
||||
|
||||
Required properties:
|
||||
- xres, yres: Display resolution
|
||||
- left-margin, right-margin, hsync-len: Horizontal Display timing
|
||||
parameters in pixels
|
||||
- upper-margin, lower-margin, vsync-len: Vertical display timing
|
||||
parameters in lines
|
||||
- clock: display clock in Hz
|
||||
|
||||
Optional properties:
|
||||
- width-mm, height-mm: Display dimensions in mm
|
||||
- hsync-active-high (bool): Hsync pulse is active high
|
||||
- vsync-active-high (bool): Vsync pulse is active high
|
||||
- interlaced (bool): This is an interlaced mode
|
||||
- doublescan (bool): This is a doublescan mode
|
||||
|
||||
There are different ways of describing a display mode. The devicetree
|
||||
representation corresponds to the one used by the Linux Framebuffer
|
||||
framework described here in Documentation/fb/framebuffer.txt. This
|
||||
representation has been chosen because it's the only format which does
|
||||
not allow for inconsistent parameters. Unlike the Framebuffer framework
|
||||
the devicetree has the clock in Hz instead of ps.
|
||||
|
||||
Example:
|
||||
|
||||
display@0 {
|
||||
/* 1920x1080p24 */
|
||||
clock = <52000000>;
|
||||
xres = <1920>;
|
||||
yres = <1080>;
|
||||
left-margin = <25>;
|
||||
right-margin = <25>;
|
||||
hsync-len = <25>;
|
||||
lower-margin = <2>;
|
||||
upper-margin = <2>;
|
||||
vsync-len = <2>;
|
||||
hsync-active-high;
|
||||
};
|
||||
69
u-boot/doc/device-tree-bindings/video/exynos-dp.txt
Normal file
69
u-boot/doc/device-tree-bindings/video/exynos-dp.txt
Normal file
@@ -0,0 +1,69 @@
|
||||
Exynos Display port controller
|
||||
==============================
|
||||
|
||||
Required properties:
|
||||
SOC specific:
|
||||
compatible: should be "samsung,exynos5-dp"
|
||||
reg: Base address of DP IP
|
||||
|
||||
Optional properties:
|
||||
samsung,h-res: X resolution of the panel
|
||||
samsung,h-sync-width: hsync value
|
||||
samsung,h-back-porch: left margin
|
||||
samsung,h-front-porch right margin
|
||||
samsung,v-res: Y resolution of the panel
|
||||
samsung,v-sync-width: vsync value
|
||||
samsung,v-back-porch: upper margin
|
||||
samsung,v-front-porch: lower margin
|
||||
samsung,v-sync-rate: refresh rate
|
||||
|
||||
samsung,lt-status: Link training status
|
||||
0(DP_LT_NONE), 1(DP_LT_START), 2(DP_LT_CR), 3(DP_LT_ET),
|
||||
4(DP_LT_FINISHED), 5(DP_LT_FAIL)
|
||||
|
||||
samsung,master-mode: 1 if you want to run DP as master, else 0
|
||||
samsung,bist-mode: 1 to enable video bist mode, else 0
|
||||
samsung,bist-pattern: bist mode pattern type
|
||||
0(NO_PATTERN), 1(COLOR_RAMP), 2(BALCK_WHITE_V_LINES),
|
||||
3(COLOR_SQUARE), 4(INVALID_PATTERN), 5(COLORBAR_32),
|
||||
6(COLORBAR_64),7(WHITE_GRAY_BALCKBAR_32),
|
||||
8(WHITE_GRAY_BALCKBAR_64),9(MOBILE_WHITEBAR_32),
|
||||
10(MOBILE_WHITEBAR_64)
|
||||
samsung,h-sync-polarity: Horizontal Sync polarity
|
||||
CONFIG_SYS_LOW if defined, else CONFIG_SYS_HIGH
|
||||
samsung,v-sync-polarity: Vertical Sync polarity
|
||||
CONFIG_SYS_LOW if defined, else CONFIG_SYS_HIGH
|
||||
samsung,interlaced: Progressive if 0, else Interlaced
|
||||
samsung,color-space: input video data format
|
||||
COLOR_RGB = 0, COLOR_YCBCR422 = 1, COLOR_YCBCR444 = 2
|
||||
samsung,dynamic-range: dynamic range for input video data
|
||||
VESA = 0, CEA = 1
|
||||
samsung,ycbcr-coeff: YCbCr co-efficients for input video
|
||||
COLOR_YCBCR601 = 0, COLOR_YCBCR709 = 1
|
||||
samsung,color-depth: number of bits per colour component
|
||||
COLOR_6 = 0, COLOR_8 = 1, COLOR_10 = 2, COLOR_12 = 3
|
||||
|
||||
Example:
|
||||
SOC specific part:
|
||||
dp@145b0000 {
|
||||
compatible = "samsung,exynos5-dp";
|
||||
reg = <0x145b0000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
};
|
||||
|
||||
Board(panel) specific part:
|
||||
dp@145b0000 {
|
||||
samsung,lt-status = <0>;
|
||||
|
||||
samsung,master-mode = <0>;
|
||||
samsung,bist-mode = <0>;
|
||||
samsung,bist-pattern = <0>;
|
||||
samsung,h-sync-polarity = <0>;
|
||||
samsung,v-sync-polarity = <0>;
|
||||
samsung,interlaced = <0>;
|
||||
samsung,color-space = <0>;
|
||||
samsung,dynamic-range = <0>;
|
||||
samsung,ycbcr-coeff = <0>;
|
||||
samsung,color-depth = <1>;
|
||||
};
|
||||
100
u-boot/doc/device-tree-bindings/video/exynos-fb.txt
Normal file
100
u-boot/doc/device-tree-bindings/video/exynos-fb.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
Exynos Display Controller
|
||||
=========================
|
||||
Required properties:
|
||||
SOC specific:
|
||||
compatible: should be "samsung,exynos-fimd"
|
||||
reg: Base address of FIMD IP.
|
||||
|
||||
Board(panel specific):
|
||||
samsung,vl-col: X resolution of the panel
|
||||
samsung,vl-row: Y resolution of the panel
|
||||
samsung,vl-freq: Refresh rate
|
||||
samsung,vl-bpix: Bits per pixel
|
||||
samsung,vl-hspw: Hsync value
|
||||
samsung,vl-hfpd: Right margin
|
||||
samsung,vl-hbpd: Left margin
|
||||
samsung,vl-vspw: Vsync value
|
||||
samsung,vl-vfpd: Lower margin
|
||||
samsung,vl-vbpd: Upper margin
|
||||
|
||||
Optional properties:
|
||||
Board(panel specific):
|
||||
samsung,vl-width: width of display area in mm
|
||||
samsung,vl-height: Height of display area in mm
|
||||
|
||||
samsung,vl-clkp: Clock polarity
|
||||
CONFIG_SYS_LOW if defined, else CONFIG_SYS_HIGH
|
||||
samsung,vl-oep: Output Enable polarity
|
||||
CONFIG_SYS_LOW if defined, else CONFIG_SYS_HIGH
|
||||
samsung,vl-hsp: Horizontal Sync polarity
|
||||
CONFIG_SYS_LOW if defined, else CONFIG_SYS_HIGH
|
||||
samsung,vl-vsp: Vertical Sync polarity
|
||||
CONFIG_SYS_LOW if defined, else CONFIG_SYS_HIGH
|
||||
samsung,vl-dp: Data polarity
|
||||
CONFIG_SYS_LOW if defined, else CONFIG_SYS_HIGH
|
||||
|
||||
samsung,vl-cmd-allow-len: Wait end of frame
|
||||
samsung,winid: Window number on which data is to be displayed
|
||||
samsung,init-delay: Delay before LCD initialization starts
|
||||
samsung,power-on-delay: Delay after LCD is powered on
|
||||
samsung,reset-delay: Delay after LCD is reset
|
||||
samsung,interface-mode: 1(FIMD_RGB_INTERFACE), 2(FIMD_CPU_INTERFACE)
|
||||
samsung,mipi-enabled: 1 if you want to use MIPI, else 0
|
||||
samsung,dp-enabled: 1is you want to use DP, else 0
|
||||
samsung,cs-setup: cs_setup value in FIMD_CPU_INTERFACE mode.
|
||||
samsung,wr-setup: wr_setup value in FIMD_CPU_INTERFACE mode.
|
||||
samsung,wr-act: wr_act value in FIMD_CPU_INTERFACE mode.
|
||||
samsung,wr-hold: wr_hold value in FIMD_CPU_INTERFACE mode.
|
||||
samsung,logo-on: 1 if you want to use custom logo.
|
||||
0 if you want LCD console.
|
||||
samsung,logo-width: pixel width of logo image. Valid if logo_on = 1
|
||||
samsung,logo-height: pixel height of logo image. Valid if logo_on = 1
|
||||
samsung,logo-addr: Address of logo image. Valid if logo_on = 1
|
||||
samsung,rgb-mode: 0(MODE_RGB_P), 1(MODE_BGR_P),
|
||||
2(MODE_RGB_S), 3(MODE_BGR_S)
|
||||
samsung,pclk-name: parent clock identifier: 1(MPLL), 2(EPLL), 3(VPLL)
|
||||
samsung,sclk-div: parent_clock/source_clock ratio
|
||||
samsung,dual-lcd-enabled: 1 if you support two LCD, else 0
|
||||
samsung,disable-sysmmu: Define this if you want to disable FIMD sysmmu.
|
||||
(needed for Exynos5420 and newer versions)
|
||||
Add the required FIMD sysmmu nodes to be
|
||||
disabled with compatible string
|
||||
"samsung,sysmmu-v3.3", with a "reg" property
|
||||
holding the register address of FIMD sysmmu.
|
||||
samsung,pwm-out-gpio: PWM output GPIO.
|
||||
samsung,bl-en-gpio: backlight enable GPIO.
|
||||
|
||||
Example:
|
||||
SOC specific part:
|
||||
fimd@14400000 {
|
||||
compatible = "samsung,exynos-fimd";
|
||||
reg = <0x14400000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
};
|
||||
|
||||
Board specific part:
|
||||
fimd@14400000 {
|
||||
samsung,vl-freq = <60>;
|
||||
samsung,vl-col = <2560>;
|
||||
samsung,vl-row = <1600>;
|
||||
samsung,vl-width = <2560>;
|
||||
samsung,vl-height = <1600>;
|
||||
|
||||
samsung,vl-clkp;
|
||||
samsung,vl-dp;
|
||||
samsung,vl-bpix = <4>;
|
||||
|
||||
samsung,vl-hspw = <32>;
|
||||
samsung,vl-hbpd = <80>;
|
||||
samsung,vl-hfpd = <48>;
|
||||
samsung,vl-vspw = <6>;
|
||||
samsung,vl-vbpd = <37>;
|
||||
samsung,vl-vfpd = <3>;
|
||||
samsung,vl-cmd-allow-len = <0xf>;
|
||||
|
||||
samsung,winid = <3>;
|
||||
samsung,interface-mode = <1>;
|
||||
samsung,dp-enabled = <1>;
|
||||
samsung,dual-lcd-enabled = <0>;
|
||||
};
|
||||
82
u-boot/doc/device-tree-bindings/video/exynos_mipi_dsi.txt
Normal file
82
u-boot/doc/device-tree-bindings/video/exynos_mipi_dsi.txt
Normal file
@@ -0,0 +1,82 @@
|
||||
Exynos MIPI-DSIM Controller
|
||||
=========================
|
||||
|
||||
Required properties:
|
||||
SOC specific:
|
||||
compatible: should be "samsung,exynos-mipi-dsi"
|
||||
reg: Base address of MIPI-DSIM IP.
|
||||
|
||||
Board specific:
|
||||
samsung,dsim-config-e-interface: interface to be used (RGB interface
|
||||
for main display or CPU interface for main or sub display).
|
||||
samsung,dsim-config-e-virtual-ch: virtual channel number that main
|
||||
or sub display uses.
|
||||
samsung,dsim-config-e-pixel-format: pixel stream format for main
|
||||
or sub display.
|
||||
samsung,dsim-config-e-burst-mode: selects Burst mode in Video mode.
|
||||
in Non-burst mode, RGB data area is filled with RGB data and
|
||||
NULL packets, according to input bandwidth of RGB interface.
|
||||
samsung,dsim-config-e-no-data-lane: data lane count used by Master.
|
||||
samsung,dsim-config-e-byte-clk: select byte clock source.
|
||||
It must be DSIM_PLL_OUT_DIV8.
|
||||
DSIM_EXT_CLK_DIV8 and DSIM_EXT_CLK_BYPASSS are not supported.
|
||||
samsung,dsim-config-hfp: HFP disable mode.
|
||||
If set, DSI master ignores HFP area in VIDEO mode.
|
||||
In command mode, this variable is ignored.
|
||||
samsung,dsim-config-p: P value for PMS setting.
|
||||
samsung,dsim-config-m: M value for PMS setting.
|
||||
samsung,dsim-config-s: S value for PMS setting.
|
||||
samsung,dsim-config-pll-stable-time: the PLL Timer for stability
|
||||
of the ganerated clock.
|
||||
samsung,dsim-config-esc-clk: escape clock frequency for getting
|
||||
the escape clock prescaler value.
|
||||
samsung,dsim-config-stop-holding-cnt: the interval value between
|
||||
transmitting read packet (or write "set_tear_on" command)
|
||||
and BTA request. After transmitting read packet or write
|
||||
"set_tear_on" command, BTA requests to D-PHY automatically.
|
||||
This counter value specifies the interval between them.
|
||||
samsung,dsim-config-bta-timeout: the timer for BTA. This register
|
||||
specifies time out from BTA request to change the direction
|
||||
with respect to Tx escape clock.
|
||||
samsung,dsim-config-rx-timeout: the timer for LP Rx mode timeout.
|
||||
this register specifies time out on how long RxValid deasserts,
|
||||
after RxLpdt asserts with respect to Tx escape clock.
|
||||
- RxValid specifies Rx data valid indicator.
|
||||
- RxLpdt specifies an indicator that D-PHY is under RxLpdt mode
|
||||
- RxValid and RxLpdt specifies signal from D-PHY.
|
||||
samsung,dsim-device-name: name of the device.
|
||||
samsung,dsim-device-id: unique device id.
|
||||
samsung,dsim-device-bus_id: bus id for identifing connected bus
|
||||
and this bus id should be same as id of mipi_dsim_device.
|
||||
|
||||
Optional properties:
|
||||
samsung,dsim-device-reverse-panel: reverse panel.
|
||||
|
||||
Example:
|
||||
mipidsi@11c80000 {
|
||||
compatible = "samsung,exynos-mipi-dsi";
|
||||
reg = <0x11c80000 0x5c>;
|
||||
|
||||
samsung,dsim-config-e-interface = <1>;
|
||||
samsung,dsim-config-e-virtual-ch = <0>;
|
||||
samsung,dsim-config-e-pixel-format = <7>;
|
||||
samsung,dsim-config-e-burst-mode = <1>;
|
||||
samsung,dsim-config-e-no-data-lane = <3>;
|
||||
samsung,dsim-config-e-byte-clk = <0>;
|
||||
samsung,dsim-config-hfp = <1>;
|
||||
|
||||
samsung,dsim-config-p = <3>;
|
||||
samsung,dsim-config-m = <120>;
|
||||
samsung,dsim-config-s = <1>;
|
||||
|
||||
samsung,dsim-config-pll-stable-time = <500>;
|
||||
samsung,dsim-config-esc-clk = <20000000>;
|
||||
samsung,dsim-config-stop-holding-cnt = <0x7ff>;
|
||||
samsung,dsim-config-bta-timeout = <0xff>;
|
||||
samsung,dsim-config-rx-timeout = <0xffff>;
|
||||
|
||||
samsung,dsim-device-id = <0xffffffff>;
|
||||
samsung,dsim-device-bus-id = <0>;
|
||||
|
||||
samsung,dsim-device-reverse-panel = <1>;
|
||||
};
|
||||
40
u-boot/doc/device-tree-bindings/video/intel-gma.txt
Normal file
40
u-boot/doc/device-tree-bindings/video/intel-gma.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
Intel GMA Bindings
|
||||
==================
|
||||
|
||||
This is the Intel Graphics Media Accelerator. This binding supports selection
|
||||
of display parameters only.
|
||||
|
||||
|
||||
Required properties:
|
||||
- compatible : "intel,gma";
|
||||
|
||||
Optional properties:
|
||||
- intel,dp-hotplug : values for digital port hotplug, one cell per value for
|
||||
ports B, C and D
|
||||
- intel,panel-port-select : output port to use: 0=LVDS 1=DP_B 2=DP_C 3=DP_D
|
||||
- intel,panel-power-cycle-delay : T4 time sequence (6 = 500ms)
|
||||
|
||||
The following delays are in units of 0.1ms:
|
||||
- intel,panel-power-up-delay : T1+T2 time sequence
|
||||
- intel,panel-power-down-delay : T3 time sequence
|
||||
- intel,panel-power-backlight-on-delay : T5 time sequence
|
||||
- intel,panel-power-backlight-off-delay : Tx time sequence
|
||||
|
||||
- intel,cpu-backlight : Value for CPU Backlight PWM
|
||||
- intel,pch-backlight : Value for PCH Backlight PWM
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
gma {
|
||||
compatible = "intel,gma";
|
||||
intel,dp_hotplug = <0 0 0x06>;
|
||||
intel,panel-port-select = <1>;
|
||||
intel,panel-power-cycle-delay = <6>;
|
||||
intel,panel-power-up-delay = <2000>;
|
||||
intel,panel-power-down-delay = <500>;
|
||||
intel,panel-power-backlight-on-delay = <2000>;
|
||||
intel,panel-power-backlight-off-delay = <2000>;
|
||||
intel,cpu-backlight = <0x00000200>;
|
||||
intel,pch-backlight = <0x04000000>;
|
||||
};
|
||||
77
u-boot/doc/device-tree-bindings/video/rockchip-lvds.txt
Normal file
77
u-boot/doc/device-tree-bindings/video/rockchip-lvds.txt
Normal file
@@ -0,0 +1,77 @@
|
||||
Rockchip LVDS interface
|
||||
------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: "rockchip,rk3288-lvds";
|
||||
|
||||
- reg: physical base address of the controller and length
|
||||
of memory mapped region.
|
||||
- clocks: must include clock specifiers corresponding to entries in the
|
||||
clock-names property.
|
||||
- clock-names: must contain "pclk_lvds"
|
||||
|
||||
- rockchip,grf: phandle to the general register files syscon
|
||||
|
||||
- rockchip,data-mapping: should be <LVDS_FORMAT_VESA> or <LVDS_FORMAT_JEIDA>,
|
||||
This describes how the color bits are laid out in the
|
||||
serialized LVDS signal.
|
||||
- rockchip,data-width : should be <18> or <24>;
|
||||
- rockchip,output: should be <LVDS_OUTPUT_RGB>, <LVDS_OUTPUT_SINGLE> or
|
||||
<LVDS_OUTPUT_DUAL>, This describes the output face.
|
||||
|
||||
- display-timings : described by
|
||||
doc/devicetree/device-tree-bindings/video/display-timing.txt.
|
||||
|
||||
Example:
|
||||
lvds: lvds@ff96c000 {
|
||||
compatible = "rockchip,rk3288-lvds";
|
||||
reg = <0xff96c000 0x4000>;
|
||||
clocks = <&cru PCLK_LVDS_PHY>;
|
||||
clock-names = "pclk_lvds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&lcdc0_ctl>;
|
||||
rockchip,grf = <&grf>;
|
||||
status = "disabled";
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
lvds_in: port@0 {
|
||||
reg = <0>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
lvds_in_vopb: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&vopb_out_lvds>;
|
||||
};
|
||||
lvds_in_vopl: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&vopl_out_lvds>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lvds {
|
||||
rockchip,data-mapping = <LVDS_FORMAT_VESA>;
|
||||
rockchip,data-width = <24>;
|
||||
rockchip,output = <LVDS_OUTPUT_DUAL>;
|
||||
rockchip,panel = <&panel>;
|
||||
status = "okay";
|
||||
|
||||
display-timings {
|
||||
timing@0 {
|
||||
clock-frequency = <40000000>;
|
||||
hactive = <1920>;
|
||||
vactive = <1080>;
|
||||
hsync-len = <44>;
|
||||
hfront-porch = <88>;
|
||||
hback-porch = <148>;
|
||||
vfront-porch = <4>;
|
||||
vback-porch = <36>;
|
||||
vsync-len = <5>;
|
||||
};
|
||||
};
|
||||
};
|
||||
13
u-boot/doc/device-tree-bindings/video/sandbox-fb.txt
Normal file
13
u-boot/doc/device-tree-bindings/video/sandbox-fb.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
Sandbox LCD
|
||||
===========
|
||||
|
||||
This uses the displaymode.txt binding except that only xres and yres are
|
||||
required properties.
|
||||
|
||||
Example:
|
||||
|
||||
lcd {
|
||||
compatible = "sandbox,lcd-sdl";
|
||||
xres = <800>;
|
||||
yres = <600>;
|
||||
};
|
||||
25
u-boot/doc/device-tree-bindings/video/simple-framebuffer.txt
Normal file
25
u-boot/doc/device-tree-bindings/video/simple-framebuffer.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
Simple Framebuffer
|
||||
|
||||
A simple frame-buffer describes a raw memory region that may be rendered to,
|
||||
with the assumption that the display hardware has already been set up to scan
|
||||
out from that buffer.
|
||||
|
||||
Required properties:
|
||||
- compatible: "simple-framebuffer"
|
||||
- reg: Should contain the location and size of the framebuffer memory.
|
||||
- width: The width of the framebuffer in pixels.
|
||||
- height: The height of the framebuffer in pixels.
|
||||
- stride: The number of bytes in each line of the framebuffer.
|
||||
- format: The format of the framebuffer surface. Valid values are:
|
||||
- r5g6b5 (16-bit pixels, d[15:11]=r, d[10:5]=g, d[4:0]=b).
|
||||
|
||||
Example:
|
||||
|
||||
framebuffer {
|
||||
compatible = "simple-framebuffer";
|
||||
reg = <0x1d385000 (1600 * 1200 * 2)>;
|
||||
width = <1600>;
|
||||
height = <1200>;
|
||||
stride = <(1600 * 2)>;
|
||||
format = "r5g6b5";
|
||||
};
|
||||
85
u-boot/doc/device-tree-bindings/video/tegra20-dc.txt
Normal file
85
u-boot/doc/device-tree-bindings/video/tegra20-dc.txt
Normal file
@@ -0,0 +1,85 @@
|
||||
Display Controller
|
||||
------------------
|
||||
|
||||
(there isn't yet a generic binding in Linux, so this describes what is in
|
||||
U-Boot, and may change based on Linux activity)
|
||||
|
||||
The device node for a display device is as described in the document
|
||||
"Open Firmware Recommended Practice : Universal Serial Bus" with the
|
||||
following modifications and additions :
|
||||
|
||||
Required properties :
|
||||
- compatible : Should be "nvidia,tegra20-dc"
|
||||
|
||||
Required subnode 'rgb' is as follows:
|
||||
|
||||
Required properties (rgb) :
|
||||
- nvidia,panel : phandle of LCD panel information
|
||||
|
||||
|
||||
The panel node describes the panel itself. This has the properties listed in
|
||||
displaymode.txt as well as:
|
||||
|
||||
Required properties (panel) :
|
||||
- nvidia,bits-per-pixel: number of bits per pixel (depth)
|
||||
- nvidia,pwm : pwm to use to set display contrast (see tegra20-pwm.txt)
|
||||
- nvidia,panel-timings: 4 cells containing required timings in ms:
|
||||
* delay before asserting panel_vdd
|
||||
* delay between panel_vdd-rise and data-rise
|
||||
* delay between data-rise and backlight_vdd-rise
|
||||
* delay between backlight_vdd and pwm-rise
|
||||
* delay between pwm-rise and backlight_en-rise
|
||||
|
||||
Optional GPIO properies all have (phandle, GPIO number, flags):
|
||||
- nvidia,backlight-enable-gpios: backlight enable GPIO
|
||||
- nvidia,lvds-shutdown-gpios: LVDS power shutdown GPIO
|
||||
- nvidia,backlight-vdd-gpios: backlight power GPIO
|
||||
- nvidia,panel-vdd-gpios: panel power GPIO
|
||||
|
||||
Example:
|
||||
|
||||
host1x {
|
||||
compatible = "nvidia,tegra20-host1x", "simple-bus";
|
||||
reg = <0x50000000 0x00024000>;
|
||||
interrupts = <0 65 0x04 /* mpcore syncpt */
|
||||
0 67 0x04>; /* mpcore general */
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
status = "okay";
|
||||
|
||||
ranges = <0x54000000 0x54000000 0x04000000>;
|
||||
|
||||
dc@54200000 {
|
||||
compatible = "nvidia,tegra20-dc";
|
||||
reg = <0x54200000 0x00040000>;
|
||||
interrupts = <0 73 0x04>;
|
||||
status = "okay";
|
||||
|
||||
rgb {
|
||||
status = "okay";
|
||||
nvidia,panel = <&lcd_panel>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
lcd_panel: panel {
|
||||
/* Seaboard has 1366x768 */
|
||||
clock = <70600000>;
|
||||
xres = <1366>;
|
||||
yres = <768>;
|
||||
left-margin = <58>;
|
||||
right-margin = <58>;
|
||||
hsync-len = <58>;
|
||||
lower-margin = <4>;
|
||||
upper-margin = <4>;
|
||||
vsync-len = <4>;
|
||||
hsync-active-high;
|
||||
nvidia,bits-per-pixel = <16>;
|
||||
nvidia,pwm = <&pwm 2 0>;
|
||||
nvidia,backlight-enable-gpios = <&gpio 28 0>; /* PD4 */
|
||||
nvidia,lvds-shutdown-gpios = <&gpio 10 0>; /* PB2 */
|
||||
nvidia,backlight-vdd-gpios = <&gpio 176 0>; /* PW0 */
|
||||
nvidia,panel-vdd-gpios = <&gpio 22 0>; /* PC6 */
|
||||
nvidia,panel-timings = <400 4 203 17 15>;
|
||||
};
|
||||
Reference in New Issue
Block a user