Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull DeviceTree updates from Rob Herring:
"A fairly large (by DT standards) pull request this time with the
majority being some overdue moving DT binding docs around to
consolidate similar bindings.

- DT binding doc consolidation moving similar bindings to common
locations. The majority of these are display related which were
scattered in video/, fb/, drm/, gpu/, and panel/ directories.

- Add new config option, CONFIG_OF_ALL_DTBS, to enable building all
dtbs in the tree for most arches with dts files (except powerpc for
now).

- OF_IRQ=n fixes for user enabled CONFIG_OF.

- of_node_put ref counting fixes from Julia Lawall.

- Common DT binding for wakeup-source and deprecation of all similar
bindings.

- DT binding for PXA LCD controller.

- Allow ignoring failed PCI resource translations in order to ignore
64-bit addresses on non-LPAE 32-bit kernels.

- Support setting the NUMA node from DT instead of only from parent
device.

- Couple of earlycon DT parsing fixes for address and options"

* tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (45 commits)
MAINTAINERS: update DT binding doc locations
devicetree: add Sigma Designs vendor prefix
of: simplify arch_find_n_match_cpu_physical_id() function
Documentation: arm: Fixed typo in socfpga fpga mgr example
Documentation: devicetree: fix reference to legacy wakeup properties
Documentation: devicetree: standardize/consolidate on "wakeup-source" property
drivers: of: removing assignment of 0 to static variable
xtensa: enable building of all dtbs
mips: enable building of all dtbs
metag: enable building of all dtbs
metag: use common make variables for dtb builds
h8300: enable building of all dtbs
arm64: enable building of all dtbs
arm: enable building of all dtbs
arc: enable building of all dtbs
arc: use common make variables for dtb builds
of: add config option to enable building of all dtbs
of/fdt: fix error checking for earlycon address
of/overlay: add missing of_node_put
of/platform: add missing of_node_put
...

+2418 -2339
Documentation/devicetree/bindings/arc/archs-idu-intc.txt Documentation/devicetree/bindings/interrupt-controller/snps,archs-idu-intc.txt
Documentation/devicetree/bindings/arc/archs-intc.txt Documentation/devicetree/bindings/interrupt-controller/snps,archs-intc.txt
Documentation/devicetree/bindings/arc/interrupts.txt Documentation/devicetree/bindings/interrupt-controller/snps,arc700-intc.txt
Documentation/devicetree/bindings/arm/calxeda/combophy.txt Documentation/devicetree/bindings/phy/calxeda-combophy.txt
Documentation/devicetree/bindings/arm/calxeda/mem-ctrlr.txt Documentation/devicetree/bindings/memory-controllers/calxeda-ddr-ctrlr.txt
Documentation/devicetree/bindings/arm/davinci/cp-intc.txt Documentation/devicetree/bindings/interrupt-controller/ti,cp-intc.txt
Documentation/devicetree/bindings/arm/gic-v3.txt Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.txt
Documentation/devicetree/bindings/arm/gic.txt Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt
Documentation/devicetree/bindings/arm/lpc32xx-mic.txt Documentation/devicetree/bindings/interrupt-controller/nxp,lpc3220-mic.txt
Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt
Documentation/devicetree/bindings/arm/mrvl/intc.txt Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.txt
Documentation/devicetree/bindings/arm/omap/intc.txt Documentation/devicetree/bindings/interrupt-controller/ti,omap2-intc.txt
Documentation/devicetree/bindings/arm/samsung/interrupt-combiner.txt Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.txt
Documentation/devicetree/bindings/arm/spear/shirq.txt Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt
Documentation/devicetree/bindings/arm/versatile-fpga-irq.txt Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.txt
Documentation/devicetree/bindings/arm/vic.txt Documentation/devicetree/bindings/interrupt-controller/arm,vic.txt
Documentation/devicetree/bindings/arm/vt8500/via,vt8500-intc.txt Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt
Documentation/devicetree/bindings/c6x/interrupt.txt Documentation/devicetree/bindings/interrupt-controller/ti,c64x+megamod-pic.txt
Documentation/devicetree/bindings/cris/interrupts.txt Documentation/devicetree/bindings/interrupt-controller/axis,crisv32-intc.txt
+2 -2
Documentation/devicetree/bindings/crypto/fsl-sec4.txt
··· 441 441 regmap = <&snvs>; 442 442 interrupts = <0 4 0x4> 443 443 linux,keycode = <116>; /* KEY_POWER */ 444 - wakeup; 444 + wakeup-source; 445 445 }; 446 446 447 447 ===================================================================== ··· 530 530 regmap = <&sec_mon>; 531 531 interrupts = <0 4 0x4>; 532 532 linux,keycode = <116>; /* KEY_POWER */ 533 - wakeup; 533 + wakeup-source; 534 534 }; 535 535 }; 536 536
+50
Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt
··· 1 + DesignWare HDMI bridge bindings 2 + 3 + Required properties: 4 + - compatible: platform specific such as: 5 + * "snps,dw-hdmi-tx" 6 + * "fsl,imx6q-hdmi" 7 + * "fsl,imx6dl-hdmi" 8 + * "rockchip,rk3288-dw-hdmi" 9 + - reg: Physical base address and length of the controller's registers. 10 + - interrupts: The HDMI interrupt number 11 + - clocks, clock-names : must have the phandles to the HDMI iahb and isfr clocks, 12 + as described in Documentation/devicetree/bindings/clock/clock-bindings.txt, 13 + the clocks are soc specific, the clock-names should be "iahb", "isfr" 14 + -port@[X]: SoC specific port nodes with endpoint definitions as defined 15 + in Documentation/devicetree/bindings/media/video-interfaces.txt, 16 + please refer to the SoC specific binding document: 17 + * Documentation/devicetree/bindings/display/imx/hdmi.txt 18 + * Documentation/devicetree/bindings/display/rockchip/dw_hdmi-rockchip.txt 19 + 20 + Optional properties 21 + - reg-io-width: the width of the reg:1,4, default set to 1 if not present 22 + - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 23 + - clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec" 24 + 25 + Example: 26 + hdmi: hdmi@0120000 { 27 + compatible = "fsl,imx6q-hdmi"; 28 + reg = <0x00120000 0x9000>; 29 + interrupts = <0 115 0x04>; 30 + gpr = <&gpr>; 31 + clocks = <&clks 123>, <&clks 124>; 32 + clock-names = "iahb", "isfr"; 33 + ddc-i2c-bus = <&i2c2>; 34 + 35 + port@0 { 36 + reg = <0>; 37 + 38 + hdmi_mux_0: endpoint { 39 + remote-endpoint = <&ipu1_di0_hdmi>; 40 + }; 41 + }; 42 + 43 + port@1 { 44 + reg = <1>; 45 + 46 + hdmi_mux_1: endpoint { 47 + remote-endpoint = <&ipu1_di1_hdmi>; 48 + }; 49 + }; 50 + };
+47
Documentation/devicetree/bindings/display/cirrus,clps711x-fb.txt
··· 1 + * Currus Logic CLPS711X Framebuffer 2 + 3 + Required properties: 4 + - compatible: Shall contain "cirrus,clps711x-fb". 5 + - reg : Physical base address and length of the controller's registers + 6 + location and size of the framebuffer memory. 7 + - clocks : phandle + clock specifier pair of the FB reference clock. 8 + - display : phandle to a display node as described in 9 + Documentation/devicetree/bindings/display/display-timing.txt. 10 + Additionally, the display node has to define properties: 11 + - bits-per-pixel: Bits per pixel. 12 + - ac-prescale : LCD AC bias frequency. This frequency is the required 13 + AC bias frequency for a given manufacturer's LCD plate. 14 + - cmap-invert : Invert the color levels (Optional). 15 + 16 + Optional properties: 17 + - lcd-supply: Regulator for LCD supply voltage. 18 + 19 + Example: 20 + fb: fb@800002c0 { 21 + compatible = "cirrus,ep7312-fb", "cirrus,clps711x-fb"; 22 + reg = <0x800002c0 0xd44>, <0x60000000 0xc000>; 23 + clocks = <&clks 2>; 24 + lcd-supply = <&reg5v0>; 25 + display = <&display>; 26 + }; 27 + 28 + display: display { 29 + model = "320x240x4"; 30 + native-mode = <&timing0>; 31 + bits-per-pixel = <4>; 32 + ac-prescale = <17>; 33 + 34 + display-timings { 35 + timing0: 320x240 { 36 + hactive = <320>; 37 + hback-porch = <0>; 38 + hfront-porch = <0>; 39 + hsync-len = <0>; 40 + vactive = <240>; 41 + vback-porch = <0>; 42 + vfront-porch = <0>; 43 + vsync-len = <0>; 44 + clock-frequency = <6500000>; 45 + }; 46 + }; 47 + };
+68
Documentation/devicetree/bindings/display/exynos/exynos7-decon.txt
··· 1 + Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON) 2 + 3 + DECON (Display and Enhancement Controller) is the Display Controller for the 4 + Exynos7 series of SoCs which transfers the image data from a video memory 5 + buffer to an external LCD interface. 6 + 7 + Required properties: 8 + - compatible: value should be "samsung,exynos7-decon"; 9 + 10 + - reg: physical base address and length of the DECON registers set. 11 + 12 + - interrupt-parent: should be the phandle of the decon controller's 13 + parent interrupt controller. 14 + 15 + - interrupts: should contain a list of all DECON IP block interrupts in the 16 + order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier 17 + format depends on the interrupt controller used. 18 + 19 + - interrupt-names: should contain the interrupt names: "fifo", "vsync", 20 + "lcd_sys", in the same order as they were listed in the interrupts 21 + property. 22 + 23 + - pinctrl-0: pin control group to be used for this controller. 24 + 25 + - pinctrl-names: must contain a "default" entry. 26 + 27 + - clocks: must include clock specifiers corresponding to entries in the 28 + clock-names property. 29 + 30 + - clock-names: list of clock names sorted in the same order as the clocks 31 + property. Must contain "pclk_decon0", "aclk_decon0", 32 + "decon0_eclk", "decon0_vclk". 33 + - i80-if-timings: timing configuration for lcd i80 interface support. 34 + 35 + Optional Properties: 36 + - samsung,power-domain: a phandle to DECON power domain node. 37 + - display-timings: timing settings for DECON, as described in document [1]. 38 + Can be used in case timings cannot be provided otherwise 39 + or to override timings provided by the panel. 40 + 41 + [1]: Documentation/devicetree/bindings/display/display-timing.txt 42 + 43 + Example: 44 + 45 + SoC specific DT entry: 46 + 47 + decon@13930000 { 48 + compatible = "samsung,exynos7-decon"; 49 + interrupt-parent = <&combiner>; 50 + reg = <0x13930000 0x1000>; 51 + interrupt-names = "lcd_sys", "vsync", "fifo"; 52 + interrupts = <0 188 0>, <0 189 0>, <0 190 0>; 53 + clocks = <&clock_disp PCLK_DECON_INT>, 54 + <&clock_disp ACLK_DECON_INT>, 55 + <&clock_disp SCLK_DECON_INT_ECLK>, 56 + <&clock_disp SCLK_DECON_INT_EXTCLKPLL>; 57 + clock-names = "pclk_decon0", "aclk_decon0", "decon0_eclk", 58 + "decon0_vclk"; 59 + status = "disabled"; 60 + }; 61 + 62 + Board specific DT entry: 63 + 64 + decon@13930000 { 65 + pinctrl-0 = <&lcd_clk &pwm1_out>; 66 + pinctrl-names = "default"; 67 + status = "okay"; 68 + };
+120
Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
··· 1 + The Exynos display port interface should be configured based on 2 + the type of panel connected to it. 3 + 4 + We use two nodes: 5 + -dp-controller node 6 + -dptx-phy node(defined inside dp-controller node) 7 + 8 + For the DP-PHY initialization, we use the dptx-phy node. 9 + Required properties for dptx-phy: deprecated, use phys and phy-names 10 + -reg: deprecated 11 + Base address of DP PHY register. 12 + -samsung,enable-mask: deprecated 13 + The bit-mask used to enable/disable DP PHY. 14 + 15 + For the Panel initialization, we read data from dp-controller node. 16 + Required properties for dp-controller: 17 + -compatible: 18 + should be "samsung,exynos5-dp". 19 + -reg: 20 + physical base address of the controller and length 21 + of memory mapped region. 22 + -interrupts: 23 + interrupt combiner values. 24 + -clocks: 25 + from common clock binding: handle to dp clock. 26 + -clock-names: 27 + from common clock binding: Shall be "dp". 28 + -interrupt-parent: 29 + phandle to Interrupt combiner node. 30 + -phys: 31 + from general PHY binding: the phandle for the PHY device. 32 + -phy-names: 33 + from general PHY binding: Should be "dp". 34 + -samsung,color-space: 35 + input video data format. 36 + COLOR_RGB = 0, COLOR_YCBCR422 = 1, COLOR_YCBCR444 = 2 37 + -samsung,dynamic-range: 38 + dynamic range for input video data. 39 + VESA = 0, CEA = 1 40 + -samsung,ycbcr-coeff: 41 + YCbCr co-efficients for input video. 42 + COLOR_YCBCR601 = 0, COLOR_YCBCR709 = 1 43 + -samsung,color-depth: 44 + number of bits per colour component. 45 + COLOR_6 = 0, COLOR_8 = 1, COLOR_10 = 2, COLOR_12 = 3 46 + -samsung,link-rate: 47 + link rate supported by the panel. 48 + LINK_RATE_1_62GBPS = 0x6, LINK_RATE_2_70GBPS = 0x0A 49 + -samsung,lane-count: 50 + number of lanes supported by the panel. 51 + LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4 52 + - display-timings: timings for the connected panel as described by 53 + Documentation/devicetree/bindings/display/display-timing.txt 54 + 55 + Optional properties for dp-controller: 56 + -interlaced: 57 + interlace scan mode. 58 + Progressive if defined, Interlaced if not defined 59 + -vsync-active-high: 60 + VSYNC polarity configuration. 61 + High if defined, Low if not defined 62 + -hsync-active-high: 63 + HSYNC polarity configuration. 64 + High if defined, Low if not defined 65 + -samsung,hpd-gpio: 66 + Hotplug detect GPIO. 67 + Indicates which GPIO should be used for hotplug 68 + detection 69 + -video interfaces: Device node can contain video interface port 70 + nodes according to [1]. 71 + 72 + [1]: Documentation/devicetree/bindings/media/video-interfaces.txt 73 + 74 + Example: 75 + 76 + SOC specific portion: 77 + dp-controller { 78 + compatible = "samsung,exynos5-dp"; 79 + reg = <0x145b0000 0x10000>; 80 + interrupts = <10 3>; 81 + interrupt-parent = <&combiner>; 82 + clocks = <&clock 342>; 83 + clock-names = "dp"; 84 + 85 + phys = <&dp_phy>; 86 + phy-names = "dp"; 87 + }; 88 + 89 + Board Specific portion: 90 + dp-controller { 91 + samsung,color-space = <0>; 92 + samsung,dynamic-range = <0>; 93 + samsung,ycbcr-coeff = <0>; 94 + samsung,color-depth = <1>; 95 + samsung,link-rate = <0x0a>; 96 + samsung,lane-count = <4>; 97 + 98 + display-timings { 99 + native-mode = <&lcd_timing>; 100 + lcd_timing: 1366x768 { 101 + clock-frequency = <70589280>; 102 + hactive = <1366>; 103 + vactive = <768>; 104 + hfront-porch = <40>; 105 + hback-porch = <40>; 106 + hsync-len = <32>; 107 + vback-porch = <10>; 108 + vfront-porch = <12>; 109 + vsync-len = <6>; 110 + }; 111 + }; 112 + 113 + ports { 114 + port@0 { 115 + dp_out: endpoint { 116 + remote-endpoint = <&bridge_in>; 117 + }; 118 + }; 119 + }; 120 + };
+103
Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt
··· 1 + Exynos MIPI DSI Master 2 + 3 + Required properties: 4 + - compatible: value should be one of the following 5 + "samsung,exynos3250-mipi-dsi" /* for Exynos3250/3472 SoCs */ 6 + "samsung,exynos4210-mipi-dsi" /* for Exynos4 SoCs */ 7 + "samsung,exynos4415-mipi-dsi" /* for Exynos4415 SoC */ 8 + "samsung,exynos5410-mipi-dsi" /* for Exynos5410/5420/5440 SoCs */ 9 + "samsung,exynos5433-mipi-dsi" /* for Exynos5433 SoCs */ 10 + - reg: physical base address and length of the registers set for the device 11 + - interrupts: should contain DSI interrupt 12 + - clocks: list of clock specifiers, must contain an entry for each required 13 + entry in clock-names 14 + - clock-names: should include "bus_clk"and "sclk_mipi" entries 15 + the use of "pll_clk" is deprecated 16 + - phys: list of phy specifiers, must contain an entry for each required 17 + entry in phy-names 18 + - phy-names: should include "dsim" entry 19 + - vddcore-supply: MIPI DSIM Core voltage supply (e.g. 1.1V) 20 + - vddio-supply: MIPI DSIM I/O and PLL voltage supply (e.g. 1.8V) 21 + - samsung,pll-clock-frequency: specifies frequency of the oscillator clock 22 + - #address-cells, #size-cells: should be set respectively to <1> and <0> 23 + according to DSI host bindings (see MIPI DSI bindings [1]) 24 + 25 + Optional properties: 26 + - power-domains: a phandle to DSIM power domain node 27 + 28 + Child nodes: 29 + Should contain DSI peripheral nodes (see MIPI DSI bindings [1]). 30 + 31 + Video interfaces: 32 + Device node can contain video interface port nodes according to [2]. 33 + The following are properties specific to those nodes: 34 + 35 + port node inbound: 36 + - reg: (required) must be 0. 37 + port node outbound: 38 + - reg: (required) must be 1. 39 + 40 + endpoint node connected from mic node (reg = 0): 41 + - remote-endpoint: specifies the endpoint in mic node. This node is required 42 + for Exynos5433 mipi dsi. So mic can access to panel node 43 + thoughout this dsi node. 44 + endpoint node connected to panel node (reg = 1): 45 + - remote-endpoint: specifies the endpoint in panel node. This node is 46 + required in all kinds of exynos mipi dsi to represent 47 + the connection between mipi dsi and panel. 48 + - samsung,burst-clock-frequency: specifies DSI frequency in high-speed burst 49 + mode 50 + - samsung,esc-clock-frequency: specifies DSI frequency in escape mode 51 + 52 + [1]: Documentation/devicetree/bindings/display/mipi-dsi-bus.txt 53 + [2]: Documentation/devicetree/bindings/media/video-interfaces.txt 54 + 55 + Example: 56 + 57 + dsi@11C80000 { 58 + compatible = "samsung,exynos4210-mipi-dsi"; 59 + reg = <0x11C80000 0x10000>; 60 + interrupts = <0 79 0>; 61 + clocks = <&clock 286>, <&clock 143>; 62 + clock-names = "bus_clk", "sclk_mipi"; 63 + phys = <&mipi_phy 1>; 64 + phy-names = "dsim"; 65 + vddcore-supply = <&vusb_reg>; 66 + vddio-supply = <&vmipi_reg>; 67 + power-domains = <&pd_lcd0>; 68 + #address-cells = <1>; 69 + #size-cells = <0>; 70 + samsung,pll-clock-frequency = <24000000>; 71 + 72 + panel@1 { 73 + reg = <0>; 74 + ... 75 + port { 76 + panel_ep: endpoint { 77 + remote-endpoint = <&dsi_ep>; 78 + }; 79 + }; 80 + }; 81 + 82 + ports { 83 + #address-cells = <1>; 84 + #size-cells = <0>; 85 + 86 + port@0 { 87 + reg = <0>; 88 + decon_to_mic: endpoint { 89 + remote-endpoint = <&mic_to_decon>; 90 + }; 91 + }; 92 + 93 + port@1 { 94 + reg = <1>; 95 + dsi_ep: endpoint { 96 + reg = <0>; 97 + samsung,burst-clock-frequency = <500000000>; 98 + samsung,esc-clock-frequency = <20000000>; 99 + remote-endpoint = <&panel_ep>; 100 + }; 101 + }; 102 + }; 103 + };
+110
Documentation/devicetree/bindings/display/exynos/samsung-fimd.txt
··· 1 + Device-Tree bindings for Samsung SoC display controller (FIMD) 2 + 3 + FIMD (Fully Interactive Mobile Display) is the Display Controller for the 4 + Samsung series of SoCs which transfers the image data from a video memory 5 + buffer to an external LCD interface. 6 + 7 + Required properties: 8 + - compatible: value should be one of the following 9 + "samsung,s3c2443-fimd"; /* for S3C24XX SoCs */ 10 + "samsung,s3c6400-fimd"; /* for S3C64XX SoCs */ 11 + "samsung,s5pv210-fimd"; /* for S5PV210 SoC */ 12 + "samsung,exynos3250-fimd"; /* for Exynos3250/3472 SoCs */ 13 + "samsung,exynos4210-fimd"; /* for Exynos4 SoCs */ 14 + "samsung,exynos4415-fimd"; /* for Exynos4415 SoC */ 15 + "samsung,exynos5250-fimd"; /* for Exynos5 SoCs */ 16 + 17 + - reg: physical base address and length of the FIMD registers set. 18 + 19 + - interrupt-parent: should be the phandle of the fimd controller's 20 + parent interrupt controller. 21 + 22 + - interrupts: should contain a list of all FIMD IP block interrupts in the 23 + order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier 24 + format depends on the interrupt controller used. 25 + 26 + - interrupt-names: should contain the interrupt names: "fifo", "vsync", 27 + "lcd_sys", in the same order as they were listed in the interrupts 28 + property. 29 + 30 + - pinctrl-0: pin control group to be used for this controller. 31 + 32 + - pinctrl-names: must contain a "default" entry. 33 + 34 + - clocks: must include clock specifiers corresponding to entries in the 35 + clock-names property. 36 + 37 + - clock-names: list of clock names sorted in the same order as the clocks 38 + property. Must contain "sclk_fimd" and "fimd". 39 + 40 + Optional Properties: 41 + - power-domains: a phandle to FIMD power domain node. 42 + - samsung,invert-vden: video enable signal is inverted 43 + - samsung,invert-vclk: video clock signal is inverted 44 + - display-timings: timing settings for FIMD, as described in document [1]. 45 + Can be used in case timings cannot be provided otherwise 46 + or to override timings provided by the panel. 47 + - samsung,sysreg: handle to syscon used to control the system registers 48 + - i80-if-timings: timing configuration for lcd i80 interface support. 49 + - cs-setup: clock cycles for the active period of address signal is enabled 50 + until chip select is enabled. 51 + If not specified, the default value(0) will be used. 52 + - wr-setup: clock cycles for the active period of CS signal is enabled until 53 + write signal is enabled. 54 + If not specified, the default value(0) will be used. 55 + - wr-active: clock cycles for the active period of CS is enabled. 56 + If not specified, the default value(1) will be used. 57 + - wr-hold: clock cycles for the active period of CS is disabled until write 58 + signal is disabled. 59 + If not specified, the default value(0) will be used. 60 + 61 + The parameters are defined as: 62 + 63 + VCLK(internal) __|??????|_____|??????|_____|??????|_____|??????|_____|?? 64 + : : : : : 65 + Address Output --:<XXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XX 66 + | cs-setup+1 | : : : 67 + |<---------->| : : : 68 + Chip Select ???????????????|____________:____________:____________|?? 69 + | wr-setup+1 | | wr-hold+1 | 70 + |<---------->| |<---------->| 71 + Write Enable ????????????????????????????|____________|??????????????? 72 + | wr-active+1| 73 + |<---------->| 74 + Video Data ----------------------------<XXXXXXXXXXXXXXXXXXXXXXXXX>-- 75 + 76 + The device node can contain 'port' child nodes according to the bindings defined 77 + in [2]. The following are properties specific to those nodes: 78 + - reg: (required) port index, can be: 79 + 0 - for CAMIF0 input, 80 + 1 - for CAMIF1 input, 81 + 2 - for CAMIF2 input, 82 + 3 - for parallel output, 83 + 4 - for write-back interface 84 + 85 + [1]: Documentation/devicetree/bindings/display/display-timing.txt 86 + [2]: Documentation/devicetree/bindings/media/video-interfaces.txt 87 + 88 + Example: 89 + 90 + SoC specific DT entry: 91 + 92 + fimd@11c00000 { 93 + compatible = "samsung,exynos4210-fimd"; 94 + interrupt-parent = <&combiner>; 95 + reg = <0x11c00000 0x20000>; 96 + interrupt-names = "fifo", "vsync", "lcd_sys"; 97 + interrupts = <11 0>, <11 1>, <11 2>; 98 + clocks = <&clock 140>, <&clock 283>; 99 + clock-names = "sclk_fimd", "fimd"; 100 + power-domains = <&pd_lcd0>; 101 + status = "disabled"; 102 + }; 103 + 104 + Board specific DT entry: 105 + 106 + fimd@11c00000 { 107 + pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; 108 + pinctrl-names = "default"; 109 + status = "okay"; 110 + };
+55
Documentation/devicetree/bindings/display/imx/fsl,imx-fb.txt
··· 1 + Freescale imx21 Framebuffer 2 + 3 + This framebuffer driver supports devices imx1, imx21, imx25, and imx27. 4 + 5 + Required properties: 6 + - compatible : "fsl,<chip>-fb", chip should be imx1 or imx21 7 + - reg : Should contain 1 register ranges(address and length) 8 + - interrupts : One interrupt of the fb dev 9 + 10 + Required nodes: 11 + - display: Phandle to a display node as described in 12 + Documentation/devicetree/bindings/display/display-timing.txt 13 + Additional, the display node has to define properties: 14 + - bits-per-pixel: Bits per pixel 15 + - fsl,pcr: LCDC PCR value 16 + 17 + Optional properties: 18 + - lcd-supply: Regulator for LCD supply voltage. 19 + - fsl,dmacr: DMA Control Register value. This is optional. By default, the 20 + register is not modified as recommended by the datasheet. 21 + - fsl,lpccr: Contrast Control Register value. This property provides the 22 + default value for the contrast control register. 23 + If that property is omitted, the register is zeroed. 24 + - fsl,lscr1: LCDC Sharp Configuration Register value. 25 + 26 + Example: 27 + 28 + imxfb: fb@10021000 { 29 + compatible = "fsl,imx21-fb"; 30 + interrupts = <61>; 31 + reg = <0x10021000 0x1000>; 32 + display = <&display0>; 33 + }; 34 + 35 + ... 36 + 37 + display0: display0 { 38 + model = "Primeview-PD050VL1"; 39 + native-mode = <&timing_disp0>; 40 + bits-per-pixel = <16>; 41 + fsl,pcr = <0xf0c88080>; /* non-standard but required */ 42 + display-timings { 43 + timing_disp0: 640x480 { 44 + hactive = <640>; 45 + vactive = <480>; 46 + hback-porch = <112>; 47 + hfront-porch = <36>; 48 + hsync-len = <32>; 49 + vback-porch = <33>; 50 + vfront-porch = <33>; 51 + vsync-len = <2>; 52 + clock-frequency = <25000000>; 53 + }; 54 + }; 55 + };
+146
Documentation/devicetree/bindings/display/imx/ldb.txt
··· 1 + Device-Tree bindings for LVDS Display Bridge (ldb) 2 + 3 + LVDS Display Bridge 4 + =================== 5 + 6 + The LVDS Display Bridge device tree node contains up to two lvds-channel 7 + nodes describing each of the two LVDS encoder channels of the bridge. 8 + 9 + Required properties: 10 + - #address-cells : should be <1> 11 + - #size-cells : should be <0> 12 + - compatible : should be "fsl,imx53-ldb" or "fsl,imx6q-ldb". 13 + Both LDB versions are similar, but i.MX6 has an additional 14 + multiplexer in the front to select any of the four IPU display 15 + interfaces as input for each LVDS channel. 16 + - gpr : should be <&gpr> on i.MX53 and i.MX6q. 17 + The phandle points to the iomuxc-gpr region containing the LVDS 18 + control register. 19 + - clocks, clock-names : phandles to the LDB divider and selector clocks and to 20 + the display interface selector clocks, as described in 21 + Documentation/devicetree/bindings/clock/clock-bindings.txt 22 + The following clocks are expected on i.MX53: 23 + "di0_pll" - LDB LVDS channel 0 mux 24 + "di1_pll" - LDB LVDS channel 1 mux 25 + "di0" - LDB LVDS channel 0 gate 26 + "di1" - LDB LVDS channel 1 gate 27 + "di0_sel" - IPU1 DI0 mux 28 + "di1_sel" - IPU1 DI1 mux 29 + On i.MX6q the following additional clocks are needed: 30 + "di2_sel" - IPU2 DI0 mux 31 + "di3_sel" - IPU2 DI1 mux 32 + The needed clock numbers for each are documented in 33 + Documentation/devicetree/bindings/clock/imx5-clock.txt, and in 34 + Documentation/devicetree/bindings/clock/imx6q-clock.txt. 35 + 36 + Optional properties: 37 + - pinctrl-names : should be "default" on i.MX53, not used on i.MX6q 38 + - pinctrl-0 : a phandle pointing to LVDS pin settings on i.MX53, 39 + not used on i.MX6q 40 + - fsl,dual-channel : boolean. if it exists, only LVDS channel 0 should 41 + be configured - one input will be distributed on both outputs in dual 42 + channel mode 43 + 44 + LVDS Channel 45 + ============ 46 + 47 + Each LVDS Channel has to contain either an of graph link to a panel device node 48 + or a display-timings node that describes the video timings for the connected 49 + LVDS display as well as the fsl,data-mapping and fsl,data-width properties. 50 + 51 + Required properties: 52 + - reg : should be <0> or <1> 53 + - port: Input and output port nodes with endpoint definitions as defined in 54 + Documentation/devicetree/bindings/graph.txt. 55 + On i.MX5, the internal two-input-multiplexer is used. Due to hardware 56 + limitations, only one input port (port@[0,1]) can be used for each channel 57 + (lvds-channel@[0,1], respectively). 58 + On i.MX6, there should be four input ports (port@[0-3]) that correspond 59 + to the four LVDS multiplexer inputs. 60 + A single output port (port@2 on i.MX5, port@4 on i.MX6) must be connected 61 + to a panel input port. Optionally, the output port can be left out if 62 + display-timings are used instead. 63 + 64 + Optional properties (required if display-timings are used): 65 + - display-timings : A node that describes the display timings as defined in 66 + Documentation/devicetree/bindings/display/display-timing.txt. 67 + - fsl,data-mapping : should be "spwg" or "jeida" 68 + This describes how the color bits are laid out in the 69 + serialized LVDS signal. 70 + - fsl,data-width : should be <18> or <24> 71 + 72 + example: 73 + 74 + gpr: iomuxc-gpr@53fa8000 { 75 + /* ... */ 76 + }; 77 + 78 + ldb: ldb@53fa8008 { 79 + #address-cells = <1>; 80 + #size-cells = <0>; 81 + compatible = "fsl,imx53-ldb"; 82 + gpr = <&gpr>; 83 + clocks = <&clks IMX5_CLK_LDB_DI0_SEL>, 84 + <&clks IMX5_CLK_LDB_DI1_SEL>, 85 + <&clks IMX5_CLK_IPU_DI0_SEL>, 86 + <&clks IMX5_CLK_IPU_DI1_SEL>, 87 + <&clks IMX5_CLK_LDB_DI0_GATE>, 88 + <&clks IMX5_CLK_LDB_DI1_GATE>; 89 + clock-names = "di0_pll", "di1_pll", 90 + "di0_sel", "di1_sel", 91 + "di0", "di1"; 92 + 93 + /* Using an of-graph endpoint link to connect the panel */ 94 + lvds-channel@0 { 95 + #address-cells = <1>; 96 + #size-cells = <0>; 97 + reg = <0>; 98 + 99 + port@0 { 100 + reg = <0>; 101 + 102 + lvds0_in: endpoint { 103 + remote-endpoint = <&ipu_di0_lvds0>; 104 + }; 105 + }; 106 + 107 + port@2 { 108 + reg = <2>; 109 + 110 + lvds0_out: endpoint { 111 + remote-endpoint = <&panel_in>; 112 + }; 113 + }; 114 + }; 115 + 116 + /* Using display-timings and fsl,data-mapping/width instead */ 117 + lvds-channel@1 { 118 + #address-cells = <1>; 119 + #size-cells = <0>; 120 + reg = <1>; 121 + fsl,data-mapping = "spwg"; 122 + fsl,data-width = <24>; 123 + 124 + display-timings { 125 + /* ... */ 126 + }; 127 + 128 + port@1 { 129 + reg = <1>; 130 + 131 + lvds1_in: endpoint { 132 + remote-endpoint = <&ipu_di1_lvds1>; 133 + }; 134 + }; 135 + }; 136 + }; 137 + 138 + panel: lvds-panel { 139 + /* ... */ 140 + 141 + port { 142 + panel_in: endpoint { 143 + remote-endpoint = <&lvds0_out>; 144 + }; 145 + }; 146 + };
+34
Documentation/devicetree/bindings/display/marvell,pxa2xx-lcdc.txt
··· 1 + PXA LCD Controller 2 + ------------------ 3 + 4 + Required properties: 5 + - compatible : one of these 6 + "marvell,pxa2xx-lcdc", 7 + "marvell,pxa270-lcdc", 8 + "marvell,pxa300-lcdc" 9 + - reg : should contain 1 register range (address and length). 10 + - interrupts : framebuffer controller interrupt. 11 + - clocks: phandle to input clocks 12 + 13 + Required nodes: 14 + - port: connection to the LCD panel (see video-interfaces.txt) 15 + This node must have its properties bus-width and remote-endpoint set. 16 + If the panel is not a TFT color panel, then a "lcd-type" property in 17 + the panel should specify the panel type. 18 + This panel node should be in the board dts. 19 + 20 + Example: 21 + lcd-controller@40500000 { 22 + compatible = "marvell,pxa2xx-lcdc"; 23 + reg = <0x44000000 0x10000>; 24 + interrupts = <17>; 25 + clocks = <&clks CLK_LCD>; 26 + status = "okay"; 27 + 28 + port { 29 + lcdc_out: endpoint { 30 + remote-endpoint = <&panel_in>; 31 + bus-width = <16>; 32 + }; 33 + }; 34 + };
+149
Documentation/devicetree/bindings/display/msm/dsi.txt
··· 1 + Qualcomm Technologies Inc. adreno/snapdragon DSI output 2 + 3 + DSI Controller: 4 + Required properties: 5 + - compatible: 6 + * "qcom,mdss-dsi-ctrl" 7 + - reg: Physical base address and length of the registers of controller 8 + - reg-names: The names of register regions. The following regions are required: 9 + * "dsi_ctrl" 10 + - qcom,dsi-host-index: The ID of DSI controller hardware instance. This should 11 + be 0 or 1, since we have 2 DSI controllers at most for now. 12 + - interrupts: The interrupt signal from the DSI block. 13 + - power-domains: Should be <&mmcc MDSS_GDSC>. 14 + - clocks: device clocks 15 + See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details. 16 + - clock-names: the following clocks are required: 17 + * "bus_clk" 18 + * "byte_clk" 19 + * "core_clk" 20 + * "core_mmss_clk" 21 + * "iface_clk" 22 + * "mdp_core_clk" 23 + * "pixel_clk" 24 + - vdd-supply: phandle to vdd regulator device node 25 + - vddio-supply: phandle to vdd-io regulator device node 26 + - vdda-supply: phandle to vdda regulator device node 27 + - qcom,dsi-phy: phandle to DSI PHY device node 28 + 29 + Optional properties: 30 + - panel@0: Node of panel connected to this DSI controller. 31 + See files in Documentation/devicetree/bindings/display/panel/ for each supported 32 + panel. 33 + - qcom,dual-dsi-mode: Boolean value indicating if the DSI controller is 34 + driving a panel which needs 2 DSI links. 35 + - qcom,master-dsi: Boolean value indicating if the DSI controller is driving 36 + the master link of the 2-DSI panel. 37 + - qcom,sync-dual-dsi: Boolean value indicating if the DSI controller is 38 + driving a 2-DSI panel whose 2 links need receive command simultaneously. 39 + - interrupt-parent: phandle to the MDP block if the interrupt signal is routed 40 + through MDP block 41 + - pinctrl-names: the pin control state names; should contain "default" 42 + - pinctrl-0: the default pinctrl state (active) 43 + - pinctrl-n: the "sleep" pinctrl state 44 + - port: DSI controller output port. This contains one endpoint subnode, with its 45 + remote-endpoint set to the phandle of the connected panel's endpoint. 46 + See Documentation/devicetree/bindings/graph.txt for device graph info. 47 + 48 + DSI PHY: 49 + Required properties: 50 + - compatible: Could be the following 51 + * "qcom,dsi-phy-28nm-hpm" 52 + * "qcom,dsi-phy-28nm-lp" 53 + * "qcom,dsi-phy-20nm" 54 + - reg: Physical base address and length of the registers of PLL, PHY and PHY 55 + regulator 56 + - reg-names: The names of register regions. The following regions are required: 57 + * "dsi_pll" 58 + * "dsi_phy" 59 + * "dsi_phy_regulator" 60 + - qcom,dsi-phy-index: The ID of DSI PHY hardware instance. This should 61 + be 0 or 1, since we have 2 DSI PHYs at most for now. 62 + - power-domains: Should be <&mmcc MDSS_GDSC>. 63 + - clocks: device clocks 64 + See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details. 65 + - clock-names: the following clocks are required: 66 + * "iface_clk" 67 + - vddio-supply: phandle to vdd-io regulator device node 68 + 69 + Optional properties: 70 + - qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY 71 + regulator is wanted. 72 + 73 + Example: 74 + mdss_dsi0: qcom,mdss_dsi@fd922800 { 75 + compatible = "qcom,mdss-dsi-ctrl"; 76 + qcom,dsi-host-index = <0>; 77 + interrupt-parent = <&mdss_mdp>; 78 + interrupts = <4 0>; 79 + reg-names = "dsi_ctrl"; 80 + reg = <0xfd922800 0x200>; 81 + power-domains = <&mmcc MDSS_GDSC>; 82 + clock-names = 83 + "bus_clk", 84 + "byte_clk", 85 + "core_clk", 86 + "core_mmss_clk", 87 + "iface_clk", 88 + "mdp_core_clk", 89 + "pixel_clk"; 90 + clocks = 91 + <&mmcc MDSS_AXI_CLK>, 92 + <&mmcc MDSS_BYTE0_CLK>, 93 + <&mmcc MDSS_ESC0_CLK>, 94 + <&mmcc MMSS_MISC_AHB_CLK>, 95 + <&mmcc MDSS_AHB_CLK>, 96 + <&mmcc MDSS_MDP_CLK>, 97 + <&mmcc MDSS_PCLK0_CLK>; 98 + vdda-supply = <&pma8084_l2>; 99 + vdd-supply = <&pma8084_l22>; 100 + vddio-supply = <&pma8084_l12>; 101 + 102 + qcom,dsi-phy = <&mdss_dsi_phy0>; 103 + 104 + qcom,dual-dsi-mode; 105 + qcom,master-dsi; 106 + qcom,sync-dual-dsi; 107 + 108 + pinctrl-names = "default", "sleep"; 109 + pinctrl-0 = <&mdss_dsi_active>; 110 + pinctrl-1 = <&mdss_dsi_suspend>; 111 + 112 + panel: panel@0 { 113 + compatible = "sharp,lq101r1sx01"; 114 + reg = <0>; 115 + link2 = <&secondary>; 116 + 117 + power-supply = <...>; 118 + backlight = <...>; 119 + 120 + port { 121 + panel_in: endpoint { 122 + remote-endpoint = <&dsi0_out>; 123 + }; 124 + }; 125 + }; 126 + 127 + port { 128 + dsi0_out: endpoint { 129 + remote-endpoint = <&panel_in>; 130 + }; 131 + }; 132 + }; 133 + 134 + mdss_dsi_phy0: qcom,mdss_dsi_phy@fd922a00 { 135 + compatible = "qcom,dsi-phy-28nm-hpm"; 136 + qcom,dsi-phy-index = <0>; 137 + reg-names = 138 + "dsi_pll", 139 + "dsi_phy", 140 + "dsi_phy_regulator"; 141 + reg = <0xfd922a00 0xd4>, 142 + <0xfd922b00 0x2b0>, 143 + <0xfd922d80 0x7b>; 144 + clock-names = "iface_clk"; 145 + clocks = <&mmcc MDSS_AHB_CLK>; 146 + vddio-supply = <&pma8084_l12>; 147 + 148 + qcom,dsi-phy-regulator-ldo-mode; 149 + };
+45
Documentation/devicetree/bindings/display/panel/panel-dpi.txt
··· 1 + Generic MIPI DPI Panel 2 + ====================== 3 + 4 + Required properties: 5 + - compatible: "panel-dpi" 6 + 7 + Optional properties: 8 + - label: a symbolic name for the panel 9 + - enable-gpios: panel enable gpio 10 + 11 + Required nodes: 12 + - "panel-timing" containing video timings 13 + (Documentation/devicetree/bindings/display/display-timing.txt) 14 + - Video port for DPI input 15 + 16 + Example 17 + ------- 18 + 19 + lcd0: display@0 { 20 + compatible = "samsung,lte430wq-f0c", "panel-dpi"; 21 + label = "lcd"; 22 + 23 + port { 24 + lcd_in: endpoint { 25 + remote-endpoint = <&dpi_out>; 26 + }; 27 + }; 28 + 29 + panel-timing { 30 + clock-frequency = <9200000>; 31 + hactive = <480>; 32 + vactive = <272>; 33 + hfront-porch = <8>; 34 + hback-porch = <4>; 35 + hsync-len = <41>; 36 + vback-porch = <2>; 37 + vfront-porch = <4>; 38 + vsync-len = <10>; 39 + 40 + hsync-active = <0>; 41 + vsync-active = <0>; 42 + de-active = <1>; 43 + pixelclk-active = <1>; 44 + }; 45 + };
+66
Documentation/devicetree/bindings/display/panel/samsung,ld9040.txt
··· 1 + Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus 2 + 3 + Required properties: 4 + - compatible: "samsung,ld9040" 5 + - reg: address of the panel on SPI bus 6 + - vdd3-supply: core voltage supply 7 + - vci-supply: voltage supply for analog circuits 8 + - reset-gpios: a GPIO spec for the reset pin 9 + - display-timings: timings for the connected panel according to [1] 10 + 11 + The panel must obey rules for SPI slave device specified in document [2]. 12 + 13 + Optional properties: 14 + - power-on-delay: delay after turning regulators on [ms] 15 + - reset-delay: delay after reset sequence [ms] 16 + - panel-width-mm: physical panel width [mm] 17 + - panel-height-mm: physical panel height [mm] 18 + 19 + The device node can contain one 'port' child node with one child 20 + 'endpoint' node, according to the bindings defined in [3]. This 21 + node should describe panel's video bus. 22 + 23 + [1]: Documentation/devicetree/bindings/display/display-timing.txt 24 + [2]: Documentation/devicetree/bindings/spi/spi-bus.txt 25 + [3]: Documentation/devicetree/bindings/media/video-interfaces.txt 26 + 27 + Example: 28 + 29 + lcd@0 { 30 + compatible = "samsung,ld9040"; 31 + reg = <0>; 32 + vdd3-supply = <&ldo7_reg>; 33 + vci-supply = <&ldo17_reg>; 34 + reset-gpios = <&gpy4 5 0>; 35 + spi-max-frequency = <1200000>; 36 + spi-cpol; 37 + spi-cpha; 38 + power-on-delay = <10>; 39 + reset-delay = <10>; 40 + panel-width-mm = <90>; 41 + panel-height-mm = <154>; 42 + 43 + display-timings { 44 + timing { 45 + clock-frequency = <23492370>; 46 + hactive = <480>; 47 + vactive = <800>; 48 + hback-porch = <16>; 49 + hfront-porch = <16>; 50 + vback-porch = <2>; 51 + vfront-porch = <28>; 52 + hsync-len = <2>; 53 + vsync-len = <1>; 54 + hsync-active = <0>; 55 + vsync-active = <0>; 56 + de-active = <0>; 57 + pixelclk-active = <0>; 58 + }; 59 + }; 60 + 61 + port { 62 + lcd_ep: endpoint { 63 + remote-endpoint = <&fimd_dpi_ep>; 64 + }; 65 + }; 66 + };
+56
Documentation/devicetree/bindings/display/panel/samsung,s6e8aa0.txt
··· 1 + Samsung S6E8AA0 AMOLED LCD 5.3 inch panel 2 + 3 + Required properties: 4 + - compatible: "samsung,s6e8aa0" 5 + - reg: the virtual channel number of a DSI peripheral 6 + - vdd3-supply: core voltage supply 7 + - vci-supply: voltage supply for analog circuits 8 + - reset-gpios: a GPIO spec for the reset pin 9 + - display-timings: timings for the connected panel as described by [1] 10 + 11 + Optional properties: 12 + - power-on-delay: delay after turning regulators on [ms] 13 + - reset-delay: delay after reset sequence [ms] 14 + - init-delay: delay after initialization sequence [ms] 15 + - panel-width-mm: physical panel width [mm] 16 + - panel-height-mm: physical panel height [mm] 17 + - flip-horizontal: boolean to flip image horizontally 18 + - flip-vertical: boolean to flip image vertically 19 + 20 + The device node can contain one 'port' child node with one child 21 + 'endpoint' node, according to the bindings defined in [2]. This 22 + node should describe panel's video bus. 23 + 24 + [1]: Documentation/devicetree/bindings/display/display-timing.txt 25 + [2]: Documentation/devicetree/bindings/media/video-interfaces.txt 26 + 27 + Example: 28 + 29 + panel { 30 + compatible = "samsung,s6e8aa0"; 31 + reg = <0>; 32 + vdd3-supply = <&vcclcd_reg>; 33 + vci-supply = <&vlcd_reg>; 34 + reset-gpios = <&gpy4 5 0>; 35 + power-on-delay= <50>; 36 + reset-delay = <100>; 37 + init-delay = <100>; 38 + panel-width-mm = <58>; 39 + panel-height-mm = <103>; 40 + flip-horizontal; 41 + flip-vertical; 42 + 43 + display-timings { 44 + timing0: timing-0 { 45 + clock-frequency = <57153600>; 46 + hactive = <720>; 47 + vactive = <1280>; 48 + hfront-porch = <5>; 49 + hback-porch = <5>; 50 + hsync-len = <5>; 51 + vfront-porch = <13>; 52 + vback-porch = <1>; 53 + vsync-len = <2>; 54 + }; 55 + }; 56 + };
+19
Documentation/devicetree/bindings/display/rockchip/rockchip-drm.txt
··· 1 + Rockchip DRM master device 2 + ================================ 3 + 4 + The Rockchip DRM master device is a virtual device needed to list all 5 + vop devices or other display interface nodes that comprise the 6 + graphics subsystem. 7 + 8 + Required properties: 9 + - compatible: Should be "rockchip,display-subsystem" 10 + - ports: Should contain a list of phandles pointing to display interface port 11 + of vop devices. vop definitions as defined in 12 + Documentation/devicetree/bindings/display/rockchip/rockchip-vop.txt 13 + 14 + example: 15 + 16 + display-subsystem { 17 + compatible = "rockchip,display-subsystem"; 18 + ports = <&vopl_out>, <&vopb_out>; 19 + };
+241
Documentation/devicetree/bindings/display/st,stih4xx.txt
··· 1 + STMicroelectronics stih4xx platforms 2 + 3 + - sti-vtg: video timing generator 4 + Required properties: 5 + - compatible: "st,vtg" 6 + - reg: Physical base address of the IP registers and length of memory mapped region. 7 + Optional properties: 8 + - interrupts : VTG interrupt number to the CPU. 9 + - st,slave: phandle on a slave vtg 10 + 11 + - sti-vtac: video timing advanced inter dye communication Rx and TX 12 + Required properties: 13 + - compatible: "st,vtac-main" or "st,vtac-aux" 14 + - reg: Physical base address of the IP registers and length of memory mapped region. 15 + - clocks: from common clock binding: handle hardware IP needed clocks, the 16 + number of clocks may depend of the SoC type. 17 + See ../clocks/clock-bindings.txt for details. 18 + - clock-names: names of the clocks listed in clocks property in the same 19 + order. 20 + 21 + - sti-display-subsystem: Master device for DRM sub-components 22 + This device must be the parent of all the sub-components and is responsible 23 + of bind them. 24 + Required properties: 25 + - compatible: "st,sti-display-subsystem" 26 + - ranges: to allow probing of subdevices 27 + 28 + - sti-compositor: frame compositor engine 29 + must be a child of sti-display-subsystem 30 + Required properties: 31 + - compatible: "st,stih<chip>-compositor" 32 + - reg: Physical base address of the IP registers and length of memory mapped region. 33 + - clocks: from common clock binding: handle hardware IP needed clocks, the 34 + number of clocks may depend of the SoC type. 35 + See ../clocks/clock-bindings.txt for details. 36 + - clock-names: names of the clocks listed in clocks property in the same 37 + order. 38 + - resets: resets to be used by the device 39 + See ../reset/reset.txt for details. 40 + - reset-names: names of the resets listed in resets property in the same 41 + order. 42 + - st,vtg: phandle(s) on vtg device (main and aux) nodes. 43 + 44 + - sti-tvout: video out hardware block 45 + must be a child of sti-display-subsystem 46 + Required properties: 47 + - compatible: "st,stih<chip>-tvout" 48 + - reg: Physical base address of the IP registers and length of memory mapped region. 49 + - reg-names: names of the mapped memory regions listed in regs property in 50 + the same order. 51 + - resets: resets to be used by the device 52 + See ../reset/reset.txt for details. 53 + - reset-names: names of the resets listed in resets property in the same 54 + order. 55 + 56 + - sti-hdmi: hdmi output block 57 + must be a child of sti-display-subsystem 58 + Required properties: 59 + - compatible: "st,stih<chip>-hdmi"; 60 + - reg: Physical base address of the IP registers and length of memory mapped region. 61 + - reg-names: names of the mapped memory regions listed in regs property in 62 + the same order. 63 + - interrupts : HDMI interrupt number to the CPU. 64 + - interrupt-names: names of the interrupts listed in interrupts property in 65 + the same order 66 + - clocks: from common clock binding: handle hardware IP needed clocks, the 67 + number of clocks may depend of the SoC type. 68 + - clock-names: names of the clocks listed in clocks property in the same 69 + order. 70 + - ddc: phandle of an I2C controller used for DDC EDID probing 71 + 72 + sti-hda: 73 + Required properties: 74 + must be a child of sti-display-subsystem 75 + - compatible: "st,stih<chip>-hda" 76 + - reg: Physical base address of the IP registers and length of memory mapped region. 77 + - reg-names: names of the mapped memory regions listed in regs property in 78 + the same order. 79 + - clocks: from common clock binding: handle hardware IP needed clocks, the 80 + number of clocks may depend of the SoC type. 81 + See ../clocks/clock-bindings.txt for details. 82 + - clock-names: names of the clocks listed in clocks property in the same 83 + order. 84 + 85 + sti-dvo: 86 + Required properties: 87 + must be a child of sti-display-subsystem 88 + - compatible: "st,stih<chip>-dvo" 89 + - reg: Physical base address of the IP registers and length of memory mapped region. 90 + - reg-names: names of the mapped memory regions listed in regs property in 91 + the same order. 92 + - clocks: from common clock binding: handle hardware IP needed clocks, the 93 + number of clocks may depend of the SoC type. 94 + See ../clocks/clock-bindings.txt for details. 95 + - clock-names: names of the clocks listed in clocks property in the same 96 + order. 97 + - pinctrl-0: pin control handle 98 + - pinctrl-names: names of the pin control states to use 99 + - sti,panel: phandle of the panel connected to the DVO output 100 + 101 + sti-hqvdp: 102 + must be a child of sti-display-subsystem 103 + Required properties: 104 + - compatible: "st,stih<chip>-hqvdp" 105 + - reg: Physical base address of the IP registers and length of memory mapped region. 106 + - clocks: from common clock binding: handle hardware IP needed clocks, the 107 + number of clocks may depend of the SoC type. 108 + See ../clocks/clock-bindings.txt for details. 109 + - clock-names: names of the clocks listed in clocks property in the same 110 + order. 111 + - resets: resets to be used by the device 112 + See ../reset/reset.txt for details. 113 + - reset-names: names of the resets listed in resets property in the same 114 + order. 115 + - st,vtg: phandle on vtg main device node. 116 + 117 + Example: 118 + 119 + / { 120 + ... 121 + 122 + vtg_main_slave: sti-vtg-main-slave@fe85A800 { 123 + compatible = "st,vtg"; 124 + reg = <0xfe85A800 0x300>; 125 + interrupts = <GIC_SPI 175 IRQ_TYPE_NONE>; 126 + }; 127 + 128 + vtg_main: sti-vtg-main-master@fd348000 { 129 + compatible = "st,vtg"; 130 + reg = <0xfd348000 0x400>; 131 + st,slave = <&vtg_main_slave>; 132 + }; 133 + 134 + vtg_aux_slave: sti-vtg-aux-slave@fd348400 { 135 + compatible = "st,vtg"; 136 + reg = <0xfe858200 0x300>; 137 + interrupts = <GIC_SPI 176 IRQ_TYPE_NONE>; 138 + }; 139 + 140 + vtg_aux: sti-vtg-aux-master@fd348400 { 141 + compatible = "st,vtg"; 142 + reg = <0xfd348400 0x400>; 143 + st,slave = <&vtg_aux_slave>; 144 + }; 145 + 146 + 147 + sti-vtac-rx-main@fee82800 { 148 + compatible = "st,vtac-main"; 149 + reg = <0xfee82800 0x200>; 150 + clock-names = "vtac"; 151 + clocks = <&clk_m_a2_div0 CLK_M_VTAC_MAIN_PHY>; 152 + }; 153 + 154 + sti-vtac-rx-aux@fee82a00 { 155 + compatible = "st,vtac-aux"; 156 + reg = <0xfee82a00 0x200>; 157 + clock-names = "vtac"; 158 + clocks = <&clk_m_a2_div0 CLK_M_VTAC_AUX_PHY>; 159 + }; 160 + 161 + sti-vtac-tx-main@fd349000 { 162 + compatible = "st,vtac-main"; 163 + reg = <0xfd349000 0x200>, <0xfd320000 0x10000>; 164 + clock-names = "vtac"; 165 + clocks = <&clk_s_a1_hs CLK_S_VTAC_TX_PHY>; 166 + }; 167 + 168 + sti-vtac-tx-aux@fd349200 { 169 + compatible = "st,vtac-aux"; 170 + reg = <0xfd349200 0x200>, <0xfd320000 0x10000>; 171 + clock-names = "vtac"; 172 + clocks = <&clk_s_a1_hs CLK_S_VTAC_TX_PHY>; 173 + }; 174 + 175 + sti-display-subsystem { 176 + compatible = "st,sti-display-subsystem"; 177 + ranges; 178 + 179 + sti-compositor@fd340000 { 180 + compatible = "st,stih416-compositor"; 181 + reg = <0xfd340000 0x1000>; 182 + clock-names = "compo_main", "compo_aux", 183 + "pix_main", "pix_aux"; 184 + clocks = <&clk_m_a2_div1 CLK_M_COMPO_MAIN>, <&clk_m_a2_div1 CLK_M_COMPO_AUX>, 185 + <&clockgen_c_vcc CLK_S_PIX_MAIN>, <&clockgen_c_vcc CLK_S_PIX_AUX>; 186 + reset-names = "compo-main", "compo-aux"; 187 + resets = <&softreset STIH416_COMPO_M_SOFTRESET>, <&softreset STIH416_COMPO_A_SOFTRESET>; 188 + st,vtg = <&vtg_main>, <&vtg_aux>; 189 + }; 190 + 191 + sti-tvout@fe000000 { 192 + compatible = "st,stih416-tvout"; 193 + reg = <0xfe000000 0x1000>, <0xfe85a000 0x400>, <0xfe830000 0x10000>; 194 + reg-names = "tvout-reg", "hda-reg", "syscfg"; 195 + reset-names = "tvout"; 196 + resets = <&softreset STIH416_HDTVOUT_SOFTRESET>; 197 + }; 198 + 199 + sti-hdmi@fe85c000 { 200 + compatible = "st,stih416-hdmi"; 201 + reg = <0xfe85c000 0x1000>, <0xfe830000 0x10000>; 202 + reg-names = "hdmi-reg", "syscfg"; 203 + interrupts = <GIC_SPI 173 IRQ_TYPE_NONE>; 204 + interrupt-names = "irq"; 205 + clock-names = "pix", "tmds", "phy", "audio"; 206 + clocks = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>; 207 + }; 208 + 209 + sti-hda@fe85a000 { 210 + compatible = "st,stih416-hda"; 211 + reg = <0xfe85a000 0x400>, <0xfe83085c 0x4>; 212 + reg-names = "hda-reg", "video-dacs-ctrl"; 213 + clock-names = "pix", "hddac"; 214 + clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>; 215 + }; 216 + 217 + sti-dvo@8d00400 { 218 + compatible = "st,stih407-dvo"; 219 + reg = <0x8d00400 0x200>; 220 + reg-names = "dvo-reg"; 221 + clock-names = "dvo_pix", "dvo", 222 + "main_parent", "aux_parent"; 223 + clocks = <&clk_s_d2_flexgen CLK_PIX_DVO>, <&clk_s_d2_flexgen CLK_DVO>, 224 + <&clk_s_d2_quadfs 0>, <&clk_s_d2_quadfs 1>; 225 + pinctrl-names = "default"; 226 + pinctrl-0 = <&pinctrl_dvo>; 227 + sti,panel = <&panel_dvo>; 228 + }; 229 + 230 + sti-hqvdp@9c000000 { 231 + compatible = "st,stih407-hqvdp"; 232 + reg = <0x9C00000 0x100000>; 233 + clock-names = "hqvdp", "pix_main"; 234 + clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>, <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>; 235 + reset-names = "hqvdp"; 236 + resets = <&softreset STIH407_HDQVDP_SOFTRESET>; 237 + st,vtg = <&vtg_main>; 238 + }; 239 + }; 240 + ... 241 + };
+380
Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
··· 1 + NVIDIA Tegra host1x 2 + 3 + Required properties: 4 + - compatible: "nvidia,tegra<chip>-host1x" 5 + - reg: Physical base address and length of the controller's registers. 6 + - interrupts: The interrupt outputs from the controller. 7 + - #address-cells: The number of cells used to represent physical base addresses 8 + in the host1x address space. Should be 1. 9 + - #size-cells: The number of cells used to represent the size of an address 10 + range in the host1x address space. Should be 1. 11 + - ranges: The mapping of the host1x address space to the CPU address space. 12 + - clocks: Must contain one entry, for the module clock. 13 + See ../clocks/clock-bindings.txt for details. 14 + - resets: Must contain an entry for each entry in reset-names. 15 + See ../reset/reset.txt for details. 16 + - reset-names: Must include the following entries: 17 + - host1x 18 + 19 + The host1x top-level node defines a number of children, each representing one 20 + of the following host1x client modules: 21 + 22 + - mpe: video encoder 23 + 24 + Required properties: 25 + - compatible: "nvidia,tegra<chip>-mpe" 26 + - reg: Physical base address and length of the controller's registers. 27 + - interrupts: The interrupt outputs from the controller. 28 + - clocks: Must contain one entry, for the module clock. 29 + See ../clocks/clock-bindings.txt for details. 30 + - resets: Must contain an entry for each entry in reset-names. 31 + See ../reset/reset.txt for details. 32 + - reset-names: Must include the following entries: 33 + - mpe 34 + 35 + - vi: video input 36 + 37 + Required properties: 38 + - compatible: "nvidia,tegra<chip>-vi" 39 + - reg: Physical base address and length of the controller's registers. 40 + - interrupts: The interrupt outputs from the controller. 41 + - clocks: Must contain one entry, for the module clock. 42 + See ../clocks/clock-bindings.txt for details. 43 + - resets: Must contain an entry for each entry in reset-names. 44 + See ../reset/reset.txt for details. 45 + - reset-names: Must include the following entries: 46 + - vi 47 + 48 + - epp: encoder pre-processor 49 + 50 + Required properties: 51 + - compatible: "nvidia,tegra<chip>-epp" 52 + - reg: Physical base address and length of the controller's registers. 53 + - interrupts: The interrupt outputs from the controller. 54 + - clocks: Must contain one entry, for the module clock. 55 + See ../clocks/clock-bindings.txt for details. 56 + - resets: Must contain an entry for each entry in reset-names. 57 + See ../reset/reset.txt for details. 58 + - reset-names: Must include the following entries: 59 + - epp 60 + 61 + - isp: image signal processor 62 + 63 + Required properties: 64 + - compatible: "nvidia,tegra<chip>-isp" 65 + - reg: Physical base address and length of the controller's registers. 66 + - interrupts: The interrupt outputs from the controller. 67 + - clocks: Must contain one entry, for the module clock. 68 + See ../clocks/clock-bindings.txt for details. 69 + - resets: Must contain an entry for each entry in reset-names. 70 + See ../reset/reset.txt for details. 71 + - reset-names: Must include the following entries: 72 + - isp 73 + 74 + - gr2d: 2D graphics engine 75 + 76 + Required properties: 77 + - compatible: "nvidia,tegra<chip>-gr2d" 78 + - reg: Physical base address and length of the controller's registers. 79 + - interrupts: The interrupt outputs from the controller. 80 + - clocks: Must contain one entry, for the module clock. 81 + See ../clocks/clock-bindings.txt for details. 82 + - resets: Must contain an entry for each entry in reset-names. 83 + See ../reset/reset.txt for details. 84 + - reset-names: Must include the following entries: 85 + - 2d 86 + 87 + - gr3d: 3D graphics engine 88 + 89 + Required properties: 90 + - compatible: "nvidia,tegra<chip>-gr3d" 91 + - reg: Physical base address and length of the controller's registers. 92 + - clocks: Must contain an entry for each entry in clock-names. 93 + See ../clocks/clock-bindings.txt for details. 94 + - clock-names: Must include the following entries: 95 + (This property may be omitted if the only clock in the list is "3d") 96 + - 3d 97 + This MUST be the first entry. 98 + - 3d2 (Only required on SoCs with two 3D clocks) 99 + - resets: Must contain an entry for each entry in reset-names. 100 + See ../reset/reset.txt for details. 101 + - reset-names: Must include the following entries: 102 + - 3d 103 + - 3d2 (Only required on SoCs with two 3D clocks) 104 + 105 + - dc: display controller 106 + 107 + Required properties: 108 + - compatible: "nvidia,tegra<chip>-dc" 109 + - reg: Physical base address and length of the controller's registers. 110 + - interrupts: The interrupt outputs from the controller. 111 + - clocks: Must contain an entry for each entry in clock-names. 112 + See ../clocks/clock-bindings.txt for details. 113 + - clock-names: Must include the following entries: 114 + - dc 115 + This MUST be the first entry. 116 + - parent 117 + - resets: Must contain an entry for each entry in reset-names. 118 + See ../reset/reset.txt for details. 119 + - reset-names: Must include the following entries: 120 + - dc 121 + - nvidia,head: The number of the display controller head. This is used to 122 + setup the various types of output to receive video data from the given 123 + head. 124 + 125 + Each display controller node has a child node, named "rgb", that represents 126 + the RGB output associated with the controller. It can take the following 127 + optional properties: 128 + - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 129 + - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 130 + - nvidia,edid: supplies a binary EDID blob 131 + - nvidia,panel: phandle of a display panel 132 + 133 + - hdmi: High Definition Multimedia Interface 134 + 135 + Required properties: 136 + - compatible: "nvidia,tegra<chip>-hdmi" 137 + - reg: Physical base address and length of the controller's registers. 138 + - interrupts: The interrupt outputs from the controller. 139 + - hdmi-supply: supply for the +5V HDMI connector pin 140 + - vdd-supply: regulator for supply voltage 141 + - pll-supply: regulator for PLL 142 + - clocks: Must contain an entry for each entry in clock-names. 143 + See ../clocks/clock-bindings.txt for details. 144 + - clock-names: Must include the following entries: 145 + - hdmi 146 + This MUST be the first entry. 147 + - parent 148 + - resets: Must contain an entry for each entry in reset-names. 149 + See ../reset/reset.txt for details. 150 + - reset-names: Must include the following entries: 151 + - hdmi 152 + 153 + Optional properties: 154 + - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 155 + - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 156 + - nvidia,edid: supplies a binary EDID blob 157 + - nvidia,panel: phandle of a display panel 158 + 159 + - tvo: TV encoder output 160 + 161 + Required properties: 162 + - compatible: "nvidia,tegra<chip>-tvo" 163 + - reg: Physical base address and length of the controller's registers. 164 + - interrupts: The interrupt outputs from the controller. 165 + - clocks: Must contain one entry, for the module clock. 166 + See ../clocks/clock-bindings.txt for details. 167 + 168 + - dsi: display serial interface 169 + 170 + Required properties: 171 + - compatible: "nvidia,tegra<chip>-dsi" 172 + - reg: Physical base address and length of the controller's registers. 173 + - clocks: Must contain an entry for each entry in clock-names. 174 + See ../clocks/clock-bindings.txt for details. 175 + - clock-names: Must include the following entries: 176 + - dsi 177 + This MUST be the first entry. 178 + - lp 179 + - parent 180 + - resets: Must contain an entry for each entry in reset-names. 181 + See ../reset/reset.txt for details. 182 + - reset-names: Must include the following entries: 183 + - dsi 184 + - avdd-dsi-supply: phandle of a supply that powers the DSI controller 185 + - nvidia,mipi-calibrate: Should contain a phandle and a specifier specifying 186 + which pads are used by this DSI output and need to be calibrated. See also 187 + ../display/tegra/nvidia,tegra114-mipi.txt. 188 + 189 + Optional properties: 190 + - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 191 + - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 192 + - nvidia,edid: supplies a binary EDID blob 193 + - nvidia,panel: phandle of a display panel 194 + - nvidia,ganged-mode: contains a phandle to a second DSI controller to gang 195 + up with in order to support up to 8 data lanes 196 + 197 + - sor: serial output resource 198 + 199 + Required properties: 200 + - compatible: Should be: 201 + - "nvidia,tegra124-sor": for Tegra124 and Tegra132 202 + - "nvidia,tegra132-sor": for Tegra132 203 + - "nvidia,tegra210-sor": for Tegra210 204 + - "nvidia,tegra210-sor1": for Tegra210 205 + - reg: Physical base address and length of the controller's registers. 206 + - interrupts: The interrupt outputs from the controller. 207 + - clocks: Must contain an entry for each entry in clock-names. 208 + See ../clocks/clock-bindings.txt for details. 209 + - clock-names: Must include the following entries: 210 + - sor: clock input for the SOR hardware 211 + - parent: input for the pixel clock 212 + - dp: reference clock for the SOR clock 213 + - safe: safe reference for the SOR clock during power up 214 + - resets: Must contain an entry for each entry in reset-names. 215 + See ../reset/reset.txt for details. 216 + - reset-names: Must include the following entries: 217 + - sor 218 + 219 + Optional properties: 220 + - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 221 + - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 222 + - nvidia,edid: supplies a binary EDID blob 223 + - nvidia,panel: phandle of a display panel 224 + 225 + Optional properties when driving an eDP output: 226 + - nvidia,dpaux: phandle to a DispayPort AUX interface 227 + 228 + - dpaux: DisplayPort AUX interface 229 + - compatible: For Tegra124, must contain "nvidia,tegra124-dpaux". Otherwise, 230 + must contain '"nvidia,<chip>-dpaux", "nvidia,tegra124-dpaux"', where 231 + <chip> is tegra132. 232 + - reg: Physical base address and length of the controller's registers. 233 + - interrupts: The interrupt outputs from the controller. 234 + - clocks: Must contain an entry for each entry in clock-names. 235 + See ../clocks/clock-bindings.txt for details. 236 + - clock-names: Must include the following entries: 237 + - dpaux: clock input for the DPAUX hardware 238 + - parent: reference clock 239 + - resets: Must contain an entry for each entry in reset-names. 240 + See ../reset/reset.txt for details. 241 + - reset-names: Must include the following entries: 242 + - dpaux 243 + - vdd-supply: phandle of a supply that powers the DisplayPort link 244 + 245 + Example: 246 + 247 + / { 248 + ... 249 + 250 + host1x { 251 + compatible = "nvidia,tegra20-host1x", "simple-bus"; 252 + reg = <0x50000000 0x00024000>; 253 + interrupts = <0 65 0x04 /* mpcore syncpt */ 254 + 0 67 0x04>; /* mpcore general */ 255 + clocks = <&tegra_car TEGRA20_CLK_HOST1X>; 256 + resets = <&tegra_car 28>; 257 + reset-names = "host1x"; 258 + 259 + #address-cells = <1>; 260 + #size-cells = <1>; 261 + 262 + ranges = <0x54000000 0x54000000 0x04000000>; 263 + 264 + mpe { 265 + compatible = "nvidia,tegra20-mpe"; 266 + reg = <0x54040000 0x00040000>; 267 + interrupts = <0 68 0x04>; 268 + clocks = <&tegra_car TEGRA20_CLK_MPE>; 269 + resets = <&tegra_car 60>; 270 + reset-names = "mpe"; 271 + }; 272 + 273 + vi { 274 + compatible = "nvidia,tegra20-vi"; 275 + reg = <0x54080000 0x00040000>; 276 + interrupts = <0 69 0x04>; 277 + clocks = <&tegra_car TEGRA20_CLK_VI>; 278 + resets = <&tegra_car 100>; 279 + reset-names = "vi"; 280 + }; 281 + 282 + epp { 283 + compatible = "nvidia,tegra20-epp"; 284 + reg = <0x540c0000 0x00040000>; 285 + interrupts = <0 70 0x04>; 286 + clocks = <&tegra_car TEGRA20_CLK_EPP>; 287 + resets = <&tegra_car 19>; 288 + reset-names = "epp"; 289 + }; 290 + 291 + isp { 292 + compatible = "nvidia,tegra20-isp"; 293 + reg = <0x54100000 0x00040000>; 294 + interrupts = <0 71 0x04>; 295 + clocks = <&tegra_car TEGRA20_CLK_ISP>; 296 + resets = <&tegra_car 23>; 297 + reset-names = "isp"; 298 + }; 299 + 300 + gr2d { 301 + compatible = "nvidia,tegra20-gr2d"; 302 + reg = <0x54140000 0x00040000>; 303 + interrupts = <0 72 0x04>; 304 + clocks = <&tegra_car TEGRA20_CLK_GR2D>; 305 + resets = <&tegra_car 21>; 306 + reset-names = "2d"; 307 + }; 308 + 309 + gr3d { 310 + compatible = "nvidia,tegra20-gr3d"; 311 + reg = <0x54180000 0x00040000>; 312 + clocks = <&tegra_car TEGRA20_CLK_GR3D>; 313 + resets = <&tegra_car 24>; 314 + reset-names = "3d"; 315 + }; 316 + 317 + dc@54200000 { 318 + compatible = "nvidia,tegra20-dc"; 319 + reg = <0x54200000 0x00040000>; 320 + interrupts = <0 73 0x04>; 321 + clocks = <&tegra_car TEGRA20_CLK_DISP1>, 322 + <&tegra_car TEGRA20_CLK_PLL_P>; 323 + clock-names = "dc", "parent"; 324 + resets = <&tegra_car 27>; 325 + reset-names = "dc"; 326 + 327 + rgb { 328 + status = "disabled"; 329 + }; 330 + }; 331 + 332 + dc@54240000 { 333 + compatible = "nvidia,tegra20-dc"; 334 + reg = <0x54240000 0x00040000>; 335 + interrupts = <0 74 0x04>; 336 + clocks = <&tegra_car TEGRA20_CLK_DISP2>, 337 + <&tegra_car TEGRA20_CLK_PLL_P>; 338 + clock-names = "dc", "parent"; 339 + resets = <&tegra_car 26>; 340 + reset-names = "dc"; 341 + 342 + rgb { 343 + status = "disabled"; 344 + }; 345 + }; 346 + 347 + hdmi { 348 + compatible = "nvidia,tegra20-hdmi"; 349 + reg = <0x54280000 0x00040000>; 350 + interrupts = <0 75 0x04>; 351 + clocks = <&tegra_car TEGRA20_CLK_HDMI>, 352 + <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 353 + clock-names = "hdmi", "parent"; 354 + resets = <&tegra_car 51>; 355 + reset-names = "hdmi"; 356 + status = "disabled"; 357 + }; 358 + 359 + tvo { 360 + compatible = "nvidia,tegra20-tvo"; 361 + reg = <0x542c0000 0x00040000>; 362 + interrupts = <0 76 0x04>; 363 + clocks = <&tegra_car TEGRA20_CLK_TVO>; 364 + status = "disabled"; 365 + }; 366 + 367 + dsi { 368 + compatible = "nvidia,tegra20-dsi"; 369 + reg = <0x54300000 0x00040000>; 370 + clocks = <&tegra_car TEGRA20_CLK_DSI>, 371 + <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 372 + clock-names = "dsi", "parent"; 373 + resets = <&tegra_car 48>; 374 + reset-names = "dsi"; 375 + status = "disabled"; 376 + }; 377 + }; 378 + 379 + ... 380 + };
+69
Documentation/devicetree/bindings/display/ti/ti,dra7-dss.txt
··· 1 + Texas Instruments DRA7x Display Subsystem 2 + ========================================= 3 + 4 + See Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt for generic 5 + description about OMAP Display Subsystem bindings. 6 + 7 + DSS Core 8 + -------- 9 + 10 + Required properties: 11 + - compatible: "ti,dra7-dss" 12 + - reg: address and length of the register spaces for 'dss' 13 + - ti,hwmods: "dss_core" 14 + - clocks: handle to fclk 15 + - clock-names: "fck" 16 + - syscon: phandle to control module core syscon node 17 + 18 + Optional properties: 19 + 20 + Some DRA7xx SoCs have one dedicated video PLL, some have two. These properties 21 + can be used to describe the video PLLs: 22 + 23 + - reg: address and length of the register spaces for 'pll1_clkctrl', 24 + 'pll1', 'pll2_clkctrl', 'pll2' 25 + - clocks: handle to video1 pll clock and video2 pll clock 26 + - clock-names: "video1_clk" and "video2_clk" 27 + 28 + Required nodes: 29 + - DISPC 30 + 31 + Optional nodes: 32 + - DSS Submodules: HDMI 33 + - Video port for DPI output 34 + 35 + DPI Endpoint required properties: 36 + - data-lines: number of lines used 37 + 38 + 39 + DISPC 40 + ----- 41 + 42 + Required properties: 43 + - compatible: "ti,dra7-dispc" 44 + - reg: address and length of the register space 45 + - ti,hwmods: "dss_dispc" 46 + - interrupts: the DISPC interrupt 47 + - clocks: handle to fclk 48 + - clock-names: "fck" 49 + 50 + HDMI 51 + ---- 52 + 53 + Required properties: 54 + - compatible: "ti,dra7-hdmi" 55 + - reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy', 56 + 'core' 57 + - reg-names: "wp", "pll", "phy", "core" 58 + - interrupts: the HDMI interrupt line 59 + - ti,hwmods: "dss_hdmi" 60 + - vdda-supply: vdda power supply 61 + - clocks: handles to fclk and pll clock 62 + - clock-names: "fck", "sys_clk" 63 + 64 + Optional nodes: 65 + - Video port for HDMI output 66 + 67 + HDMI Endpoint optional properties: 68 + - lanes: list of 8 pin numbers for the HDMI lanes: CLK+, CLK-, D0+, D0-, 69 + D1+, D1-, D2+, D2-. (default: 0,1,2,3,4,5,6,7)
+54
Documentation/devicetree/bindings/display/ti/ti,omap2-dss.txt
··· 1 + Texas Instruments OMAP2 Display Subsystem 2 + ========================================= 3 + 4 + See Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt for generic 5 + description about OMAP Display Subsystem bindings. 6 + 7 + DSS Core 8 + -------- 9 + 10 + Required properties: 11 + - compatible: "ti,omap2-dss" 12 + - reg: address and length of the register space 13 + - ti,hwmods: "dss_core" 14 + 15 + Optional nodes: 16 + - Video port for DPI output 17 + 18 + DPI Endpoint required properties: 19 + - data-lines: number of lines used 20 + 21 + 22 + DISPC 23 + ----- 24 + 25 + Required properties: 26 + - compatible: "ti,omap2-dispc" 27 + - reg: address and length of the register space 28 + - ti,hwmods: "dss_dispc" 29 + - interrupts: the DISPC interrupt 30 + 31 + 32 + RFBI 33 + ---- 34 + 35 + Required properties: 36 + - compatible: "ti,omap2-rfbi" 37 + - reg: address and length of the register space 38 + - ti,hwmods: "dss_rfbi" 39 + 40 + 41 + VENC 42 + ---- 43 + 44 + Required properties: 45 + - compatible: "ti,omap2-venc" 46 + - reg: address and length of the register space 47 + - ti,hwmods: "dss_venc" 48 + - vdda-supply: power supply for DAC 49 + 50 + VENC Endpoint required properties: 51 + 52 + Required properties: 53 + - ti,invert-polarity: invert the polarity of the video signal 54 + - ti,channels: 1 for composite, 2 for s-video
+83
Documentation/devicetree/bindings/display/ti/ti,omap3-dss.txt
··· 1 + Texas Instruments OMAP3 Display Subsystem 2 + ========================================= 3 + 4 + See Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt for generic 5 + description about OMAP Display Subsystem bindings. 6 + 7 + DSS Core 8 + -------- 9 + 10 + Required properties: 11 + - compatible: "ti,omap3-dss" 12 + - reg: address and length of the register space 13 + - ti,hwmods: "dss_core" 14 + - clocks: handle to fclk 15 + - clock-names: "fck" 16 + 17 + Optional nodes: 18 + - Video ports: 19 + - Port 0: DPI output 20 + - Port 1: SDI output 21 + 22 + DPI Endpoint required properties: 23 + - data-lines: number of lines used 24 + 25 + SDI Endpoint required properties: 26 + - datapairs: number of datapairs used 27 + 28 + 29 + DISPC 30 + ----- 31 + 32 + Required properties: 33 + - compatible: "ti,omap3-dispc" 34 + - reg: address and length of the register space 35 + - ti,hwmods: "dss_dispc" 36 + - interrupts: the DISPC interrupt 37 + - clocks: handle to fclk 38 + - clock-names: "fck" 39 + 40 + 41 + RFBI 42 + ---- 43 + 44 + Required properties: 45 + - compatible: "ti,omap3-rfbi" 46 + - reg: address and length of the register space 47 + - ti,hwmods: "dss_rfbi" 48 + - clocks: handles to fclk and iclk 49 + - clock-names: "fck", "ick" 50 + 51 + 52 + VENC 53 + ---- 54 + 55 + Required properties: 56 + - compatible: "ti,omap3-venc" 57 + - reg: address and length of the register space 58 + - ti,hwmods: "dss_venc" 59 + - vdda-supply: power supply for DAC 60 + - clocks: handle to fclk 61 + - clock-names: "fck" 62 + 63 + VENC Endpoint required properties: 64 + - ti,invert-polarity: invert the polarity of the video signal 65 + - ti,channels: 1 for composite, 2 for s-video 66 + 67 + 68 + DSI 69 + --- 70 + 71 + Required properties: 72 + - compatible: "ti,omap3-dsi" 73 + - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' 74 + - reg-names: "proto", "phy", "pll" 75 + - interrupts: the DSI interrupt line 76 + - ti,hwmods: "dss_dsi1" 77 + - vdd-supply: power supply for DSI 78 + - clocks: handles to fclk and pll clock 79 + - clock-names: "fck", "sys_clk" 80 + 81 + DSI Endpoint required properties: 82 + - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, 83 + DATA1+, DATA1-, ...
+115
Documentation/devicetree/bindings/display/ti/ti,omap4-dss.txt
··· 1 + Texas Instruments OMAP4 Display Subsystem 2 + ========================================= 3 + 4 + See Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt for generic 5 + description about OMAP Display Subsystem bindings. 6 + 7 + DSS Core 8 + -------- 9 + 10 + Required properties: 11 + - compatible: "ti,omap4-dss" 12 + - reg: address and length of the register space 13 + - ti,hwmods: "dss_core" 14 + - clocks: handle to fclk 15 + - clock-names: "fck" 16 + 17 + Required nodes: 18 + - DISPC 19 + 20 + Optional nodes: 21 + - DSS Submodules: RFBI, VENC, DSI, HDMI 22 + - Video port for DPI output 23 + 24 + DPI Endpoint required properties: 25 + - data-lines: number of lines used 26 + 27 + 28 + DISPC 29 + ----- 30 + 31 + Required properties: 32 + - compatible: "ti,omap4-dispc" 33 + - reg: address and length of the register space 34 + - ti,hwmods: "dss_dispc" 35 + - interrupts: the DISPC interrupt 36 + - clocks: handle to fclk 37 + - clock-names: "fck" 38 + 39 + 40 + RFBI 41 + ---- 42 + 43 + Required properties: 44 + - compatible: "ti,omap4-rfbi" 45 + - reg: address and length of the register space 46 + - ti,hwmods: "dss_rfbi" 47 + - clocks: handles to fclk and iclk 48 + - clock-names: "fck", "ick" 49 + 50 + Optional nodes: 51 + - Video port for RFBI output 52 + - RFBI controlled peripherals 53 + 54 + 55 + VENC 56 + ---- 57 + 58 + Required properties: 59 + - compatible: "ti,omap4-venc" 60 + - reg: address and length of the register space 61 + - ti,hwmods: "dss_venc" 62 + - vdda-supply: power supply for DAC 63 + - clocks: handle to fclk 64 + - clock-names: "fck" 65 + 66 + Optional nodes: 67 + - Video port for VENC output 68 + 69 + VENC Endpoint required properties: 70 + - ti,invert-polarity: invert the polarity of the video signal 71 + - ti,channels: 1 for composite, 2 for s-video 72 + 73 + 74 + DSI 75 + --- 76 + 77 + Required properties: 78 + - compatible: "ti,omap4-dsi" 79 + - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' 80 + - reg-names: "proto", "phy", "pll" 81 + - interrupts: the DSI interrupt line 82 + - ti,hwmods: "dss_dsi1" or "dss_dsi2" 83 + - vdd-supply: power supply for DSI 84 + - clocks: handles to fclk and pll clock 85 + - clock-names: "fck", "sys_clk" 86 + 87 + Optional nodes: 88 + - Video port for DSI output 89 + - DSI controlled peripherals 90 + 91 + DSI Endpoint required properties: 92 + - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, 93 + DATA1+, DATA1-, ... 94 + 95 + 96 + HDMI 97 + ---- 98 + 99 + Required properties: 100 + - compatible: "ti,omap4-hdmi" 101 + - reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy', 102 + 'core' 103 + - reg-names: "wp", "pll", "phy", "core" 104 + - interrupts: the HDMI interrupt line 105 + - ti,hwmods: "dss_hdmi" 106 + - vdda-supply: vdda power supply 107 + - clocks: handles to fclk and pll clock 108 + - clock-names: "fck", "sys_clk" 109 + 110 + Optional nodes: 111 + - Video port for HDMI output 112 + 113 + HDMI Endpoint optional properties: 114 + - lanes: list of 8 pin numbers for the HDMI lanes: CLK+, CLK-, D0+, D0-, 115 + D1+, D1-, D2+, D2-. (default: 0,1,2,3,4,5,6,7)
+96
Documentation/devicetree/bindings/display/ti/ti,omap5-dss.txt
··· 1 + Texas Instruments OMAP5 Display Subsystem 2 + ========================================= 3 + 4 + See Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt for generic 5 + description about OMAP Display Subsystem bindings. 6 + 7 + DSS Core 8 + -------- 9 + 10 + Required properties: 11 + - compatible: "ti,omap5-dss" 12 + - reg: address and length of the register space 13 + - ti,hwmods: "dss_core" 14 + - clocks: handle to fclk 15 + - clock-names: "fck" 16 + 17 + Required nodes: 18 + - DISPC 19 + 20 + Optional nodes: 21 + - DSS Submodules: RFBI, DSI, HDMI 22 + - Video port for DPI output 23 + 24 + DPI Endpoint required properties: 25 + - data-lines: number of lines used 26 + 27 + 28 + DISPC 29 + ----- 30 + 31 + Required properties: 32 + - compatible: "ti,omap5-dispc" 33 + - reg: address and length of the register space 34 + - ti,hwmods: "dss_dispc" 35 + - interrupts: the DISPC interrupt 36 + - clocks: handle to fclk 37 + - clock-names: "fck" 38 + 39 + 40 + RFBI 41 + ---- 42 + 43 + Required properties: 44 + - compatible: "ti,omap5-rfbi" 45 + - reg: address and length of the register space 46 + - ti,hwmods: "dss_rfbi" 47 + - clocks: handles to fclk and iclk 48 + - clock-names: "fck", "ick" 49 + 50 + Optional nodes: 51 + - Video port for RFBI output 52 + - RFBI controlled peripherals 53 + 54 + 55 + DSI 56 + --- 57 + 58 + Required properties: 59 + - compatible: "ti,omap5-dsi" 60 + - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' 61 + - reg-names: "proto", "phy", "pll" 62 + - interrupts: the DSI interrupt line 63 + - ti,hwmods: "dss_dsi1" or "dss_dsi2" 64 + - vdd-supply: power supply for DSI 65 + - clocks: handles to fclk and pll clock 66 + - clock-names: "fck", "sys_clk" 67 + 68 + Optional nodes: 69 + - Video port for DSI output 70 + - DSI controlled peripherals 71 + 72 + DSI Endpoint required properties: 73 + - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, 74 + DATA1+, DATA1-, ... 75 + 76 + 77 + HDMI 78 + ---- 79 + 80 + Required properties: 81 + - compatible: "ti,omap5-hdmi" 82 + - reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy', 83 + 'core' 84 + - reg-names: "wp", "pll", "phy", "core" 85 + - interrupts: the HDMI interrupt line 86 + - ti,hwmods: "dss_hdmi" 87 + - vdda-supply: vdda power supply 88 + - clocks: handles to fclk and pll clock 89 + - clock-names: "fck", "sys_clk" 90 + 91 + Optional nodes: 92 + - Video port for HDMI output 93 + 94 + HDMI Endpoint optional properties: 95 + - lanes: list of 8 pin numbers for the HDMI lanes: CLK+, CLK-, D0+, D0-, 96 + D1+, D1-, D2+, D2-. (default: 0,1,2,3,4,5,6,7)
+66
Documentation/devicetree/bindings/display/tilcdc/panel.txt
··· 1 + Device-Tree bindings for tilcdc DRM generic panel output driver 2 + 3 + Required properties: 4 + - compatible: value should be "ti,tilcdc,panel". 5 + - panel-info: configuration info to configure LCDC correctly for the panel 6 + - ac-bias: AC Bias Pin Frequency 7 + - ac-bias-intrpt: AC Bias Pin Transitions per Interrupt 8 + - dma-burst-sz: DMA burst size 9 + - bpp: Bits per pixel 10 + - fdd: FIFO DMA Request Delay 11 + - sync-edge: Horizontal and Vertical Sync Edge: 0=rising 1=falling 12 + - sync-ctrl: Horizontal and Vertical Sync: Control: 0=ignore 13 + - raster-order: Raster Data Order Select: 1=Most-to-least 0=Least-to-most 14 + - fifo-th: DMA FIFO threshold 15 + - display-timings: typical videomode of lcd panel. Multiple video modes 16 + can be listed if the panel supports multiple timings, but the 'native-mode' 17 + should be the preferred/default resolution. Refer to 18 + Documentation/devicetree/bindings/display/display-timing.txt for display 19 + timing binding details. 20 + 21 + Optional properties: 22 + - backlight: phandle of the backlight device attached to the panel 23 + - enable-gpios: GPIO pin to enable or disable the panel 24 + 25 + Recommended properties: 26 + - pinctrl-names, pinctrl-0: the pincontrol settings to configure 27 + muxing properly for pins that connect to TFP410 device 28 + 29 + Example: 30 + 31 + /* Settings for CDTech_S035Q01 / LCD3 cape: */ 32 + lcd3 { 33 + compatible = "ti,tilcdc,panel"; 34 + pinctrl-names = "default"; 35 + pinctrl-0 = <&bone_lcd3_cape_lcd_pins>; 36 + backlight = <&backlight>; 37 + enable-gpios = <&gpio3 19 0>; 38 + 39 + panel-info { 40 + ac-bias = <255>; 41 + ac-bias-intrpt = <0>; 42 + dma-burst-sz = <16>; 43 + bpp = <16>; 44 + fdd = <0x80>; 45 + sync-edge = <0>; 46 + sync-ctrl = <1>; 47 + raster-order = <0>; 48 + fifo-th = <0>; 49 + }; 50 + display-timings { 51 + native-mode = <&timing0>; 52 + timing0: 320x240 { 53 + hactive = <320>; 54 + vactive = <240>; 55 + hback-porch = <21>; 56 + hfront-porch = <58>; 57 + hsync-len = <47>; 58 + vback-porch = <11>; 59 + vfront-porch = <23>; 60 + vsync-len = <2>; 61 + clock-frequency = <8000000>; 62 + hsync-active = <0>; 63 + vsync-active = <0>; 64 + }; 65 + }; 66 + };
Documentation/devicetree/bindings/drm/armada/marvell,dove-lcd.txt Documentation/devicetree/bindings/display/armada/marvell,dove-lcd.txt
Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt
-50
Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt
··· 1 - DesignWare HDMI bridge bindings 2 - 3 - Required properties: 4 - - compatible: platform specific such as: 5 - * "snps,dw-hdmi-tx" 6 - * "fsl,imx6q-hdmi" 7 - * "fsl,imx6dl-hdmi" 8 - * "rockchip,rk3288-dw-hdmi" 9 - - reg: Physical base address and length of the controller's registers. 10 - - interrupts: The HDMI interrupt number 11 - - clocks, clock-names : must have the phandles to the HDMI iahb and isfr clocks, 12 - as described in Documentation/devicetree/bindings/clock/clock-bindings.txt, 13 - the clocks are soc specific, the clock-names should be "iahb", "isfr" 14 - -port@[X]: SoC specific port nodes with endpoint definitions as defined 15 - in Documentation/devicetree/bindings/media/video-interfaces.txt, 16 - please refer to the SoC specific binding document: 17 - * Documentation/devicetree/bindings/drm/imx/hdmi.txt 18 - * Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt 19 - 20 - Optional properties 21 - - reg-io-width: the width of the reg:1,4, default set to 1 if not present 22 - - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 23 - - clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec" 24 - 25 - Example: 26 - hdmi: hdmi@0120000 { 27 - compatible = "fsl,imx6q-hdmi"; 28 - reg = <0x00120000 0x9000>; 29 - interrupts = <0 115 0x04>; 30 - gpr = <&gpr>; 31 - clocks = <&clks 123>, <&clks 124>; 32 - clock-names = "iahb", "isfr"; 33 - ddc-i2c-bus = <&i2c2>; 34 - 35 - port@0 { 36 - reg = <0>; 37 - 38 - hdmi_mux_0: endpoint { 39 - remote-endpoint = <&ipu1_di0_hdmi>; 40 - }; 41 - }; 42 - 43 - port@1 { 44 - reg = <1>; 45 - 46 - hdmi_mux_1: endpoint { 47 - remote-endpoint = <&ipu1_di1_hdmi>; 48 - }; 49 - }; 50 - };
Documentation/devicetree/bindings/drm/i2c/tda998x.txt Documentation/devicetree/bindings/display/bridge/tda998x.txt
Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt Documentation/devicetree/bindings/display/imx/fsl-imx-drm.txt
Documentation/devicetree/bindings/drm/imx/hdmi.txt Documentation/devicetree/bindings/display/imx/hdmi.txt
-146
Documentation/devicetree/bindings/drm/imx/ldb.txt
··· 1 - Device-Tree bindings for LVDS Display Bridge (ldb) 2 - 3 - LVDS Display Bridge 4 - =================== 5 - 6 - The LVDS Display Bridge device tree node contains up to two lvds-channel 7 - nodes describing each of the two LVDS encoder channels of the bridge. 8 - 9 - Required properties: 10 - - #address-cells : should be <1> 11 - - #size-cells : should be <0> 12 - - compatible : should be "fsl,imx53-ldb" or "fsl,imx6q-ldb". 13 - Both LDB versions are similar, but i.MX6 has an additional 14 - multiplexer in the front to select any of the four IPU display 15 - interfaces as input for each LVDS channel. 16 - - gpr : should be <&gpr> on i.MX53 and i.MX6q. 17 - The phandle points to the iomuxc-gpr region containing the LVDS 18 - control register. 19 - - clocks, clock-names : phandles to the LDB divider and selector clocks and to 20 - the display interface selector clocks, as described in 21 - Documentation/devicetree/bindings/clock/clock-bindings.txt 22 - The following clocks are expected on i.MX53: 23 - "di0_pll" - LDB LVDS channel 0 mux 24 - "di1_pll" - LDB LVDS channel 1 mux 25 - "di0" - LDB LVDS channel 0 gate 26 - "di1" - LDB LVDS channel 1 gate 27 - "di0_sel" - IPU1 DI0 mux 28 - "di1_sel" - IPU1 DI1 mux 29 - On i.MX6q the following additional clocks are needed: 30 - "di2_sel" - IPU2 DI0 mux 31 - "di3_sel" - IPU2 DI1 mux 32 - The needed clock numbers for each are documented in 33 - Documentation/devicetree/bindings/clock/imx5-clock.txt, and in 34 - Documentation/devicetree/bindings/clock/imx6q-clock.txt. 35 - 36 - Optional properties: 37 - - pinctrl-names : should be "default" on i.MX53, not used on i.MX6q 38 - - pinctrl-0 : a phandle pointing to LVDS pin settings on i.MX53, 39 - not used on i.MX6q 40 - - fsl,dual-channel : boolean. if it exists, only LVDS channel 0 should 41 - be configured - one input will be distributed on both outputs in dual 42 - channel mode 43 - 44 - LVDS Channel 45 - ============ 46 - 47 - Each LVDS Channel has to contain either an of graph link to a panel device node 48 - or a display-timings node that describes the video timings for the connected 49 - LVDS display as well as the fsl,data-mapping and fsl,data-width properties. 50 - 51 - Required properties: 52 - - reg : should be <0> or <1> 53 - - port: Input and output port nodes with endpoint definitions as defined in 54 - Documentation/devicetree/bindings/graph.txt. 55 - On i.MX5, the internal two-input-multiplexer is used. Due to hardware 56 - limitations, only one input port (port@[0,1]) can be used for each channel 57 - (lvds-channel@[0,1], respectively). 58 - On i.MX6, there should be four input ports (port@[0-3]) that correspond 59 - to the four LVDS multiplexer inputs. 60 - A single output port (port@2 on i.MX5, port@4 on i.MX6) must be connected 61 - to a panel input port. Optionally, the output port can be left out if 62 - display-timings are used instead. 63 - 64 - Optional properties (required if display-timings are used): 65 - - display-timings : A node that describes the display timings as defined in 66 - Documentation/devicetree/bindings/video/display-timing.txt. 67 - - fsl,data-mapping : should be "spwg" or "jeida" 68 - This describes how the color bits are laid out in the 69 - serialized LVDS signal. 70 - - fsl,data-width : should be <18> or <24> 71 - 72 - example: 73 - 74 - gpr: iomuxc-gpr@53fa8000 { 75 - /* ... */ 76 - }; 77 - 78 - ldb: ldb@53fa8008 { 79 - #address-cells = <1>; 80 - #size-cells = <0>; 81 - compatible = "fsl,imx53-ldb"; 82 - gpr = <&gpr>; 83 - clocks = <&clks IMX5_CLK_LDB_DI0_SEL>, 84 - <&clks IMX5_CLK_LDB_DI1_SEL>, 85 - <&clks IMX5_CLK_IPU_DI0_SEL>, 86 - <&clks IMX5_CLK_IPU_DI1_SEL>, 87 - <&clks IMX5_CLK_LDB_DI0_GATE>, 88 - <&clks IMX5_CLK_LDB_DI1_GATE>; 89 - clock-names = "di0_pll", "di1_pll", 90 - "di0_sel", "di1_sel", 91 - "di0", "di1"; 92 - 93 - /* Using an of-graph endpoint link to connect the panel */ 94 - lvds-channel@0 { 95 - #address-cells = <1>; 96 - #size-cells = <0>; 97 - reg = <0>; 98 - 99 - port@0 { 100 - reg = <0>; 101 - 102 - lvds0_in: endpoint { 103 - remote-endpoint = <&ipu_di0_lvds0>; 104 - }; 105 - }; 106 - 107 - port@2 { 108 - reg = <2>; 109 - 110 - lvds0_out: endpoint { 111 - remote-endpoint = <&panel_in>; 112 - }; 113 - }; 114 - }; 115 - 116 - /* Using display-timings and fsl,data-mapping/width instead */ 117 - lvds-channel@1 { 118 - #address-cells = <1>; 119 - #size-cells = <0>; 120 - reg = <1>; 121 - fsl,data-mapping = "spwg"; 122 - fsl,data-width = <24>; 123 - 124 - display-timings { 125 - /* ... */ 126 - }; 127 - 128 - port@1 { 129 - reg = <1>; 130 - 131 - lvds1_in: endpoint { 132 - remote-endpoint = <&ipu_di1_lvds1>; 133 - }; 134 - }; 135 - }; 136 - }; 137 - 138 - panel: lvds-panel { 139 - /* ... */ 140 - 141 - port { 142 - panel_in: endpoint { 143 - remote-endpoint = <&lvds0_out>; 144 - }; 145 - }; 146 - };
-149
Documentation/devicetree/bindings/drm/msm/dsi.txt
··· 1 - Qualcomm Technologies Inc. adreno/snapdragon DSI output 2 - 3 - DSI Controller: 4 - Required properties: 5 - - compatible: 6 - * "qcom,mdss-dsi-ctrl" 7 - - reg: Physical base address and length of the registers of controller 8 - - reg-names: The names of register regions. The following regions are required: 9 - * "dsi_ctrl" 10 - - qcom,dsi-host-index: The ID of DSI controller hardware instance. This should 11 - be 0 or 1, since we have 2 DSI controllers at most for now. 12 - - interrupts: The interrupt signal from the DSI block. 13 - - power-domains: Should be <&mmcc MDSS_GDSC>. 14 - - clocks: device clocks 15 - See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details. 16 - - clock-names: the following clocks are required: 17 - * "bus_clk" 18 - * "byte_clk" 19 - * "core_clk" 20 - * "core_mmss_clk" 21 - * "iface_clk" 22 - * "mdp_core_clk" 23 - * "pixel_clk" 24 - - vdd-supply: phandle to vdd regulator device node 25 - - vddio-supply: phandle to vdd-io regulator device node 26 - - vdda-supply: phandle to vdda regulator device node 27 - - qcom,dsi-phy: phandle to DSI PHY device node 28 - 29 - Optional properties: 30 - - panel@0: Node of panel connected to this DSI controller. 31 - See files in Documentation/devicetree/bindings/panel/ for each supported 32 - panel. 33 - - qcom,dual-dsi-mode: Boolean value indicating if the DSI controller is 34 - driving a panel which needs 2 DSI links. 35 - - qcom,master-dsi: Boolean value indicating if the DSI controller is driving 36 - the master link of the 2-DSI panel. 37 - - qcom,sync-dual-dsi: Boolean value indicating if the DSI controller is 38 - driving a 2-DSI panel whose 2 links need receive command simultaneously. 39 - - interrupt-parent: phandle to the MDP block if the interrupt signal is routed 40 - through MDP block 41 - - pinctrl-names: the pin control state names; should contain "default" 42 - - pinctrl-0: the default pinctrl state (active) 43 - - pinctrl-n: the "sleep" pinctrl state 44 - - port: DSI controller output port. This contains one endpoint subnode, with its 45 - remote-endpoint set to the phandle of the connected panel's endpoint. 46 - See Documentation/devicetree/bindings/graph.txt for device graph info. 47 - 48 - DSI PHY: 49 - Required properties: 50 - - compatible: Could be the following 51 - * "qcom,dsi-phy-28nm-hpm" 52 - * "qcom,dsi-phy-28nm-lp" 53 - * "qcom,dsi-phy-20nm" 54 - - reg: Physical base address and length of the registers of PLL, PHY and PHY 55 - regulator 56 - - reg-names: The names of register regions. The following regions are required: 57 - * "dsi_pll" 58 - * "dsi_phy" 59 - * "dsi_phy_regulator" 60 - - qcom,dsi-phy-index: The ID of DSI PHY hardware instance. This should 61 - be 0 or 1, since we have 2 DSI PHYs at most for now. 62 - - power-domains: Should be <&mmcc MDSS_GDSC>. 63 - - clocks: device clocks 64 - See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details. 65 - - clock-names: the following clocks are required: 66 - * "iface_clk" 67 - - vddio-supply: phandle to vdd-io regulator device node 68 - 69 - Optional properties: 70 - - qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY 71 - regulator is wanted. 72 - 73 - Example: 74 - mdss_dsi0: qcom,mdss_dsi@fd922800 { 75 - compatible = "qcom,mdss-dsi-ctrl"; 76 - qcom,dsi-host-index = <0>; 77 - interrupt-parent = <&mdss_mdp>; 78 - interrupts = <4 0>; 79 - reg-names = "dsi_ctrl"; 80 - reg = <0xfd922800 0x200>; 81 - power-domains = <&mmcc MDSS_GDSC>; 82 - clock-names = 83 - "bus_clk", 84 - "byte_clk", 85 - "core_clk", 86 - "core_mmss_clk", 87 - "iface_clk", 88 - "mdp_core_clk", 89 - "pixel_clk"; 90 - clocks = 91 - <&mmcc MDSS_AXI_CLK>, 92 - <&mmcc MDSS_BYTE0_CLK>, 93 - <&mmcc MDSS_ESC0_CLK>, 94 - <&mmcc MMSS_MISC_AHB_CLK>, 95 - <&mmcc MDSS_AHB_CLK>, 96 - <&mmcc MDSS_MDP_CLK>, 97 - <&mmcc MDSS_PCLK0_CLK>; 98 - vdda-supply = <&pma8084_l2>; 99 - vdd-supply = <&pma8084_l22>; 100 - vddio-supply = <&pma8084_l12>; 101 - 102 - qcom,dsi-phy = <&mdss_dsi_phy0>; 103 - 104 - qcom,dual-dsi-mode; 105 - qcom,master-dsi; 106 - qcom,sync-dual-dsi; 107 - 108 - pinctrl-names = "default", "sleep"; 109 - pinctrl-0 = <&mdss_dsi_active>; 110 - pinctrl-1 = <&mdss_dsi_suspend>; 111 - 112 - panel: panel@0 { 113 - compatible = "sharp,lq101r1sx01"; 114 - reg = <0>; 115 - link2 = <&secondary>; 116 - 117 - power-supply = <...>; 118 - backlight = <...>; 119 - 120 - port { 121 - panel_in: endpoint { 122 - remote-endpoint = <&dsi0_out>; 123 - }; 124 - }; 125 - }; 126 - 127 - port { 128 - dsi0_out: endpoint { 129 - remote-endpoint = <&panel_in>; 130 - }; 131 - }; 132 - }; 133 - 134 - mdss_dsi_phy0: qcom,mdss_dsi_phy@fd922a00 { 135 - compatible = "qcom,dsi-phy-28nm-hpm"; 136 - qcom,dsi-phy-index = <0>; 137 - reg-names = 138 - "dsi_pll", 139 - "dsi_phy", 140 - "dsi_phy_regulator"; 141 - reg = <0xfd922a00 0xd4>, 142 - <0xfd922b00 0x2b0>, 143 - <0xfd922d80 0x7b>; 144 - clock-names = "iface_clk"; 145 - clocks = <&mmcc MDSS_AHB_CLK>; 146 - vddio-supply = <&pma8084_l12>; 147 - 148 - qcom,dsi-phy-regulator-ldo-mode; 149 - };
Documentation/devicetree/bindings/drm/msm/edp.txt Documentation/devicetree/bindings/display/msm/edp.txt
Documentation/devicetree/bindings/drm/msm/gpu.txt Documentation/devicetree/bindings/display/msm/gpu.txt
Documentation/devicetree/bindings/drm/msm/hdmi.txt Documentation/devicetree/bindings/display/msm/hdmi.txt
Documentation/devicetree/bindings/drm/msm/mdp.txt Documentation/devicetree/bindings/display/msm/mdp.txt
-66
Documentation/devicetree/bindings/drm/tilcdc/panel.txt
··· 1 - Device-Tree bindings for tilcdc DRM generic panel output driver 2 - 3 - Required properties: 4 - - compatible: value should be "ti,tilcdc,panel". 5 - - panel-info: configuration info to configure LCDC correctly for the panel 6 - - ac-bias: AC Bias Pin Frequency 7 - - ac-bias-intrpt: AC Bias Pin Transitions per Interrupt 8 - - dma-burst-sz: DMA burst size 9 - - bpp: Bits per pixel 10 - - fdd: FIFO DMA Request Delay 11 - - sync-edge: Horizontal and Vertical Sync Edge: 0=rising 1=falling 12 - - sync-ctrl: Horizontal and Vertical Sync: Control: 0=ignore 13 - - raster-order: Raster Data Order Select: 1=Most-to-least 0=Least-to-most 14 - - fifo-th: DMA FIFO threshold 15 - - display-timings: typical videomode of lcd panel. Multiple video modes 16 - can be listed if the panel supports multiple timings, but the 'native-mode' 17 - should be the preferred/default resolution. Refer to 18 - Documentation/devicetree/bindings/video/display-timing.txt for display 19 - timing binding details. 20 - 21 - Optional properties: 22 - - backlight: phandle of the backlight device attached to the panel 23 - - enable-gpios: GPIO pin to enable or disable the panel 24 - 25 - Recommended properties: 26 - - pinctrl-names, pinctrl-0: the pincontrol settings to configure 27 - muxing properly for pins that connect to TFP410 device 28 - 29 - Example: 30 - 31 - /* Settings for CDTech_S035Q01 / LCD3 cape: */ 32 - lcd3 { 33 - compatible = "ti,tilcdc,panel"; 34 - pinctrl-names = "default"; 35 - pinctrl-0 = <&bone_lcd3_cape_lcd_pins>; 36 - backlight = <&backlight>; 37 - enable-gpios = <&gpio3 19 0>; 38 - 39 - panel-info { 40 - ac-bias = <255>; 41 - ac-bias-intrpt = <0>; 42 - dma-burst-sz = <16>; 43 - bpp = <16>; 44 - fdd = <0x80>; 45 - sync-edge = <0>; 46 - sync-ctrl = <1>; 47 - raster-order = <0>; 48 - fifo-th = <0>; 49 - }; 50 - display-timings { 51 - native-mode = <&timing0>; 52 - timing0: 320x240 { 53 - hactive = <320>; 54 - vactive = <240>; 55 - hback-porch = <21>; 56 - hfront-porch = <58>; 57 - hsync-len = <47>; 58 - vback-porch = <11>; 59 - vfront-porch = <23>; 60 - vsync-len = <2>; 61 - clock-frequency = <8000000>; 62 - hsync-active = <0>; 63 - vsync-active = <0>; 64 - }; 65 - }; 66 - };
Documentation/devicetree/bindings/drm/tilcdc/tfp410.txt Documentation/devicetree/bindings/display/tilcdc/tfp410.txt
Documentation/devicetree/bindings/drm/tilcdc/tilcdc.txt Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt
Documentation/devicetree/bindings/eeprom.txt Documentation/devicetree/bindings/eeprom/eeprom.txt
Documentation/devicetree/bindings/fb/mxsfb.txt Documentation/devicetree/bindings/display/mxsfb.txt
Documentation/devicetree/bindings/fb/sm501fb.txt Documentation/devicetree/bindings/display/sm501fb.txt
+1 -1
Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt
··· 9 9 10 10 Example: 11 11 12 - hps_0_fpgamgr: fpgamgr@0xff706000 { 12 + hps_0_fpgamgr: fpgamgr@ff706000 { 13 13 compatible = "altr,socfpga-fpga-mgr"; 14 14 reg = <0xFF706000 0x1000 15 15 0xFFB90000 0x1000>;
-380
Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
··· 1 - NVIDIA Tegra host1x 2 - 3 - Required properties: 4 - - compatible: "nvidia,tegra<chip>-host1x" 5 - - reg: Physical base address and length of the controller's registers. 6 - - interrupts: The interrupt outputs from the controller. 7 - - #address-cells: The number of cells used to represent physical base addresses 8 - in the host1x address space. Should be 1. 9 - - #size-cells: The number of cells used to represent the size of an address 10 - range in the host1x address space. Should be 1. 11 - - ranges: The mapping of the host1x address space to the CPU address space. 12 - - clocks: Must contain one entry, for the module clock. 13 - See ../clocks/clock-bindings.txt for details. 14 - - resets: Must contain an entry for each entry in reset-names. 15 - See ../reset/reset.txt for details. 16 - - reset-names: Must include the following entries: 17 - - host1x 18 - 19 - The host1x top-level node defines a number of children, each representing one 20 - of the following host1x client modules: 21 - 22 - - mpe: video encoder 23 - 24 - Required properties: 25 - - compatible: "nvidia,tegra<chip>-mpe" 26 - - reg: Physical base address and length of the controller's registers. 27 - - interrupts: The interrupt outputs from the controller. 28 - - clocks: Must contain one entry, for the module clock. 29 - See ../clocks/clock-bindings.txt for details. 30 - - resets: Must contain an entry for each entry in reset-names. 31 - See ../reset/reset.txt for details. 32 - - reset-names: Must include the following entries: 33 - - mpe 34 - 35 - - vi: video input 36 - 37 - Required properties: 38 - - compatible: "nvidia,tegra<chip>-vi" 39 - - reg: Physical base address and length of the controller's registers. 40 - - interrupts: The interrupt outputs from the controller. 41 - - clocks: Must contain one entry, for the module clock. 42 - See ../clocks/clock-bindings.txt for details. 43 - - resets: Must contain an entry for each entry in reset-names. 44 - See ../reset/reset.txt for details. 45 - - reset-names: Must include the following entries: 46 - - vi 47 - 48 - - epp: encoder pre-processor 49 - 50 - Required properties: 51 - - compatible: "nvidia,tegra<chip>-epp" 52 - - reg: Physical base address and length of the controller's registers. 53 - - interrupts: The interrupt outputs from the controller. 54 - - clocks: Must contain one entry, for the module clock. 55 - See ../clocks/clock-bindings.txt for details. 56 - - resets: Must contain an entry for each entry in reset-names. 57 - See ../reset/reset.txt for details. 58 - - reset-names: Must include the following entries: 59 - - epp 60 - 61 - - isp: image signal processor 62 - 63 - Required properties: 64 - - compatible: "nvidia,tegra<chip>-isp" 65 - - reg: Physical base address and length of the controller's registers. 66 - - interrupts: The interrupt outputs from the controller. 67 - - clocks: Must contain one entry, for the module clock. 68 - See ../clocks/clock-bindings.txt for details. 69 - - resets: Must contain an entry for each entry in reset-names. 70 - See ../reset/reset.txt for details. 71 - - reset-names: Must include the following entries: 72 - - isp 73 - 74 - - gr2d: 2D graphics engine 75 - 76 - Required properties: 77 - - compatible: "nvidia,tegra<chip>-gr2d" 78 - - reg: Physical base address and length of the controller's registers. 79 - - interrupts: The interrupt outputs from the controller. 80 - - clocks: Must contain one entry, for the module clock. 81 - See ../clocks/clock-bindings.txt for details. 82 - - resets: Must contain an entry for each entry in reset-names. 83 - See ../reset/reset.txt for details. 84 - - reset-names: Must include the following entries: 85 - - 2d 86 - 87 - - gr3d: 3D graphics engine 88 - 89 - Required properties: 90 - - compatible: "nvidia,tegra<chip>-gr3d" 91 - - reg: Physical base address and length of the controller's registers. 92 - - clocks: Must contain an entry for each entry in clock-names. 93 - See ../clocks/clock-bindings.txt for details. 94 - - clock-names: Must include the following entries: 95 - (This property may be omitted if the only clock in the list is "3d") 96 - - 3d 97 - This MUST be the first entry. 98 - - 3d2 (Only required on SoCs with two 3D clocks) 99 - - resets: Must contain an entry for each entry in reset-names. 100 - See ../reset/reset.txt for details. 101 - - reset-names: Must include the following entries: 102 - - 3d 103 - - 3d2 (Only required on SoCs with two 3D clocks) 104 - 105 - - dc: display controller 106 - 107 - Required properties: 108 - - compatible: "nvidia,tegra<chip>-dc" 109 - - reg: Physical base address and length of the controller's registers. 110 - - interrupts: The interrupt outputs from the controller. 111 - - clocks: Must contain an entry for each entry in clock-names. 112 - See ../clocks/clock-bindings.txt for details. 113 - - clock-names: Must include the following entries: 114 - - dc 115 - This MUST be the first entry. 116 - - parent 117 - - resets: Must contain an entry for each entry in reset-names. 118 - See ../reset/reset.txt for details. 119 - - reset-names: Must include the following entries: 120 - - dc 121 - - nvidia,head: The number of the display controller head. This is used to 122 - setup the various types of output to receive video data from the given 123 - head. 124 - 125 - Each display controller node has a child node, named "rgb", that represents 126 - the RGB output associated with the controller. It can take the following 127 - optional properties: 128 - - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 129 - - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 130 - - nvidia,edid: supplies a binary EDID blob 131 - - nvidia,panel: phandle of a display panel 132 - 133 - - hdmi: High Definition Multimedia Interface 134 - 135 - Required properties: 136 - - compatible: "nvidia,tegra<chip>-hdmi" 137 - - reg: Physical base address and length of the controller's registers. 138 - - interrupts: The interrupt outputs from the controller. 139 - - hdmi-supply: supply for the +5V HDMI connector pin 140 - - vdd-supply: regulator for supply voltage 141 - - pll-supply: regulator for PLL 142 - - clocks: Must contain an entry for each entry in clock-names. 143 - See ../clocks/clock-bindings.txt for details. 144 - - clock-names: Must include the following entries: 145 - - hdmi 146 - This MUST be the first entry. 147 - - parent 148 - - resets: Must contain an entry for each entry in reset-names. 149 - See ../reset/reset.txt for details. 150 - - reset-names: Must include the following entries: 151 - - hdmi 152 - 153 - Optional properties: 154 - - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 155 - - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 156 - - nvidia,edid: supplies a binary EDID blob 157 - - nvidia,panel: phandle of a display panel 158 - 159 - - tvo: TV encoder output 160 - 161 - Required properties: 162 - - compatible: "nvidia,tegra<chip>-tvo" 163 - - reg: Physical base address and length of the controller's registers. 164 - - interrupts: The interrupt outputs from the controller. 165 - - clocks: Must contain one entry, for the module clock. 166 - See ../clocks/clock-bindings.txt for details. 167 - 168 - - dsi: display serial interface 169 - 170 - Required properties: 171 - - compatible: "nvidia,tegra<chip>-dsi" 172 - - reg: Physical base address and length of the controller's registers. 173 - - clocks: Must contain an entry for each entry in clock-names. 174 - See ../clocks/clock-bindings.txt for details. 175 - - clock-names: Must include the following entries: 176 - - dsi 177 - This MUST be the first entry. 178 - - lp 179 - - parent 180 - - resets: Must contain an entry for each entry in reset-names. 181 - See ../reset/reset.txt for details. 182 - - reset-names: Must include the following entries: 183 - - dsi 184 - - avdd-dsi-supply: phandle of a supply that powers the DSI controller 185 - - nvidia,mipi-calibrate: Should contain a phandle and a specifier specifying 186 - which pads are used by this DSI output and need to be calibrated. See also 187 - ../mipi/nvidia,tegra114-mipi.txt. 188 - 189 - Optional properties: 190 - - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 191 - - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 192 - - nvidia,edid: supplies a binary EDID blob 193 - - nvidia,panel: phandle of a display panel 194 - - nvidia,ganged-mode: contains a phandle to a second DSI controller to gang 195 - up with in order to support up to 8 data lanes 196 - 197 - - sor: serial output resource 198 - 199 - Required properties: 200 - - compatible: Should be: 201 - - "nvidia,tegra124-sor": for Tegra124 and Tegra132 202 - - "nvidia,tegra132-sor": for Tegra132 203 - - "nvidia,tegra210-sor": for Tegra210 204 - - "nvidia,tegra210-sor1": for Tegra210 205 - - reg: Physical base address and length of the controller's registers. 206 - - interrupts: The interrupt outputs from the controller. 207 - - clocks: Must contain an entry for each entry in clock-names. 208 - See ../clocks/clock-bindings.txt for details. 209 - - clock-names: Must include the following entries: 210 - - sor: clock input for the SOR hardware 211 - - parent: input for the pixel clock 212 - - dp: reference clock for the SOR clock 213 - - safe: safe reference for the SOR clock during power up 214 - - resets: Must contain an entry for each entry in reset-names. 215 - See ../reset/reset.txt for details. 216 - - reset-names: Must include the following entries: 217 - - sor 218 - 219 - Optional properties: 220 - - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 221 - - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 222 - - nvidia,edid: supplies a binary EDID blob 223 - - nvidia,panel: phandle of a display panel 224 - 225 - Optional properties when driving an eDP output: 226 - - nvidia,dpaux: phandle to a DispayPort AUX interface 227 - 228 - - dpaux: DisplayPort AUX interface 229 - - compatible: For Tegra124, must contain "nvidia,tegra124-dpaux". Otherwise, 230 - must contain '"nvidia,<chip>-dpaux", "nvidia,tegra124-dpaux"', where 231 - <chip> is tegra132. 232 - - reg: Physical base address and length of the controller's registers. 233 - - interrupts: The interrupt outputs from the controller. 234 - - clocks: Must contain an entry for each entry in clock-names. 235 - See ../clocks/clock-bindings.txt for details. 236 - - clock-names: Must include the following entries: 237 - - dpaux: clock input for the DPAUX hardware 238 - - parent: reference clock 239 - - resets: Must contain an entry for each entry in reset-names. 240 - See ../reset/reset.txt for details. 241 - - reset-names: Must include the following entries: 242 - - dpaux 243 - - vdd-supply: phandle of a supply that powers the DisplayPort link 244 - 245 - Example: 246 - 247 - / { 248 - ... 249 - 250 - host1x { 251 - compatible = "nvidia,tegra20-host1x", "simple-bus"; 252 - reg = <0x50000000 0x00024000>; 253 - interrupts = <0 65 0x04 /* mpcore syncpt */ 254 - 0 67 0x04>; /* mpcore general */ 255 - clocks = <&tegra_car TEGRA20_CLK_HOST1X>; 256 - resets = <&tegra_car 28>; 257 - reset-names = "host1x"; 258 - 259 - #address-cells = <1>; 260 - #size-cells = <1>; 261 - 262 - ranges = <0x54000000 0x54000000 0x04000000>; 263 - 264 - mpe { 265 - compatible = "nvidia,tegra20-mpe"; 266 - reg = <0x54040000 0x00040000>; 267 - interrupts = <0 68 0x04>; 268 - clocks = <&tegra_car TEGRA20_CLK_MPE>; 269 - resets = <&tegra_car 60>; 270 - reset-names = "mpe"; 271 - }; 272 - 273 - vi { 274 - compatible = "nvidia,tegra20-vi"; 275 - reg = <0x54080000 0x00040000>; 276 - interrupts = <0 69 0x04>; 277 - clocks = <&tegra_car TEGRA20_CLK_VI>; 278 - resets = <&tegra_car 100>; 279 - reset-names = "vi"; 280 - }; 281 - 282 - epp { 283 - compatible = "nvidia,tegra20-epp"; 284 - reg = <0x540c0000 0x00040000>; 285 - interrupts = <0 70 0x04>; 286 - clocks = <&tegra_car TEGRA20_CLK_EPP>; 287 - resets = <&tegra_car 19>; 288 - reset-names = "epp"; 289 - }; 290 - 291 - isp { 292 - compatible = "nvidia,tegra20-isp"; 293 - reg = <0x54100000 0x00040000>; 294 - interrupts = <0 71 0x04>; 295 - clocks = <&tegra_car TEGRA20_CLK_ISP>; 296 - resets = <&tegra_car 23>; 297 - reset-names = "isp"; 298 - }; 299 - 300 - gr2d { 301 - compatible = "nvidia,tegra20-gr2d"; 302 - reg = <0x54140000 0x00040000>; 303 - interrupts = <0 72 0x04>; 304 - clocks = <&tegra_car TEGRA20_CLK_GR2D>; 305 - resets = <&tegra_car 21>; 306 - reset-names = "2d"; 307 - }; 308 - 309 - gr3d { 310 - compatible = "nvidia,tegra20-gr3d"; 311 - reg = <0x54180000 0x00040000>; 312 - clocks = <&tegra_car TEGRA20_CLK_GR3D>; 313 - resets = <&tegra_car 24>; 314 - reset-names = "3d"; 315 - }; 316 - 317 - dc@54200000 { 318 - compatible = "nvidia,tegra20-dc"; 319 - reg = <0x54200000 0x00040000>; 320 - interrupts = <0 73 0x04>; 321 - clocks = <&tegra_car TEGRA20_CLK_DISP1>, 322 - <&tegra_car TEGRA20_CLK_PLL_P>; 323 - clock-names = "dc", "parent"; 324 - resets = <&tegra_car 27>; 325 - reset-names = "dc"; 326 - 327 - rgb { 328 - status = "disabled"; 329 - }; 330 - }; 331 - 332 - dc@54240000 { 333 - compatible = "nvidia,tegra20-dc"; 334 - reg = <0x54240000 0x00040000>; 335 - interrupts = <0 74 0x04>; 336 - clocks = <&tegra_car TEGRA20_CLK_DISP2>, 337 - <&tegra_car TEGRA20_CLK_PLL_P>; 338 - clock-names = "dc", "parent"; 339 - resets = <&tegra_car 26>; 340 - reset-names = "dc"; 341 - 342 - rgb { 343 - status = "disabled"; 344 - }; 345 - }; 346 - 347 - hdmi { 348 - compatible = "nvidia,tegra20-hdmi"; 349 - reg = <0x54280000 0x00040000>; 350 - interrupts = <0 75 0x04>; 351 - clocks = <&tegra_car TEGRA20_CLK_HDMI>, 352 - <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 353 - clock-names = "hdmi", "parent"; 354 - resets = <&tegra_car 51>; 355 - reset-names = "hdmi"; 356 - status = "disabled"; 357 - }; 358 - 359 - tvo { 360 - compatible = "nvidia,tegra20-tvo"; 361 - reg = <0x542c0000 0x00040000>; 362 - interrupts = <0 76 0x04>; 363 - clocks = <&tegra_car TEGRA20_CLK_TVO>; 364 - status = "disabled"; 365 - }; 366 - 367 - dsi { 368 - compatible = "nvidia,tegra20-dsi"; 369 - reg = <0x54300000 0x00040000>; 370 - clocks = <&tegra_car TEGRA20_CLK_DSI>, 371 - <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 372 - clock-names = "dsi", "parent"; 373 - resets = <&tegra_car 48>; 374 - reset-names = "dsi"; 375 - status = "disabled"; 376 - }; 377 - }; 378 - 379 - ... 380 - };
-241
Documentation/devicetree/bindings/gpu/st,stih4xx.txt
··· 1 - STMicroelectronics stih4xx platforms 2 - 3 - - sti-vtg: video timing generator 4 - Required properties: 5 - - compatible: "st,vtg" 6 - - reg: Physical base address of the IP registers and length of memory mapped region. 7 - Optional properties: 8 - - interrupts : VTG interrupt number to the CPU. 9 - - st,slave: phandle on a slave vtg 10 - 11 - - sti-vtac: video timing advanced inter dye communication Rx and TX 12 - Required properties: 13 - - compatible: "st,vtac-main" or "st,vtac-aux" 14 - - reg: Physical base address of the IP registers and length of memory mapped region. 15 - - clocks: from common clock binding: handle hardware IP needed clocks, the 16 - number of clocks may depend of the SoC type. 17 - See ../clocks/clock-bindings.txt for details. 18 - - clock-names: names of the clocks listed in clocks property in the same 19 - order. 20 - 21 - - sti-display-subsystem: Master device for DRM sub-components 22 - This device must be the parent of all the sub-components and is responsible 23 - of bind them. 24 - Required properties: 25 - - compatible: "st,sti-display-subsystem" 26 - - ranges: to allow probing of subdevices 27 - 28 - - sti-compositor: frame compositor engine 29 - must be a child of sti-display-subsystem 30 - Required properties: 31 - - compatible: "st,stih<chip>-compositor" 32 - - reg: Physical base address of the IP registers and length of memory mapped region. 33 - - clocks: from common clock binding: handle hardware IP needed clocks, the 34 - number of clocks may depend of the SoC type. 35 - See ../clocks/clock-bindings.txt for details. 36 - - clock-names: names of the clocks listed in clocks property in the same 37 - order. 38 - - resets: resets to be used by the device 39 - See ../reset/reset.txt for details. 40 - - reset-names: names of the resets listed in resets property in the same 41 - order. 42 - - st,vtg: phandle(s) on vtg device (main and aux) nodes. 43 - 44 - - sti-tvout: video out hardware block 45 - must be a child of sti-display-subsystem 46 - Required properties: 47 - - compatible: "st,stih<chip>-tvout" 48 - - reg: Physical base address of the IP registers and length of memory mapped region. 49 - - reg-names: names of the mapped memory regions listed in regs property in 50 - the same order. 51 - - resets: resets to be used by the device 52 - See ../reset/reset.txt for details. 53 - - reset-names: names of the resets listed in resets property in the same 54 - order. 55 - 56 - - sti-hdmi: hdmi output block 57 - must be a child of sti-display-subsystem 58 - Required properties: 59 - - compatible: "st,stih<chip>-hdmi"; 60 - - reg: Physical base address of the IP registers and length of memory mapped region. 61 - - reg-names: names of the mapped memory regions listed in regs property in 62 - the same order. 63 - - interrupts : HDMI interrupt number to the CPU. 64 - - interrupt-names: name of the interrupts listed in interrupts property in 65 - the same order 66 - - clocks: from common clock binding: handle hardware IP needed clocks, the 67 - number of clocks may depend of the SoC type. 68 - - clock-names: names of the clocks listed in clocks property in the same 69 - order. 70 - - ddc: phandle of an I2C controller used for DDC EDID probing 71 - 72 - sti-hda: 73 - Required properties: 74 - must be a child of sti-display-subsystem 75 - - compatible: "st,stih<chip>-hda" 76 - - reg: Physical base address of the IP registers and length of memory mapped region. 77 - - reg-names: names of the mapped memory regions listed in regs property in 78 - the same order. 79 - - clocks: from common clock binding: handle hardware IP needed clocks, the 80 - number of clocks may depend of the SoC type. 81 - See ../clocks/clock-bindings.txt for details. 82 - - clock-names: names of the clocks listed in clocks property in the same 83 - order. 84 - 85 - sti-dvo: 86 - Required properties: 87 - must be a child of sti-display-subsystem 88 - - compatible: "st,stih<chip>-dvo" 89 - - reg: Physical base address of the IP registers and length of memory mapped region. 90 - - reg-names: names of the mapped memory regions listed in regs property in 91 - the same order. 92 - - clocks: from common clock binding: handle hardware IP needed clocks, the 93 - number of clocks may depend of the SoC type. 94 - See ../clocks/clock-bindings.txt for details. 95 - - clock-names: names of the clocks listed in clocks property in the same 96 - order. 97 - - pinctrl-0: pin control handle 98 - - pinctrl-name: names of the pin control to use 99 - - sti,panel: phandle of the panel connected to the DVO output 100 - 101 - sti-hqvdp: 102 - must be a child of sti-display-subsystem 103 - Required properties: 104 - - compatible: "st,stih<chip>-hqvdp" 105 - - reg: Physical base address of the IP registers and length of memory mapped region. 106 - - clocks: from common clock binding: handle hardware IP needed clocks, the 107 - number of clocks may depend of the SoC type. 108 - See ../clocks/clock-bindings.txt for details. 109 - - clock-names: names of the clocks listed in clocks property in the same 110 - order. 111 - - resets: resets to be used by the device 112 - See ../reset/reset.txt for details. 113 - - reset-names: names of the resets listed in resets property in the same 114 - order. 115 - - st,vtg: phandle on vtg main device node. 116 - 117 - Example: 118 - 119 - / { 120 - ... 121 - 122 - vtg_main_slave: sti-vtg-main-slave@fe85A800 { 123 - compatible = "st,vtg"; 124 - reg = <0xfe85A800 0x300>; 125 - interrupts = <GIC_SPI 175 IRQ_TYPE_NONE>; 126 - }; 127 - 128 - vtg_main: sti-vtg-main-master@fd348000 { 129 - compatible = "st,vtg"; 130 - reg = <0xfd348000 0x400>; 131 - st,slave = <&vtg_main_slave>; 132 - }; 133 - 134 - vtg_aux_slave: sti-vtg-aux-slave@fd348400 { 135 - compatible = "st,vtg"; 136 - reg = <0xfe858200 0x300>; 137 - interrupts = <GIC_SPI 176 IRQ_TYPE_NONE>; 138 - }; 139 - 140 - vtg_aux: sti-vtg-aux-master@fd348400 { 141 - compatible = "st,vtg"; 142 - reg = <0xfd348400 0x400>; 143 - st,slave = <&vtg_aux_slave>; 144 - }; 145 - 146 - 147 - sti-vtac-rx-main@fee82800 { 148 - compatible = "st,vtac-main"; 149 - reg = <0xfee82800 0x200>; 150 - clock-names = "vtac"; 151 - clocks = <&clk_m_a2_div0 CLK_M_VTAC_MAIN_PHY>; 152 - }; 153 - 154 - sti-vtac-rx-aux@fee82a00 { 155 - compatible = "st,vtac-aux"; 156 - reg = <0xfee82a00 0x200>; 157 - clock-names = "vtac"; 158 - clocks = <&clk_m_a2_div0 CLK_M_VTAC_AUX_PHY>; 159 - }; 160 - 161 - sti-vtac-tx-main@fd349000 { 162 - compatible = "st,vtac-main"; 163 - reg = <0xfd349000 0x200>, <0xfd320000 0x10000>; 164 - clock-names = "vtac"; 165 - clocks = <&clk_s_a1_hs CLK_S_VTAC_TX_PHY>; 166 - }; 167 - 168 - sti-vtac-tx-aux@fd349200 { 169 - compatible = "st,vtac-aux"; 170 - reg = <0xfd349200 0x200>, <0xfd320000 0x10000>; 171 - clock-names = "vtac"; 172 - clocks = <&clk_s_a1_hs CLK_S_VTAC_TX_PHY>; 173 - }; 174 - 175 - sti-display-subsystem { 176 - compatible = "st,sti-display-subsystem"; 177 - ranges; 178 - 179 - sti-compositor@fd340000 { 180 - compatible = "st,stih416-compositor"; 181 - reg = <0xfd340000 0x1000>; 182 - clock-names = "compo_main", "compo_aux", 183 - "pix_main", "pix_aux"; 184 - clocks = <&clk_m_a2_div1 CLK_M_COMPO_MAIN>, <&clk_m_a2_div1 CLK_M_COMPO_AUX>, 185 - <&clockgen_c_vcc CLK_S_PIX_MAIN>, <&clockgen_c_vcc CLK_S_PIX_AUX>; 186 - reset-names = "compo-main", "compo-aux"; 187 - resets = <&softreset STIH416_COMPO_M_SOFTRESET>, <&softreset STIH416_COMPO_A_SOFTRESET>; 188 - st,vtg = <&vtg_main>, <&vtg_aux>; 189 - }; 190 - 191 - sti-tvout@fe000000 { 192 - compatible = "st,stih416-tvout"; 193 - reg = <0xfe000000 0x1000>, <0xfe85a000 0x400>, <0xfe830000 0x10000>; 194 - reg-names = "tvout-reg", "hda-reg", "syscfg"; 195 - reset-names = "tvout"; 196 - resets = <&softreset STIH416_HDTVOUT_SOFTRESET>; 197 - }; 198 - 199 - sti-hdmi@fe85c000 { 200 - compatible = "st,stih416-hdmi"; 201 - reg = <0xfe85c000 0x1000>, <0xfe830000 0x10000>; 202 - reg-names = "hdmi-reg", "syscfg"; 203 - interrupts = <GIC_SPI 173 IRQ_TYPE_NONE>; 204 - interrupt-names = "irq"; 205 - clock-names = "pix", "tmds", "phy", "audio"; 206 - clocks = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>; 207 - }; 208 - 209 - sti-hda@fe85a000 { 210 - compatible = "st,stih416-hda"; 211 - reg = <0xfe85a000 0x400>, <0xfe83085c 0x4>; 212 - reg-names = "hda-reg", "video-dacs-ctrl"; 213 - clock-names = "pix", "hddac"; 214 - clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>; 215 - }; 216 - 217 - sti-dvo@8d00400 { 218 - compatible = "st,stih407-dvo"; 219 - reg = <0x8d00400 0x200>; 220 - reg-names = "dvo-reg"; 221 - clock-names = "dvo_pix", "dvo", 222 - "main_parent", "aux_parent"; 223 - clocks = <&clk_s_d2_flexgen CLK_PIX_DVO>, <&clk_s_d2_flexgen CLK_DVO>, 224 - <&clk_s_d2_quadfs 0>, <&clk_s_d2_quadfs 1>; 225 - pinctrl-names = "default"; 226 - pinctrl-0 = <&pinctrl_dvo>; 227 - sti,panel = <&panel_dvo>; 228 - }; 229 - 230 - sti-hqvdp@9c000000 { 231 - compatible = "st,stih407-hqvdp"; 232 - reg = <0x9C00000 0x100000>; 233 - clock-names = "hqvdp", "pix_main"; 234 - clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>, <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>; 235 - reset-names = "hqvdp"; 236 - resets = <&softreset STIH407_HDQVDP_SOFTRESET>; 237 - st,vtg = <&vtg_main>; 238 - }; 239 - }; 240 - ... 241 - };
Documentation/devicetree/bindings/hid/hid-over-i2c.txt Documentation/devicetree/bindings/input/hid-over-i2c.txt
-18
Documentation/devicetree/bindings/hwmon/ina209.txt
··· 1 - ina209 properties 2 - 3 - Required properties: 4 - - compatible: Must be "ti,ina209" 5 - - reg: I2C address 6 - 7 - Optional properties: 8 - 9 - - shunt-resistor 10 - Shunt resistor value in micro-Ohm 11 - 12 - Example: 13 - 14 - temp-sensor@4c { 15 - compatible = "ti,ina209"; 16 - reg = <0x4c>; 17 - shunt-resistor = <5000>; 18 - };
+1
Documentation/devicetree/bindings/hwmon/ina2xx.txt
··· 2 2 3 3 Required properties: 4 4 - compatible: Must be one of the following: 5 + - "ti,ina209" for ina209 5 6 - "ti,ina219" for ina219 6 7 - "ti,ina220" for ina220 7 8 - "ti,ina226" for ina226
Documentation/devicetree/bindings/hwrng/atmel-trng.txt Documentation/devicetree/bindings/rng/atmel-trng.txt
Documentation/devicetree/bindings/hwrng/brcm,iproc-rng200.txt Documentation/devicetree/bindings/rng/brcm,iproc-rng200.txt
Documentation/devicetree/bindings/hwrng/omap_rng.txt Documentation/devicetree/bindings/rng/omap_rng.txt
Documentation/devicetree/bindings/hwrng/timeriomem_rng.txt Documentation/devicetree/bindings/rng/timeriomem_rng.txt
+2 -1
Documentation/devicetree/bindings/input/ads7846.txt
··· 65 65 pendown-gpio GPIO handle describing the pin the !PENIRQ 66 66 line is connected to. 67 67 wakeup-source use any event on touchscreen as wakeup event. 68 + (Legacy property support: "linux,wakeup") 68 69 69 70 70 71 Example for a TSC2046 chip connected to an McSPI controller of an OMAP SoC:: ··· 87 86 ti,x-plate-ohms = /bits/ 16 <40>; 88 87 ti,pressure-max = /bits/ 16 <255>; 89 88 90 - linux,wakeup; 89 + wakeup-source; 91 90 }; 92 91 };
+1
Documentation/devicetree/bindings/input/gpio-keys-polled.txt
··· 28 28 - debounce-interval: Debouncing interval time in milliseconds. 29 29 If not specified defaults to 5. 30 30 - wakeup-source: Boolean, button can wake-up the system. 31 + (Legacy property supported: "gpio-key,wakeup") 31 32 32 33 Example nodes: 33 34
+1
Documentation/devicetree/bindings/input/gpio-keys.txt
··· 24 24 - debounce-interval: Debouncing interval time in milliseconds. 25 25 If not specified defaults to 5. 26 26 - wakeup-source: Boolean, button can wake-up the system. 27 + (Legacy property supported: "gpio-key,wakeup") 27 28 - linux,can-disable: Boolean, indicates that button is connected 28 29 to dedicated (not shared) interrupt which can be disabled to 29 30 suppress events from the button.
+1
Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt
··· 20 20 Optional Properties: 21 21 - linux,no-autorepeat: do no enable autorepeat feature. 22 22 - wakeup-source: use any event on keypad as wakeup event. 23 + (Legacy property supported: "linux,wakeup") 23 24 - debounce-delay-ms: debounce interval in milliseconds 24 25 - col-scan-delay-us: delay, measured in microseconds, that is needed 25 26 before we can scan keypad after activating column gpio
+2 -1
Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt
··· 29 29 - nvidia,debounce-delay-ms: delay in milliseconds per row scan for debouncing 30 30 - nvidia,repeat-delay-ms: delay in milliseconds before repeat starts 31 31 - nvidia,ghost-filter: enable ghost filtering for this device 32 - - nvidia,wakeup-source: configure keyboard as a wakeup source for suspend/resume 32 + - wakeup-source: configure keyboard as a wakeup source for suspend/resume 33 + (Legacy property supported: "nvidia,wakeup-source") 33 34 34 35 Example: 35 36
+1
Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
··· 37 37 Usage: optional 38 38 Value type: <bool> 39 39 Definition: use any event on keypad as wakeup event. 40 + (Legacy property supported: "linux,keypad-wakeup") 40 41 41 42 - keypad,num-rows: 42 43 Usage: required
+2 -1
Documentation/devicetree/bindings/input/samsung-keypad.txt
··· 38 38 39 39 Optional Properties: 40 40 - wakeup-source: use any event on keypad as wakeup event. 41 + (Legacy property supported: "linux,input-wakeup") 41 42 42 43 Optional Properties specific to linux: 43 44 - linux,keypad-no-autorepeat: do no enable autorepeat feature. ··· 52 51 samsung,keypad-num-rows = <2>; 53 52 samsung,keypad-num-columns = <8>; 54 53 linux,input-no-autorepeat; 55 - linux,input-wakeup; 54 + wakeup-source; 56 55 57 56 pinctrl-names = "default"; 58 57 pinctrl-0 = <&keypad_rows &keypad_columns>;
Documentation/devicetree/bindings/metag/meta-intc.txt Documentation/devicetree/bindings/interrupt-controller/img,meta-intc.txt
Documentation/devicetree/bindings/metag/pdc-intc.txt Documentation/devicetree/bindings/interrupt-controller/img,pdc-intc.txt
+1 -1
Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt
··· 15 15 16 16 The HLCDC IP exposes two subdevices: 17 17 - a PWM chip: see ../pwm/atmel-hlcdc-pwm.txt 18 - - a Display Controller: see ../drm/atmel-hlcdc-dc.txt 18 + - a Display Controller: see ../display/atmel-hlcdc-dc.txt 19 19 20 20 Example: 21 21
+1 -1
Documentation/devicetree/bindings/mfd/sky81452.txt
··· 6 6 7 7 Required child nodes: 8 8 - backlight : container node for backlight following the binding 9 - in video/backlight/sky81452-backlight.txt 9 + in leds/backlight/sky81452-backlight.txt 10 10 - regulator : container node for regulators following the binding 11 11 in regulator/sky81452-regulator.txt 12 12
+1
Documentation/devicetree/bindings/mfd/tc3589x.txt
··· 56 56 bindings/input/matrix-keymap.txt 57 57 - linux,no-autorepeat: do no enable autorepeat feature. 58 58 - wakeup-source: use any event on keypad as wakeup event. 59 + (Legacy property supported: "linux,wakeup") 59 60 60 61 Example: 61 62
Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
Documentation/devicetree/bindings/mipi/nvidia,tegra114-mipi.txt Documentation/devicetree/bindings/display/tegra/nvidia,tegra114-mipi.txt
Documentation/devicetree/bindings/misc/at25.txt Documentation/devicetree/bindings/eeprom/at25.txt
Documentation/devicetree/bindings/misc/bmp085.txt Documentation/devicetree/bindings/iio/pressure/bmp085.txt
Documentation/devicetree/bindings/misc/lis302.txt Documentation/devicetree/bindings/iio/accel/lis302.txt
Documentation/devicetree/bindings/misc/ti,dac7512.txt Documentation/devicetree/bindings/iio/dac/ti,dac7512.txt
+3 -2
Documentation/devicetree/bindings/mmc/mmc.txt
··· 68 68 69 69 Optional SDIO properties: 70 70 - keep-power-in-suspend: Preserves card power during a suspend/resume cycle 71 - - enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion 71 + - wakeup-source: Enables wake up of host system on SDIO IRQ assertion 72 + (Legacy property supported: "enable-sdio-wakeup") 72 73 73 74 74 75 MMC power sequences: ··· 119 118 wp-gpios = <&gpio 70 0>; 120 119 max-frequency = <50000000>; 121 120 keep-power-in-suspend; 122 - enable-sdio-wakeup; 121 + wakeup-source; 123 122 mmc-pwrseq = <&sdhci0_pwrseq> 124 123 } 125 124
Documentation/devicetree/bindings/nvec/nvidia,nvec.txt Documentation/devicetree/bindings/arm/tegra/nvidia,nvec.txt
Documentation/devicetree/bindings/open-pic.txt Documentation/devicetree/bindings/interrupt-controller/open-pic.txt
Documentation/devicetree/bindings/panel/ampire,am800480r3tmqwa1h.txt Documentation/devicetree/bindings/display/panel/ampire,am800480r3tmqwa1h.txt
Documentation/devicetree/bindings/panel/auo,b080uan01.txt Documentation/devicetree/bindings/display/panel/auo,b080uan01.txt
Documentation/devicetree/bindings/panel/auo,b101aw03.txt Documentation/devicetree/bindings/display/panel/auo,b101aw03.txt
Documentation/devicetree/bindings/panel/auo,b101ean01.txt Documentation/devicetree/bindings/display/panel/auo,b101ean01.txt
Documentation/devicetree/bindings/panel/auo,b101xtn01.txt Documentation/devicetree/bindings/display/panel/auo,b101xtn01.txt
Documentation/devicetree/bindings/panel/auo,b116xw03.txt Documentation/devicetree/bindings/display/panel/auo,b116xw03.txt
Documentation/devicetree/bindings/panel/auo,b133htn01.txt Documentation/devicetree/bindings/display/panel/auo,b133htn01.txt
Documentation/devicetree/bindings/panel/auo,b133xtn01.txt Documentation/devicetree/bindings/display/panel/auo,b133xtn01.txt
Documentation/devicetree/bindings/panel/avic,tm070ddh03.txt Documentation/devicetree/bindings/display/panel/avic,tm070ddh03.txt
Documentation/devicetree/bindings/panel/chunghwa,claa101wa01a.txt Documentation/devicetree/bindings/display/panel/chunghwa,claa101wa01a.txt
Documentation/devicetree/bindings/panel/chunghwa,claa101wb03.txt Documentation/devicetree/bindings/display/panel/chunghwa,claa101wb03.txt
Documentation/devicetree/bindings/panel/edt,et057090dhu.txt Documentation/devicetree/bindings/display/panel/edt,et057090dhu.txt
Documentation/devicetree/bindings/panel/edt,et070080dh6.txt Documentation/devicetree/bindings/display/panel/edt,et070080dh6.txt
Documentation/devicetree/bindings/panel/edt,etm0700g0dh6.txt Documentation/devicetree/bindings/display/panel/edt,etm0700g0dh6.txt
Documentation/devicetree/bindings/panel/foxlink,fl500wvr00-a0t.txt Documentation/devicetree/bindings/display/panel/foxlink,fl500wvr00-a0t.txt
Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt Documentation/devicetree/bindings/display/panel/giantplus,gpg482739qs5.txt
Documentation/devicetree/bindings/panel/hannstar,hsd070pww1.txt Documentation/devicetree/bindings/display/panel/hannstar,hsd070pww1.txt
Documentation/devicetree/bindings/panel/hannstar,hsd100pxn1.txt Documentation/devicetree/bindings/display/panel/hannstar,hsd100pxn1.txt
Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt Documentation/devicetree/bindings/display/panel/hit,tx23d38vm0caa.txt
Documentation/devicetree/bindings/panel/innolux,at043tn24.txt Documentation/devicetree/bindings/display/panel/innolux,at043tn24.txt
Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt Documentation/devicetree/bindings/display/panel/innolux,g121i1-l01.txt
Documentation/devicetree/bindings/panel/innolux,n116bge.txt Documentation/devicetree/bindings/display/panel/innolux,n116bge.txt
Documentation/devicetree/bindings/panel/innolux,n156bge-l21.txt Documentation/devicetree/bindings/display/panel/innolux,n156bge-l21.txt
Documentation/devicetree/bindings/panel/innolux,zj070na-01p.txt Documentation/devicetree/bindings/display/panel/innolux,zj070na-01p.txt
Documentation/devicetree/bindings/panel/lg,lb070wv8.txt Documentation/devicetree/bindings/display/panel/lg,lb070wv8.txt
Documentation/devicetree/bindings/panel/lg,ld070wx3-sl01.txt Documentation/devicetree/bindings/display/panel/lg,ld070wx3-sl01.txt
Documentation/devicetree/bindings/panel/lg,lg4573.txt Documentation/devicetree/bindings/display/panel/lg,lg4573.txt
Documentation/devicetree/bindings/panel/lg,lh500wx1-sd03.txt Documentation/devicetree/bindings/display/panel/lg,lh500wx1-sd03.txt
Documentation/devicetree/bindings/panel/lg,lp129qe.txt Documentation/devicetree/bindings/display/panel/lg,lp129qe.txt
Documentation/devicetree/bindings/panel/nec,nl4827hc19-05b.txt Documentation/devicetree/bindings/display/panel/nec,nl4827hc19-05b.txt
Documentation/devicetree/bindings/panel/okaya,rs800480t-7x0gp.txt Documentation/devicetree/bindings/display/panel/okaya,rs800480t-7x0gp.txt
Documentation/devicetree/bindings/panel/ortustech,com43h4m85ulc.txt Documentation/devicetree/bindings/display/panel/ortustech,com43h4m85ulc.txt
Documentation/devicetree/bindings/panel/panasonic,vvx10f004b00.txt Documentation/devicetree/bindings/display/panel/panasonic,vvx10f004b00.txt
-66
Documentation/devicetree/bindings/panel/samsung,ld9040.txt
··· 1 - Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus 2 - 3 - Required properties: 4 - - compatible: "samsung,ld9040" 5 - - reg: address of the panel on SPI bus 6 - - vdd3-supply: core voltage supply 7 - - vci-supply: voltage supply for analog circuits 8 - - reset-gpios: a GPIO spec for the reset pin 9 - - display-timings: timings for the connected panel according to [1] 10 - 11 - The panel must obey rules for SPI slave device specified in document [2]. 12 - 13 - Optional properties: 14 - - power-on-delay: delay after turning regulators on [ms] 15 - - reset-delay: delay after reset sequence [ms] 16 - - panel-width-mm: physical panel width [mm] 17 - - panel-height-mm: physical panel height [mm] 18 - 19 - The device node can contain one 'port' child node with one child 20 - 'endpoint' node, according to the bindings defined in [3]. This 21 - node should describe panel's video bus. 22 - 23 - [1]: Documentation/devicetree/bindings/video/display-timing.txt 24 - [2]: Documentation/devicetree/bindings/spi/spi-bus.txt 25 - [3]: Documentation/devicetree/bindings/media/video-interfaces.txt 26 - 27 - Example: 28 - 29 - lcd@0 { 30 - compatible = "samsung,ld9040"; 31 - reg = <0>; 32 - vdd3-supply = <&ldo7_reg>; 33 - vci-supply = <&ldo17_reg>; 34 - reset-gpios = <&gpy4 5 0>; 35 - spi-max-frequency = <1200000>; 36 - spi-cpol; 37 - spi-cpha; 38 - power-on-delay = <10>; 39 - reset-delay = <10>; 40 - panel-width-mm = <90>; 41 - panel-height-mm = <154>; 42 - 43 - display-timings { 44 - timing { 45 - clock-frequency = <23492370>; 46 - hactive = <480>; 47 - vactive = <800>; 48 - hback-porch = <16>; 49 - hfront-porch = <16>; 50 - vback-porch = <2>; 51 - vfront-porch = <28>; 52 - hsync-len = <2>; 53 - vsync-len = <1>; 54 - hsync-active = <0>; 55 - vsync-active = <0>; 56 - de-active = <0>; 57 - pixelclk-active = <0>; 58 - }; 59 - }; 60 - 61 - port { 62 - lcd_ep: endpoint { 63 - remote-endpoint = <&fimd_dpi_ep>; 64 - }; 65 - }; 66 - };
Documentation/devicetree/bindings/panel/samsung,ltn101nt05.txt Documentation/devicetree/bindings/display/panel/samsung,ltn101nt05.txt
Documentation/devicetree/bindings/panel/samsung,ltn140at29-301.txt Documentation/devicetree/bindings/display/panel/samsung,ltn140at29-301.txt
-56
Documentation/devicetree/bindings/panel/samsung,s6e8aa0.txt
··· 1 - Samsung S6E8AA0 AMOLED LCD 5.3 inch panel 2 - 3 - Required properties: 4 - - compatible: "samsung,s6e8aa0" 5 - - reg: the virtual channel number of a DSI peripheral 6 - - vdd3-supply: core voltage supply 7 - - vci-supply: voltage supply for analog circuits 8 - - reset-gpios: a GPIO spec for the reset pin 9 - - display-timings: timings for the connected panel as described by [1] 10 - 11 - Optional properties: 12 - - power-on-delay: delay after turning regulators on [ms] 13 - - reset-delay: delay after reset sequence [ms] 14 - - init-delay: delay after initialization sequence [ms] 15 - - panel-width-mm: physical panel width [mm] 16 - - panel-height-mm: physical panel height [mm] 17 - - flip-horizontal: boolean to flip image horizontally 18 - - flip-vertical: boolean to flip image vertically 19 - 20 - The device node can contain one 'port' child node with one child 21 - 'endpoint' node, according to the bindings defined in [2]. This 22 - node should describe panel's video bus. 23 - 24 - [1]: Documentation/devicetree/bindings/video/display-timing.txt 25 - [2]: Documentation/devicetree/bindings/media/video-interfaces.txt 26 - 27 - Example: 28 - 29 - panel { 30 - compatible = "samsung,s6e8aa0"; 31 - reg = <0>; 32 - vdd3-supply = <&vcclcd_reg>; 33 - vci-supply = <&vlcd_reg>; 34 - reset-gpios = <&gpy4 5 0>; 35 - power-on-delay= <50>; 36 - reset-delay = <100>; 37 - init-delay = <100>; 38 - panel-width-mm = <58>; 39 - panel-height-mm = <103>; 40 - flip-horizontal; 41 - flip-vertical; 42 - 43 - display-timings { 44 - timing0: timing-0 { 45 - clock-frequency = <57153600>; 46 - hactive = <720>; 47 - vactive = <1280>; 48 - hfront-porch = <5>; 49 - hback-porch = <5>; 50 - hsync-len = <5>; 51 - vfront-porch = <13>; 52 - vback-porch = <1>; 53 - vsync-len = <2>; 54 - }; 55 - }; 56 - };
Documentation/devicetree/bindings/panel/sharp,lq101r1sx01.txt Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.txt
Documentation/devicetree/bindings/panel/shelly,sca07010-bfn-lnn.txt Documentation/devicetree/bindings/display/panel/shelly,sca07010-bfn-lnn.txt
Documentation/devicetree/bindings/panel/simple-panel.txt Documentation/devicetree/bindings/display/panel/simple-panel.txt
+2 -2
Documentation/devicetree/bindings/pci/pci.txt
··· 1 1 PCI bus bridges have standardized Device Tree bindings: 2 2 3 3 PCI Bus Binding to: IEEE Std 1275-1994 4 - http://www.openfirmware.org/ofwg/bindings/pci/pci2_1.pdf 4 + http://www.firmware.org/1275/bindings/pci/pci2_1.pdf 5 5 6 6 And for the interrupt mapping part: 7 7 8 8 Open Firmware Recommended Practice: Interrupt Mapping 9 - http://www.openfirmware.org/1275/practice/imap/imap0_9d.pdf 9 + http://www.firmware.org/1275/practice/imap/imap0_9d.pdf 10 10 11 11 Additionally to the properties specified in the above standards a host bridge 12 12 driver implementation may support the following properties:
+71
Documentation/devicetree/bindings/power/wakeup-source.txt
··· 1 + Specifying wakeup capability for devices 2 + ============================================ 3 + 4 + Any device nodes 5 + ---------------- 6 + Nodes that describe devices which has wakeup capability must contain an 7 + "wakeup-source" boolean property. 8 + 9 + Also, if device is marked as a wakeup source, then all the primary 10 + interrupt(s) can be used as wakeup interrupt(s). 11 + 12 + However if the devices have dedicated interrupt as the wakeup source 13 + then they need to specify/identify the same using device specific 14 + interrupt name. In such cases only that interrupt can be used as wakeup 15 + interrupt. 16 + 17 + List of legacy properties and respective binding document 18 + --------------------------------------------------------- 19 + 20 + 1. "enable-sdio-wakeup" Documentation/devicetree/bindings/mmc/mmc.txt 21 + 2. "gpio-key,wakeup" Documentation/devicetree/bindings/input/gpio-keys{,-polled}.txt 22 + 3. "has-tpo" Documentation/devicetree/bindings/rtc/rtc-opal.txt 23 + 4. "isil,irq2-can-wakeup-machine" Documentation/devicetree/bindings/rtc/isil,isl12057.txt 24 + 5. "linux,wakeup" Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt 25 + Documentation/devicetree/bindings/mfd/tc3589x.txt 26 + Documentation/devicetree/bindings/input/ads7846.txt 27 + 6. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt 28 + 7. "linux,input-wakeup" Documentation/devicetree/bindings/input/samsung-keypad.txt 29 + 8. "nvidia,wakeup-source" Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt 30 + 31 + Examples 32 + -------- 33 + 34 + 1. With "wakeup" interrupt name 35 + 36 + device@10000 { 37 + compatible = "vendor,device-id"; 38 + reg = <0x10000 0x1000>; 39 + interrupts = <0 19 4>, <0 21 4>, <0 22 4>; 40 + interrupt-names = "ack", "err", "wakeup"; 41 + wakeup-source; 42 + }; 43 + 44 + 2. Without "wakeup" interrupt name 45 + 46 + embedded-controller { 47 + compatible = "google,cros-ec-i2c"; 48 + reg = <0x1e>; 49 + interrupts = <6 0>; 50 + interrupt-parent = <&gpx1>; 51 + pinctrl-names = "default"; 52 + pinctrl-0 = <&ec_irq>; 53 + wakeup-source; 54 + }; 55 + 56 + 3. Without interrupts 57 + 58 + gpio_keys { 59 + compatible = "gpio-keys"; 60 + #address-cells = <1>; 61 + #size-cells = <0>; 62 + 63 + button@1 { 64 + debounce_interval = <50>; 65 + wakeup-source; 66 + linux,code = <116>; 67 + label = "POWER"; 68 + gpios = <&iofpga_gpio0 0 0x4>; 69 + }; 70 + [....] 71 + };
+5 -5
Documentation/devicetree/bindings/rtc/isil,isl12057.txt
··· 5 5 line). 6 6 7 7 Nonetheless, it also supports an option boolean property 8 - ("isil,irq2-can-wakeup-machine") to handle the specific use-case found 8 + ("wakeup-source") to handle the specific use-case found 9 9 on at least three in-tree users of the chip (NETGEAR ReadyNAS 102, 104 10 10 and 2120 ARM-based NAS); On those devices, the IRQ#2 pin of the chip 11 11 (associated with the alarm supported by the driver) is not connected ··· 22 22 23 23 Optional properties: 24 24 25 - - "isil,irq2-can-wakeup-machine": mark the chip as a wakeup source, 26 - independently of the availability of an IRQ line connected to the 27 - SoC. 25 + - "wakeup-source": mark the chip as a wakeup source, independently of 26 + the availability of an IRQ line connected to the SoC. 27 + (Legacy property supported: "isil,irq2-can-wakeup-machine") 28 28 29 29 - "interrupt-parent", "interrupts": for passing the interrupt line 30 30 of the SoC connected to IRQ#2 of the RTC chip. ··· 74 74 isl12057: isl12057@68 { 75 75 compatible = "isil,isl12057"; 76 76 reg = <0x68>; 77 - isil,irq2-can-wakeup-machine; 77 + wakeup-source; 78 78 };
+3 -2
Documentation/devicetree/bindings/rtc/rtc-opal.txt
··· 5 5 - comapatible: Should be "ibm,opal-rtc" 6 6 7 7 Optional properties: 8 - - has-tpo: Decides if the wakeup is supported or not. 8 + - wakeup-source: Decides if the wakeup is supported or not 9 + (Legacy property supported: "has-tpo") 9 10 10 11 Example: 11 12 rtc { 12 13 compatible = "ibm,opal-rtc"; 13 - has-tpo; 14 + wakeup-source; 14 15 phandle = <0x10000029>; 15 16 linux,phandle = <0x10000029>; 16 17 };
-1
Documentation/devicetree/bindings/serial/mrvl,pxa-ssp.txt
··· 10 10 mvrl,pxa168-ssp 11 11 mrvl,pxa910-ssp 12 12 mrvl,ce4100-ssp 13 - mrvl,lpss-ssp 14 13 15 14 - reg: The memory base 16 15 - dmas: Two dma phandles, one for rx, one for tx
Documentation/devicetree/bindings/usb/keystone-phy.txt Documentation/devicetree/bindings/phy/keystone-usb-phy.txt
Documentation/devicetree/bindings/usb/mxs-phy.txt Documentation/devicetree/bindings/phy/mxs-usb-phy.txt
Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt
Documentation/devicetree/bindings/usb/qcom,usb-8x16-phy.txt Documentation/devicetree/bindings/phy/qcom,usb-8x16-phy.txt
-117
Documentation/devicetree/bindings/usb/samsung-usbphy.txt
··· 1 - SAMSUNG USB-PHY controllers 2 - 3 - ** Samsung's usb 2.0 phy transceiver 4 - 5 - The Samsung's usb 2.0 phy transceiver is used for controlling 6 - usb 2.0 phy for s3c-hsotg as well as ehci-s5p and ohci-exynos 7 - usb controllers across Samsung SOCs. 8 - TODO: Adding the PHY binding with controller(s) according to the under 9 - development generic PHY driver. 10 - 11 - Required properties: 12 - 13 - Exynos4210: 14 - - compatible : should be "samsung,exynos4210-usb2phy" 15 - - reg : base physical address of the phy registers and length of memory mapped 16 - region. 17 - - clocks: Clock IDs array as required by the controller. 18 - - clock-names: names of clock correseponding IDs clock property as requested 19 - by the controller driver. 20 - 21 - Exynos5250: 22 - - compatible : should be "samsung,exynos5250-usb2phy" 23 - - reg : base physical address of the phy registers and length of memory mapped 24 - region. 25 - 26 - Optional properties: 27 - - #address-cells: should be '1' when usbphy node has a child node with 'reg' 28 - property. 29 - - #size-cells: should be '1' when usbphy node has a child node with 'reg' 30 - property. 31 - - ranges: allows valid translation between child's address space and parent's 32 - address space. 33 - 34 - - The child node 'usbphy-sys' to the node 'usbphy' is for the system controller 35 - interface for usb-phy. It should provide the following information required by 36 - usb-phy controller to control phy. 37 - - reg : base physical address of PHY_CONTROL registers. 38 - The size of this register is the total sum of size of all PHY_CONTROL 39 - registers that the SoC has. For example, the size will be 40 - '0x4' in case we have only one PHY_CONTROL register (e.g. 41 - OTHERS register in S3C64XX or USB_PHY_CONTROL register in S5PV210) 42 - and, '0x8' in case we have two PHY_CONTROL registers (e.g. 43 - USBDEVICE_PHY_CONTROL and USBHOST_PHY_CONTROL registers in exynos4x). 44 - and so on. 45 - 46 - Example: 47 - - Exynos4210 48 - 49 - usbphy@125B0000 { 50 - #address-cells = <1>; 51 - #size-cells = <1>; 52 - compatible = "samsung,exynos4210-usb2phy"; 53 - reg = <0x125B0000 0x100>; 54 - ranges; 55 - 56 - clocks = <&clock 2>, <&clock 305>; 57 - clock-names = "xusbxti", "otg"; 58 - 59 - usbphy-sys { 60 - /* USB device and host PHY_CONTROL registers */ 61 - reg = <0x10020704 0x8>; 62 - }; 63 - }; 64 - 65 - 66 - ** Samsung's usb 3.0 phy transceiver 67 - 68 - Starting exynso5250, Samsung's SoC have usb 3.0 phy transceiver 69 - which is used for controlling usb 3.0 phy for dwc3-exynos usb 3.0 70 - controllers across Samsung SOCs. 71 - 72 - Required properties: 73 - 74 - Exynos5250: 75 - - compatible : should be "samsung,exynos5250-usb3phy" 76 - - reg : base physical address of the phy registers and length of memory mapped 77 - region. 78 - - clocks: Clock IDs array as required by the controller. 79 - - clock-names: names of clocks correseponding to IDs in the clock property 80 - as requested by the controller driver. 81 - 82 - Optional properties: 83 - - #address-cells: should be '1' when usbphy node has a child node with 'reg' 84 - property. 85 - - #size-cells: should be '1' when usbphy node has a child node with 'reg' 86 - property. 87 - - ranges: allows valid translation between child's address space and parent's 88 - address space. 89 - 90 - - The child node 'usbphy-sys' to the node 'usbphy' is for the system controller 91 - interface for usb-phy. It should provide the following information required by 92 - usb-phy controller to control phy. 93 - - reg : base physical address of PHY_CONTROL registers. 94 - The size of this register is the total sum of size of all PHY_CONTROL 95 - registers that the SoC has. For example, the size will be 96 - '0x4' in case we have only one PHY_CONTROL register (e.g. 97 - OTHERS register in S3C64XX or USB_PHY_CONTROL register in S5PV210) 98 - and, '0x8' in case we have two PHY_CONTROL registers (e.g. 99 - USBDEVICE_PHY_CONTROL and USBHOST_PHY_CONTROL registers in exynos4x). 100 - and so on. 101 - 102 - Example: 103 - usbphy@12100000 { 104 - compatible = "samsung,exynos5250-usb3phy"; 105 - reg = <0x12100000 0x100>; 106 - #address-cells = <1>; 107 - #size-cells = <1>; 108 - ranges; 109 - 110 - clocks = <&clock 1>, <&clock 286>; 111 - clock-names = "ext_xtal", "usbdrd30"; 112 - 113 - usbphy-sys { 114 - /* USB device and host PHY_CONTROL registers */ 115 - reg = <0x10040704 0x8>; 116 - }; 117 - };
+2
Documentation/devicetree/bindings/vendor-prefixes.txt
··· 51 51 cloudengines Cloud Engines, Inc. 52 52 cnm Chips&Media, Inc. 53 53 cnxt Conexant Systems, Inc. 54 + compulab CompuLab Ltd. 54 55 cortina Cortina Systems, Inc. 55 56 cosmic Cosmic Circuits 56 57 crystalfontz Crystalfontz America, Inc. ··· 197 196 semtech Semtech Corporation 198 197 sgx SGX Sensortech 199 198 sharp Sharp Corporation 199 + sigma Sigma Designs, Inc. 200 200 sil Silicon Image 201 201 silabs Silicon Laboratories 202 202 siliconmitus Silicon Mitus, Inc.
Documentation/devicetree/bindings/video/adi,adv7123.txt Documentation/devicetree/bindings/display/bridge/adi,adv7123.txt
Documentation/devicetree/bindings/video/adi,adv7511.txt Documentation/devicetree/bindings/display/bridge/adi,adv7511.txt
Documentation/devicetree/bindings/video/analog-tv-connector.txt Documentation/devicetree/bindings/display/connector/analog-tv-connector.txt
Documentation/devicetree/bindings/video/arm,pl11x.txt Documentation/devicetree/bindings/display/arm,pl11x.txt
Documentation/devicetree/bindings/video/atmel,lcdc.txt Documentation/devicetree/bindings/display/atmel,lcdc.txt
Documentation/devicetree/bindings/video/backlight/88pm860x.txt Documentation/devicetree/bindings/leds/backlight/88pm860x.txt
Documentation/devicetree/bindings/video/backlight/gpio-backlight.txt Documentation/devicetree/bindings/leds/backlight/gpio-backlight.txt
Documentation/devicetree/bindings/video/backlight/lp855x.txt Documentation/devicetree/bindings/leds/backlight/lp855x.txt
Documentation/devicetree/bindings/video/backlight/max8925-backlight.txt Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt
Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt Documentation/devicetree/bindings/leds/backlight/pm8941-wled.txt
Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
Documentation/devicetree/bindings/video/backlight/sky81452-backlight.txt Documentation/devicetree/bindings/leds/backlight/sky81452-backlight.txt
Documentation/devicetree/bindings/video/backlight/tps65217-backlight.txt Documentation/devicetree/bindings/leds/backlight/tps65217-backlight.txt
Documentation/devicetree/bindings/video/bridge/ps8622.txt Documentation/devicetree/bindings/display/bridge/ps8622.txt
Documentation/devicetree/bindings/video/bridge/ptn3460.txt Documentation/devicetree/bindings/display/bridge/ptn3460.txt
-47
Documentation/devicetree/bindings/video/cirrus,clps711x-fb.txt
··· 1 - * Currus Logic CLPS711X Framebuffer 2 - 3 - Required properties: 4 - - compatible: Shall contain "cirrus,clps711x-fb". 5 - - reg : Physical base address and length of the controller's registers + 6 - location and size of the framebuffer memory. 7 - - clocks : phandle + clock specifier pair of the FB reference clock. 8 - - display : phandle to a display node as described in 9 - Documentation/devicetree/bindings/video/display-timing.txt. 10 - Additionally, the display node has to define properties: 11 - - bits-per-pixel: Bits per pixel. 12 - - ac-prescale : LCD AC bias frequency. This frequency is the required 13 - AC bias frequency for a given manufacturer's LCD plate. 14 - - cmap-invert : Invert the color levels (Optional). 15 - 16 - Optional properties: 17 - - lcd-supply: Regulator for LCD supply voltage. 18 - 19 - Example: 20 - fb: fb@800002c0 { 21 - compatible = "cirrus,ep7312-fb", "cirrus,clps711x-fb"; 22 - reg = <0x800002c0 0xd44>, <0x60000000 0xc000>; 23 - clocks = <&clks 2>; 24 - lcd-supply = <&reg5v0>; 25 - display = <&display>; 26 - }; 27 - 28 - display: display { 29 - model = "320x240x4"; 30 - native-mode = <&timing0>; 31 - bits-per-pixel = <4>; 32 - ac-prescale = <17>; 33 - 34 - display-timings { 35 - timing0: 320x240 { 36 - hactive = <320>; 37 - hback-porch = <0>; 38 - hfront-porch = <0>; 39 - hsync-len = <0>; 40 - vactive = <240>; 41 - vback-porch = <0>; 42 - vfront-porch = <0>; 43 - vsync-len = <0>; 44 - clock-frequency = <6500000>; 45 - }; 46 - }; 47 - };
Documentation/devicetree/bindings/video/display-timing.txt Documentation/devicetree/bindings/display/panel/display-timing.txt
Documentation/devicetree/bindings/video/dvi-connector.txt Documentation/devicetree/bindings/display/connector/dvi-connector.txt
Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt Documentation/devicetree/bindings/display/rockchip/dw_hdmi-rockchip.txt
Documentation/devicetree/bindings/video/exynos-mic.txt Documentation/devicetree/bindings/display/exynos/exynos-mic.txt
Documentation/devicetree/bindings/video/exynos5433-decon.txt Documentation/devicetree/bindings/display/exynos/exynos5433-decon.txt
-68
Documentation/devicetree/bindings/video/exynos7-decon.txt
··· 1 - Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON) 2 - 3 - DECON (Display and Enhancement Controller) is the Display Controller for the 4 - Exynos7 series of SoCs which transfers the image data from a video memory 5 - buffer to an external LCD interface. 6 - 7 - Required properties: 8 - - compatible: value should be "samsung,exynos7-decon"; 9 - 10 - - reg: physical base address and length of the DECON registers set. 11 - 12 - - interrupt-parent: should be the phandle of the decon controller's 13 - parent interrupt controller. 14 - 15 - - interrupts: should contain a list of all DECON IP block interrupts in the 16 - order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier 17 - format depends on the interrupt controller used. 18 - 19 - - interrupt-names: should contain the interrupt names: "fifo", "vsync", 20 - "lcd_sys", in the same order as they were listed in the interrupts 21 - property. 22 - 23 - - pinctrl-0: pin control group to be used for this controller. 24 - 25 - - pinctrl-names: must contain a "default" entry. 26 - 27 - - clocks: must include clock specifiers corresponding to entries in the 28 - clock-names property. 29 - 30 - - clock-names: list of clock names sorted in the same order as the clocks 31 - property. Must contain "pclk_decon0", "aclk_decon0", 32 - "decon0_eclk", "decon0_vclk". 33 - - i80-if-timings: timing configuration for lcd i80 interface support. 34 - 35 - Optional Properties: 36 - - samsung,power-domain: a phandle to DECON power domain node. 37 - - display-timings: timing settings for DECON, as described in document [1]. 38 - Can be used in case timings cannot be provided otherwise 39 - or to override timings provided by the panel. 40 - 41 - [1]: Documentation/devicetree/bindings/video/display-timing.txt 42 - 43 - Example: 44 - 45 - SoC specific DT entry: 46 - 47 - decon@13930000 { 48 - compatible = "samsung,exynos7-decon"; 49 - interrupt-parent = <&combiner>; 50 - reg = <0x13930000 0x1000>; 51 - interrupt-names = "lcd_sys", "vsync", "fifo"; 52 - interrupts = <0 188 0>, <0 189 0>, <0 190 0>; 53 - clocks = <&clock_disp PCLK_DECON_INT>, 54 - <&clock_disp ACLK_DECON_INT>, 55 - <&clock_disp SCLK_DECON_INT_ECLK>, 56 - <&clock_disp SCLK_DECON_INT_EXTCLKPLL>; 57 - clock-names = "pclk_decon0", "aclk_decon0", "decon0_eclk", 58 - "decon0_vclk"; 59 - status = "disabled"; 60 - }; 61 - 62 - Board specific DT entry: 63 - 64 - decon@13930000 { 65 - pinctrl-0 = <&lcd_clk &pwm1_out>; 66 - pinctrl-names = "default"; 67 - status = "okay"; 68 - };
-120
Documentation/devicetree/bindings/video/exynos_dp.txt
··· 1 - The Exynos display port interface should be configured based on 2 - the type of panel connected to it. 3 - 4 - We use two nodes: 5 - -dp-controller node 6 - -dptx-phy node(defined inside dp-controller node) 7 - 8 - For the DP-PHY initialization, we use the dptx-phy node. 9 - Required properties for dptx-phy: deprecated, use phys and phy-names 10 - -reg: deprecated 11 - Base address of DP PHY register. 12 - -samsung,enable-mask: deprecated 13 - The bit-mask used to enable/disable DP PHY. 14 - 15 - For the Panel initialization, we read data from dp-controller node. 16 - Required properties for dp-controller: 17 - -compatible: 18 - should be "samsung,exynos5-dp". 19 - -reg: 20 - physical base address of the controller and length 21 - of memory mapped region. 22 - -interrupts: 23 - interrupt combiner values. 24 - -clocks: 25 - from common clock binding: handle to dp clock. 26 - -clock-names: 27 - from common clock binding: Shall be "dp". 28 - -interrupt-parent: 29 - phandle to Interrupt combiner node. 30 - -phys: 31 - from general PHY binding: the phandle for the PHY device. 32 - -phy-names: 33 - from general PHY binding: Should be "dp". 34 - -samsung,color-space: 35 - input video data format. 36 - COLOR_RGB = 0, COLOR_YCBCR422 = 1, COLOR_YCBCR444 = 2 37 - -samsung,dynamic-range: 38 - dynamic range for input video data. 39 - VESA = 0, CEA = 1 40 - -samsung,ycbcr-coeff: 41 - YCbCr co-efficients for input video. 42 - COLOR_YCBCR601 = 0, COLOR_YCBCR709 = 1 43 - -samsung,color-depth: 44 - number of bits per colour component. 45 - COLOR_6 = 0, COLOR_8 = 1, COLOR_10 = 2, COLOR_12 = 3 46 - -samsung,link-rate: 47 - link rate supported by the panel. 48 - LINK_RATE_1_62GBPS = 0x6, LINK_RATE_2_70GBPS = 0x0A 49 - -samsung,lane-count: 50 - number of lanes supported by the panel. 51 - LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4 52 - - display-timings: timings for the connected panel as described by 53 - Documentation/devicetree/bindings/video/display-timing.txt 54 - 55 - Optional properties for dp-controller: 56 - -interlaced: 57 - interlace scan mode. 58 - Progressive if defined, Interlaced if not defined 59 - -vsync-active-high: 60 - VSYNC polarity configuration. 61 - High if defined, Low if not defined 62 - -hsync-active-high: 63 - HSYNC polarity configuration. 64 - High if defined, Low if not defined 65 - -samsung,hpd-gpio: 66 - Hotplug detect GPIO. 67 - Indicates which GPIO should be used for hotplug 68 - detection 69 - -video interfaces: Device node can contain video interface port 70 - nodes according to [1]. 71 - 72 - [1]: Documentation/devicetree/bindings/media/video-interfaces.txt 73 - 74 - Example: 75 - 76 - SOC specific portion: 77 - dp-controller { 78 - compatible = "samsung,exynos5-dp"; 79 - reg = <0x145b0000 0x10000>; 80 - interrupts = <10 3>; 81 - interrupt-parent = <&combiner>; 82 - clocks = <&clock 342>; 83 - clock-names = "dp"; 84 - 85 - phys = <&dp_phy>; 86 - phy-names = "dp"; 87 - }; 88 - 89 - Board Specific portion: 90 - dp-controller { 91 - samsung,color-space = <0>; 92 - samsung,dynamic-range = <0>; 93 - samsung,ycbcr-coeff = <0>; 94 - samsung,color-depth = <1>; 95 - samsung,link-rate = <0x0a>; 96 - samsung,lane-count = <4>; 97 - 98 - display-timings { 99 - native-mode = <&lcd_timing>; 100 - lcd_timing: 1366x768 { 101 - clock-frequency = <70589280>; 102 - hactive = <1366>; 103 - vactive = <768>; 104 - hfront-porch = <40>; 105 - hback-porch = <40>; 106 - hsync-len = <32>; 107 - vback-porch = <10>; 108 - vfront-porch = <12>; 109 - vsync-len = <6>; 110 - }; 111 - }; 112 - 113 - ports { 114 - port@0 { 115 - dp_out: endpoint { 116 - remote-endpoint = <&bridge_in>; 117 - }; 118 - }; 119 - }; 120 - };
-103
Documentation/devicetree/bindings/video/exynos_dsim.txt
··· 1 - Exynos MIPI DSI Master 2 - 3 - Required properties: 4 - - compatible: value should be one of the following 5 - "samsung,exynos3250-mipi-dsi" /* for Exynos3250/3472 SoCs */ 6 - "samsung,exynos4210-mipi-dsi" /* for Exynos4 SoCs */ 7 - "samsung,exynos4415-mipi-dsi" /* for Exynos4415 SoC */ 8 - "samsung,exynos5410-mipi-dsi" /* for Exynos5410/5420/5440 SoCs */ 9 - "samsung,exynos5433-mipi-dsi" /* for Exynos5433 SoCs */ 10 - - reg: physical base address and length of the registers set for the device 11 - - interrupts: should contain DSI interrupt 12 - - clocks: list of clock specifiers, must contain an entry for each required 13 - entry in clock-names 14 - - clock-names: should include "bus_clk"and "sclk_mipi" entries 15 - the use of "pll_clk" is deprecated 16 - - phys: list of phy specifiers, must contain an entry for each required 17 - entry in phy-names 18 - - phy-names: should include "dsim" entry 19 - - vddcore-supply: MIPI DSIM Core voltage supply (e.g. 1.1V) 20 - - vddio-supply: MIPI DSIM I/O and PLL voltage supply (e.g. 1.8V) 21 - - samsung,pll-clock-frequency: specifies frequency of the oscillator clock 22 - - #address-cells, #size-cells: should be set respectively to <1> and <0> 23 - according to DSI host bindings (see MIPI DSI bindings [1]) 24 - 25 - Optional properties: 26 - - power-domains: a phandle to DSIM power domain node 27 - 28 - Child nodes: 29 - Should contain DSI peripheral nodes (see MIPI DSI bindings [1]). 30 - 31 - Video interfaces: 32 - Device node can contain video interface port nodes according to [2]. 33 - The following are properties specific to those nodes: 34 - 35 - port node inbound: 36 - - reg: (required) must be 0. 37 - port node outbound: 38 - - reg: (required) must be 1. 39 - 40 - endpoint node connected from mic node (reg = 0): 41 - - remote-endpoint: specifies the endpoint in mic node. This node is required 42 - for Exynos5433 mipi dsi. So mic can access to panel node 43 - thoughout this dsi node. 44 - endpoint node connected to panel node (reg = 1): 45 - - remote-endpoint: specifies the endpoint in panel node. This node is 46 - required in all kinds of exynos mipi dsi to represent 47 - the connection between mipi dsi and panel. 48 - - samsung,burst-clock-frequency: specifies DSI frequency in high-speed burst 49 - mode 50 - - samsung,esc-clock-frequency: specifies DSI frequency in escape mode 51 - 52 - [1]: Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt 53 - [2]: Documentation/devicetree/bindings/media/video-interfaces.txt 54 - 55 - Example: 56 - 57 - dsi@11C80000 { 58 - compatible = "samsung,exynos4210-mipi-dsi"; 59 - reg = <0x11C80000 0x10000>; 60 - interrupts = <0 79 0>; 61 - clocks = <&clock 286>, <&clock 143>; 62 - clock-names = "bus_clk", "sclk_mipi"; 63 - phys = <&mipi_phy 1>; 64 - phy-names = "dsim"; 65 - vddcore-supply = <&vusb_reg>; 66 - vddio-supply = <&vmipi_reg>; 67 - power-domains = <&pd_lcd0>; 68 - #address-cells = <1>; 69 - #size-cells = <0>; 70 - samsung,pll-clock-frequency = <24000000>; 71 - 72 - panel@1 { 73 - reg = <0>; 74 - ... 75 - port { 76 - panel_ep: endpoint { 77 - remote-endpoint = <&dsi_ep>; 78 - }; 79 - }; 80 - }; 81 - 82 - ports { 83 - #address-cells = <1>; 84 - #size-cells = <0>; 85 - 86 - port@0 { 87 - reg = <0>; 88 - decon_to_mic: endpoint { 89 - remote-endpoint = <&mic_to_decon>; 90 - }; 91 - }; 92 - 93 - port@1 { 94 - reg = <1>; 95 - dsi_ep: endpoint { 96 - reg = <0>; 97 - samsung,burst-clock-frequency = <500000000>; 98 - samsung,esc-clock-frequency = <20000000>; 99 - remote-endpoint = <&panel_ep>; 100 - }; 101 - }; 102 - }; 103 - };
Documentation/devicetree/bindings/video/exynos_hdmi.txt Documentation/devicetree/bindings/display/exynos/exynos_hdmi.txt
Documentation/devicetree/bindings/video/exynos_hdmiddc.txt Documentation/devicetree/bindings/display/exynos/exynos_hdmiddc.txt
Documentation/devicetree/bindings/video/exynos_hdmiphy.txt Documentation/devicetree/bindings/display/exynos/exynos_hdmiphy.txt
Documentation/devicetree/bindings/video/exynos_mixer.txt Documentation/devicetree/bindings/display/exynos/exynos_mixer.txt
Documentation/devicetree/bindings/video/fsl,dcu.txt Documentation/devicetree/bindings/display/fsl,dcu.txt
-55
Documentation/devicetree/bindings/video/fsl,imx-fb.txt
··· 1 - Freescale imx21 Framebuffer 2 - 3 - This framebuffer driver supports devices imx1, imx21, imx25, and imx27. 4 - 5 - Required properties: 6 - - compatible : "fsl,<chip>-fb", chip should be imx1 or imx21 7 - - reg : Should contain 1 register ranges(address and length) 8 - - interrupts : One interrupt of the fb dev 9 - 10 - Required nodes: 11 - - display: Phandle to a display node as described in 12 - Documentation/devicetree/bindings/video/display-timing.txt 13 - Additional, the display node has to define properties: 14 - - bits-per-pixel: Bits per pixel 15 - - fsl,pcr: LCDC PCR value 16 - 17 - Optional properties: 18 - - lcd-supply: Regulator for LCD supply voltage. 19 - - fsl,dmacr: DMA Control Register value. This is optional. By default, the 20 - register is not modified as recommended by the datasheet. 21 - - fsl,lpccr: Contrast Control Register value. This property provides the 22 - default value for the contrast control register. 23 - If that property is omitted, the register is zeroed. 24 - - fsl,lscr1: LCDC Sharp Configuration Register value. 25 - 26 - Example: 27 - 28 - imxfb: fb@10021000 { 29 - compatible = "fsl,imx21-fb"; 30 - interrupts = <61>; 31 - reg = <0x10021000 0x1000>; 32 - display = <&display0>; 33 - }; 34 - 35 - ... 36 - 37 - display0: display0 { 38 - model = "Primeview-PD050VL1"; 39 - native-mode = <&timing_disp0>; 40 - bits-per-pixel = <16>; 41 - fsl,pcr = <0xf0c88080>; /* non-standard but required */ 42 - display-timings { 43 - timing_disp0: 640x480 { 44 - hactive = <640>; 45 - vactive = <480>; 46 - hback-porch = <112>; 47 - hfront-porch = <36>; 48 - hsync-len = <32>; 49 - vback-porch = <33>; 50 - vfront-porch = <33>; 51 - vsync-len = <2>; 52 - clock-frequency = <25000000>; 53 - }; 54 - }; 55 - };
Documentation/devicetree/bindings/video/hdmi-connector.txt Documentation/devicetree/bindings/display/connector/hdmi-connector.txt
Documentation/devicetree/bindings/video/lgphilips,lb035q02.txt Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.txt
-45
Documentation/devicetree/bindings/video/panel-dpi.txt
··· 1 - Generic MIPI DPI Panel 2 - ====================== 3 - 4 - Required properties: 5 - - compatible: "panel-dpi" 6 - 7 - Optional properties: 8 - - label: a symbolic name for the panel 9 - - enable-gpios: panel enable gpio 10 - 11 - Required nodes: 12 - - "panel-timing" containing video timings 13 - (Documentation/devicetree/bindings/video/display-timing.txt) 14 - - Video port for DPI input 15 - 16 - Example 17 - ------- 18 - 19 - lcd0: display@0 { 20 - compatible = "samsung,lte430wq-f0c", "panel-dpi"; 21 - label = "lcd"; 22 - 23 - port { 24 - lcd_in: endpoint { 25 - remote-endpoint = <&dpi_out>; 26 - }; 27 - }; 28 - 29 - panel-timing { 30 - clock-frequency = <9200000>; 31 - hactive = <480>; 32 - vactive = <272>; 33 - hfront-porch = <8>; 34 - hback-porch = <4>; 35 - hsync-len = <41>; 36 - vback-porch = <2>; 37 - vfront-porch = <4>; 38 - vsync-len = <10>; 39 - 40 - hsync-active = <0>; 41 - vsync-active = <0>; 42 - de-active = <1>; 43 - pixelclk-active = <1>; 44 - }; 45 - };
Documentation/devicetree/bindings/video/panel-dsi-cm.txt Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt
Documentation/devicetree/bindings/video/renesas,du.txt Documentation/devicetree/bindings/display/renesas,du.txt
-19
Documentation/devicetree/bindings/video/rockchip-drm.txt
··· 1 - Rockchip DRM master device 2 - ================================ 3 - 4 - The Rockchip DRM master device is a virtual device needed to list all 5 - vop devices or other display interface nodes that comprise the 6 - graphics subsystem. 7 - 8 - Required properties: 9 - - compatible: Should be "rockchip,display-subsystem" 10 - - ports: Should contain a list of phandles pointing to display interface port 11 - of vop devices. vop definitions as defined in 12 - Documentation/devicetree/bindings/video/rockchip-vop.txt 13 - 14 - example: 15 - 16 - display-subsystem { 17 - compatible = "rockchip,display-subsystem"; 18 - ports = <&vopl_out>, <&vopb_out>; 19 - };
Documentation/devicetree/bindings/video/rockchip-vop.txt Documentation/devicetree/bindings/display/rockchip/rockchip-vop.txt
-110
Documentation/devicetree/bindings/video/samsung-fimd.txt
··· 1 - Device-Tree bindings for Samsung SoC display controller (FIMD) 2 - 3 - FIMD (Fully Interactive Mobile Display) is the Display Controller for the 4 - Samsung series of SoCs which transfers the image data from a video memory 5 - buffer to an external LCD interface. 6 - 7 - Required properties: 8 - - compatible: value should be one of the following 9 - "samsung,s3c2443-fimd"; /* for S3C24XX SoCs */ 10 - "samsung,s3c6400-fimd"; /* for S3C64XX SoCs */ 11 - "samsung,s5pv210-fimd"; /* for S5PV210 SoC */ 12 - "samsung,exynos3250-fimd"; /* for Exynos3250/3472 SoCs */ 13 - "samsung,exynos4210-fimd"; /* for Exynos4 SoCs */ 14 - "samsung,exynos4415-fimd"; /* for Exynos4415 SoC */ 15 - "samsung,exynos5250-fimd"; /* for Exynos5 SoCs */ 16 - 17 - - reg: physical base address and length of the FIMD registers set. 18 - 19 - - interrupt-parent: should be the phandle of the fimd controller's 20 - parent interrupt controller. 21 - 22 - - interrupts: should contain a list of all FIMD IP block interrupts in the 23 - order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier 24 - format depends on the interrupt controller used. 25 - 26 - - interrupt-names: should contain the interrupt names: "fifo", "vsync", 27 - "lcd_sys", in the same order as they were listed in the interrupts 28 - property. 29 - 30 - - pinctrl-0: pin control group to be used for this controller. 31 - 32 - - pinctrl-names: must contain a "default" entry. 33 - 34 - - clocks: must include clock specifiers corresponding to entries in the 35 - clock-names property. 36 - 37 - - clock-names: list of clock names sorted in the same order as the clocks 38 - property. Must contain "sclk_fimd" and "fimd". 39 - 40 - Optional Properties: 41 - - power-domains: a phandle to FIMD power domain node. 42 - - samsung,invert-vden: video enable signal is inverted 43 - - samsung,invert-vclk: video clock signal is inverted 44 - - display-timings: timing settings for FIMD, as described in document [1]. 45 - Can be used in case timings cannot be provided otherwise 46 - or to override timings provided by the panel. 47 - - samsung,sysreg: handle to syscon used to control the system registers 48 - - i80-if-timings: timing configuration for lcd i80 interface support. 49 - - cs-setup: clock cycles for the active period of address signal is enabled 50 - until chip select is enabled. 51 - If not specified, the default value(0) will be used. 52 - - wr-setup: clock cycles for the active period of CS signal is enabled until 53 - write signal is enabled. 54 - If not specified, the default value(0) will be used. 55 - - wr-active: clock cycles for the active period of CS is enabled. 56 - If not specified, the default value(1) will be used. 57 - - wr-hold: clock cycles for the active period of CS is disabled until write 58 - signal is disabled. 59 - If not specified, the default value(0) will be used. 60 - 61 - The parameters are defined as: 62 - 63 - VCLK(internal) __|??????|_____|??????|_____|??????|_____|??????|_____|?? 64 - : : : : : 65 - Address Output --:<XXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XX 66 - | cs-setup+1 | : : : 67 - |<---------->| : : : 68 - Chip Select ???????????????|____________:____________:____________|?? 69 - | wr-setup+1 | | wr-hold+1 | 70 - |<---------->| |<---------->| 71 - Write Enable ????????????????????????????|____________|??????????????? 72 - | wr-active+1| 73 - |<---------->| 74 - Video Data ----------------------------<XXXXXXXXXXXXXXXXXXXXXXXXX>-- 75 - 76 - The device node can contain 'port' child nodes according to the bindings defined 77 - in [2]. The following are properties specific to those nodes: 78 - - reg: (required) port index, can be: 79 - 0 - for CAMIF0 input, 80 - 1 - for CAMIF1 input, 81 - 2 - for CAMIF2 input, 82 - 3 - for parallel output, 83 - 4 - for write-back interface 84 - 85 - [1]: Documentation/devicetree/bindings/video/display-timing.txt 86 - [2]: Documentation/devicetree/bindings/media/video-interfaces.txt 87 - 88 - Example: 89 - 90 - SoC specific DT entry: 91 - 92 - fimd@11c00000 { 93 - compatible = "samsung,exynos4210-fimd"; 94 - interrupt-parent = <&combiner>; 95 - reg = <0x11c00000 0x20000>; 96 - interrupt-names = "fifo", "vsync", "lcd_sys"; 97 - interrupts = <11 0>, <11 1>, <11 2>; 98 - clocks = <&clock 140>, <&clock 283>; 99 - clock-names = "sclk_fimd", "fimd"; 100 - power-domains = <&pd_lcd0>; 101 - status = "disabled"; 102 - }; 103 - 104 - Board specific DT entry: 105 - 106 - fimd@11c00000 { 107 - pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; 108 - pinctrl-names = "default"; 109 - status = "okay"; 110 - };
Documentation/devicetree/bindings/video/sharp,ls037v7dw01.txt Documentation/devicetree/bindings/display/panel/sharp,ls037v7dw01.txt
Documentation/devicetree/bindings/video/simple-framebuffer-sunxi.txt Documentation/devicetree/bindings/display/simple-framebuffer-sunxi.txt
Documentation/devicetree/bindings/video/simple-framebuffer.txt Documentation/devicetree/bindings/display/simple-framebuffer.txt
Documentation/devicetree/bindings/video/sony,acx565akm.txt Documentation/devicetree/bindings/display/panel/sony,acx565akm.txt
Documentation/devicetree/bindings/video/ssd1289fb.txt Documentation/devicetree/bindings/display/ssd1289fb.txt
Documentation/devicetree/bindings/video/ssd1307fb.txt Documentation/devicetree/bindings/display/ssd1307fb.txt
Documentation/devicetree/bindings/video/thine,thc63lvdm83d Documentation/devicetree/bindings/display/bridge/thine,thc63lvdm83d.txt
-69
Documentation/devicetree/bindings/video/ti,dra7-dss.txt
··· 1 - Texas Instruments DRA7x Display Subsystem 2 - ========================================= 3 - 4 - See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic 5 - description about OMAP Display Subsystem bindings. 6 - 7 - DSS Core 8 - -------- 9 - 10 - Required properties: 11 - - compatible: "ti,dra7-dss" 12 - - reg: address and length of the register spaces for 'dss' 13 - - ti,hwmods: "dss_core" 14 - - clocks: handle to fclk 15 - - clock-names: "fck" 16 - - syscon: phandle to control module core syscon node 17 - 18 - Optional properties: 19 - 20 - Some DRA7xx SoCs have one dedicated video PLL, some have two. These properties 21 - can be used to describe the video PLLs: 22 - 23 - - reg: address and length of the register spaces for 'pll1_clkctrl', 24 - 'pll1', 'pll2_clkctrl', 'pll2' 25 - - clocks: handle to video1 pll clock and video2 pll clock 26 - - clock-names: "video1_clk" and "video2_clk" 27 - 28 - Required nodes: 29 - - DISPC 30 - 31 - Optional nodes: 32 - - DSS Submodules: HDMI 33 - - Video port for DPI output 34 - 35 - DPI Endpoint required properties: 36 - - data-lines: number of lines used 37 - 38 - 39 - DISPC 40 - ----- 41 - 42 - Required properties: 43 - - compatible: "ti,dra7-dispc" 44 - - reg: address and length of the register space 45 - - ti,hwmods: "dss_dispc" 46 - - interrupts: the DISPC interrupt 47 - - clocks: handle to fclk 48 - - clock-names: "fck" 49 - 50 - HDMI 51 - ---- 52 - 53 - Required properties: 54 - - compatible: "ti,dra7-hdmi" 55 - - reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy', 56 - 'core' 57 - - reg-names: "wp", "pll", "phy", "core" 58 - - interrupts: the HDMI interrupt line 59 - - ti,hwmods: "dss_hdmi" 60 - - vdda-supply: vdda power supply 61 - - clocks: handles to fclk and pll clock 62 - - clock-names: "fck", "sys_clk" 63 - 64 - Optional nodes: 65 - - Video port for HDMI output 66 - 67 - HDMI Endpoint optional properties: 68 - - lanes: list of 8 pin numbers for the HDMI lanes: CLK+, CLK-, D0+, D0-, 69 - D1+, D1-, D2+, D2-. (default: 0,1,2,3,4,5,6,7)
Documentation/devicetree/bindings/video/ti,omap-dss.txt Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt
-54
Documentation/devicetree/bindings/video/ti,omap2-dss.txt
··· 1 - Texas Instruments OMAP2 Display Subsystem 2 - ========================================= 3 - 4 - See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic 5 - description about OMAP Display Subsystem bindings. 6 - 7 - DSS Core 8 - -------- 9 - 10 - Required properties: 11 - - compatible: "ti,omap2-dss" 12 - - reg: address and length of the register space 13 - - ti,hwmods: "dss_core" 14 - 15 - Optional nodes: 16 - - Video port for DPI output 17 - 18 - DPI Endpoint required properties: 19 - - data-lines: number of lines used 20 - 21 - 22 - DISPC 23 - ----- 24 - 25 - Required properties: 26 - - compatible: "ti,omap2-dispc" 27 - - reg: address and length of the register space 28 - - ti,hwmods: "dss_dispc" 29 - - interrupts: the DISPC interrupt 30 - 31 - 32 - RFBI 33 - ---- 34 - 35 - Required properties: 36 - - compatible: "ti,omap2-rfbi" 37 - - reg: address and length of the register space 38 - - ti,hwmods: "dss_rfbi" 39 - 40 - 41 - VENC 42 - ---- 43 - 44 - Required properties: 45 - - compatible: "ti,omap2-venc" 46 - - reg: address and length of the register space 47 - - ti,hwmods: "dss_venc" 48 - - vdda-supply: power supply for DAC 49 - 50 - VENC Endpoint required properties: 51 - 52 - Required properties: 53 - - ti,invert-polarity: invert the polarity of the video signal 54 - - ti,channels: 1 for composite, 2 for s-video
-83
Documentation/devicetree/bindings/video/ti,omap3-dss.txt
··· 1 - Texas Instruments OMAP3 Display Subsystem 2 - ========================================= 3 - 4 - See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic 5 - description about OMAP Display Subsystem bindings. 6 - 7 - DSS Core 8 - -------- 9 - 10 - Required properties: 11 - - compatible: "ti,omap3-dss" 12 - - reg: address and length of the register space 13 - - ti,hwmods: "dss_core" 14 - - clocks: handle to fclk 15 - - clock-names: "fck" 16 - 17 - Optional nodes: 18 - - Video ports: 19 - - Port 0: DPI output 20 - - Port 1: SDI output 21 - 22 - DPI Endpoint required properties: 23 - - data-lines: number of lines used 24 - 25 - SDI Endpoint required properties: 26 - - datapairs: number of datapairs used 27 - 28 - 29 - DISPC 30 - ----- 31 - 32 - Required properties: 33 - - compatible: "ti,omap3-dispc" 34 - - reg: address and length of the register space 35 - - ti,hwmods: "dss_dispc" 36 - - interrupts: the DISPC interrupt 37 - - clocks: handle to fclk 38 - - clock-names: "fck" 39 - 40 - 41 - RFBI 42 - ---- 43 - 44 - Required properties: 45 - - compatible: "ti,omap3-rfbi" 46 - - reg: address and length of the register space 47 - - ti,hwmods: "dss_rfbi" 48 - - clocks: handles to fclk and iclk 49 - - clock-names: "fck", "ick" 50 - 51 - 52 - VENC 53 - ---- 54 - 55 - Required properties: 56 - - compatible: "ti,omap3-venc" 57 - - reg: address and length of the register space 58 - - ti,hwmods: "dss_venc" 59 - - vdda-supply: power supply for DAC 60 - - clocks: handle to fclk 61 - - clock-names: "fck" 62 - 63 - VENC Endpoint required properties: 64 - - ti,invert-polarity: invert the polarity of the video signal 65 - - ti,channels: 1 for composite, 2 for s-video 66 - 67 - 68 - DSI 69 - --- 70 - 71 - Required properties: 72 - - compatible: "ti,omap3-dsi" 73 - - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' 74 - - reg-names: "proto", "phy", "pll" 75 - - interrupts: the DSI interrupt line 76 - - ti,hwmods: "dss_dsi1" 77 - - vdd-supply: power supply for DSI 78 - - clocks: handles to fclk and pll clock 79 - - clock-names: "fck", "sys_clk" 80 - 81 - DSI Endpoint required properties: 82 - - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, 83 - DATA1+, DATA1-, ...
-115
Documentation/devicetree/bindings/video/ti,omap4-dss.txt
··· 1 - Texas Instruments OMAP4 Display Subsystem 2 - ========================================= 3 - 4 - See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic 5 - description about OMAP Display Subsystem bindings. 6 - 7 - DSS Core 8 - -------- 9 - 10 - Required properties: 11 - - compatible: "ti,omap4-dss" 12 - - reg: address and length of the register space 13 - - ti,hwmods: "dss_core" 14 - - clocks: handle to fclk 15 - - clock-names: "fck" 16 - 17 - Required nodes: 18 - - DISPC 19 - 20 - Optional nodes: 21 - - DSS Submodules: RFBI, VENC, DSI, HDMI 22 - - Video port for DPI output 23 - 24 - DPI Endpoint required properties: 25 - - data-lines: number of lines used 26 - 27 - 28 - DISPC 29 - ----- 30 - 31 - Required properties: 32 - - compatible: "ti,omap4-dispc" 33 - - reg: address and length of the register space 34 - - ti,hwmods: "dss_dispc" 35 - - interrupts: the DISPC interrupt 36 - - clocks: handle to fclk 37 - - clock-names: "fck" 38 - 39 - 40 - RFBI 41 - ---- 42 - 43 - Required properties: 44 - - compatible: "ti,omap4-rfbi" 45 - - reg: address and length of the register space 46 - - ti,hwmods: "dss_rfbi" 47 - - clocks: handles to fclk and iclk 48 - - clock-names: "fck", "ick" 49 - 50 - Optional nodes: 51 - - Video port for RFBI output 52 - - RFBI controlled peripherals 53 - 54 - 55 - VENC 56 - ---- 57 - 58 - Required properties: 59 - - compatible: "ti,omap4-venc" 60 - - reg: address and length of the register space 61 - - ti,hwmods: "dss_venc" 62 - - vdda-supply: power supply for DAC 63 - - clocks: handle to fclk 64 - - clock-names: "fck" 65 - 66 - Optional nodes: 67 - - Video port for VENC output 68 - 69 - VENC Endpoint required properties: 70 - - ti,invert-polarity: invert the polarity of the video signal 71 - - ti,channels: 1 for composite, 2 for s-video 72 - 73 - 74 - DSI 75 - --- 76 - 77 - Required properties: 78 - - compatible: "ti,omap4-dsi" 79 - - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' 80 - - reg-names: "proto", "phy", "pll" 81 - - interrupts: the DSI interrupt line 82 - - ti,hwmods: "dss_dsi1" or "dss_dsi2" 83 - - vdd-supply: power supply for DSI 84 - - clocks: handles to fclk and pll clock 85 - - clock-names: "fck", "sys_clk" 86 - 87 - Optional nodes: 88 - - Video port for DSI output 89 - - DSI controlled peripherals 90 - 91 - DSI Endpoint required properties: 92 - - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, 93 - DATA1+, DATA1-, ... 94 - 95 - 96 - HDMI 97 - ---- 98 - 99 - Required properties: 100 - - compatible: "ti,omap4-hdmi" 101 - - reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy', 102 - 'core' 103 - - reg-names: "wp", "pll", "phy", "core" 104 - - interrupts: the HDMI interrupt line 105 - - ti,hwmods: "dss_hdmi" 106 - - vdda-supply: vdda power supply 107 - - clocks: handles to fclk and pll clock 108 - - clock-names: "fck", "sys_clk" 109 - 110 - Optional nodes: 111 - - Video port for HDMI output 112 - 113 - HDMI Endpoint optional properties: 114 - - lanes: list of 8 pin numbers for the HDMI lanes: CLK+, CLK-, D0+, D0-, 115 - D1+, D1-, D2+, D2-. (default: 0,1,2,3,4,5,6,7)
-96
Documentation/devicetree/bindings/video/ti,omap5-dss.txt
··· 1 - Texas Instruments OMAP5 Display Subsystem 2 - ========================================= 3 - 4 - See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic 5 - description about OMAP Display Subsystem bindings. 6 - 7 - DSS Core 8 - -------- 9 - 10 - Required properties: 11 - - compatible: "ti,omap5-dss" 12 - - reg: address and length of the register space 13 - - ti,hwmods: "dss_core" 14 - - clocks: handle to fclk 15 - - clock-names: "fck" 16 - 17 - Required nodes: 18 - - DISPC 19 - 20 - Optional nodes: 21 - - DSS Submodules: RFBI, DSI, HDMI 22 - - Video port for DPI output 23 - 24 - DPI Endpoint required properties: 25 - - data-lines: number of lines used 26 - 27 - 28 - DISPC 29 - ----- 30 - 31 - Required properties: 32 - - compatible: "ti,omap5-dispc" 33 - - reg: address and length of the register space 34 - - ti,hwmods: "dss_dispc" 35 - - interrupts: the DISPC interrupt 36 - - clocks: handle to fclk 37 - - clock-names: "fck" 38 - 39 - 40 - RFBI 41 - ---- 42 - 43 - Required properties: 44 - - compatible: "ti,omap5-rfbi" 45 - - reg: address and length of the register space 46 - - ti,hwmods: "dss_rfbi" 47 - - clocks: handles to fclk and iclk 48 - - clock-names: "fck", "ick" 49 - 50 - Optional nodes: 51 - - Video port for RFBI output 52 - - RFBI controlled peripherals 53 - 54 - 55 - DSI 56 - --- 57 - 58 - Required properties: 59 - - compatible: "ti,omap5-dsi" 60 - - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' 61 - - reg-names: "proto", "phy", "pll" 62 - - interrupts: the DSI interrupt line 63 - - ti,hwmods: "dss_dsi1" or "dss_dsi2" 64 - - vdd-supply: power supply for DSI 65 - - clocks: handles to fclk and pll clock 66 - - clock-names: "fck", "sys_clk" 67 - 68 - Optional nodes: 69 - - Video port for DSI output 70 - - DSI controlled peripherals 71 - 72 - DSI Endpoint required properties: 73 - - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, 74 - DATA1+, DATA1-, ... 75 - 76 - 77 - HDMI 78 - ---- 79 - 80 - Required properties: 81 - - compatible: "ti,omap5-hdmi" 82 - - reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy', 83 - 'core' 84 - - reg-names: "wp", "pll", "phy", "core" 85 - - interrupts: the HDMI interrupt line 86 - - ti,hwmods: "dss_hdmi" 87 - - vdda-supply: vdda power supply 88 - - clocks: handles to fclk and pll clock 89 - - clock-names: "fck", "sys_clk" 90 - 91 - Optional nodes: 92 - - Video port for HDMI output 93 - 94 - HDMI Endpoint optional properties: 95 - - lanes: list of 8 pin numbers for the HDMI lanes: CLK+, CLK-, D0+, D0-, 96 - D1+, D1-, D2+, D2-. (default: 0,1,2,3,4,5,6,7)
Documentation/devicetree/bindings/video/ti,opa362.txt Documentation/devicetree/bindings/display/ti/ti,opa362.txt
Documentation/devicetree/bindings/video/ti,tfp410.txt Documentation/devicetree/bindings/display/ti/ti,tfp410.txt
Documentation/devicetree/bindings/video/ti,tpd12s015.txt Documentation/devicetree/bindings/display/ti/ti,tpd12s015.txt
Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt
Documentation/devicetree/bindings/video/tpo,td043mtea1.txt Documentation/devicetree/bindings/display/panel/tpo,td043mtea1.txt
Documentation/devicetree/bindings/video/vga-connector.txt Documentation/devicetree/bindings/display/connector/vga-connector.txt
Documentation/devicetree/bindings/video/via,vt8500-fb.txt Documentation/devicetree/bindings/display/via,vt8500-fb.txt
Documentation/devicetree/bindings/video/wm,prizm-ge-rops.txt Documentation/devicetree/bindings/display/wm,prizm-ge-rops.txt
Documentation/devicetree/bindings/video/wm,wm8505-fb.txt Documentation/devicetree/bindings/display/wm,wm8505-fb.txt
Documentation/devicetree/bindings/x86/interrupt.txt Documentation/devicetree/bindings/interrupt-controller/intel,ce4100-ioapic.txt
+10 -9
MAINTAINERS
··· 3616 3616 F: drivers/gpu/drm/drm_panel.c 3617 3617 F: drivers/gpu/drm/panel/ 3618 3618 F: include/drm/drm_panel.h 3619 - F: Documentation/devicetree/bindings/panel/ 3619 + F: Documentation/devicetree/bindings/display/panel/ 3620 3620 3621 3621 INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets) 3622 3622 M: Daniel Vetter <daniel.vetter@intel.com> ··· 3655 3655 L: dri-devel@lists.freedesktop.org 3656 3656 S: Supported 3657 3657 F: drivers/gpu/drm/fsl-dcu/ 3658 - F: Documentation/devicetree/bindings/video/fsl,dcu.txt 3659 - F: Documentation/devicetree/bindings/panel/nec,nl4827hc19_05b.txt 3658 + F: Documentation/devicetree/bindings/display/fsl,dcu.txt 3659 + F: Documentation/devicetree/bindings/display/panel/nec,nl4827hc19_05b.txt 3660 3660 3661 3661 DRM DRIVERS FOR FREESCALE IMX 3662 3662 M: Philipp Zabel <p.zabel@pengutronix.de> 3663 3663 L: dri-devel@lists.freedesktop.org 3664 3664 S: Maintained 3665 3665 F: drivers/gpu/drm/imx/ 3666 - F: Documentation/devicetree/bindings/drm/imx/ 3666 + F: Documentation/devicetree/bindings/display/imx/ 3667 3667 3668 3668 DRM DRIVERS FOR GMA500 (Poulsbo, Moorestown and derivative chipsets) 3669 3669 M: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> ··· 3684 3684 F: drivers/gpu/host1x/ 3685 3685 F: include/linux/host1x.h 3686 3686 F: include/uapi/drm/tegra_drm.h 3687 - F: Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt 3687 + F: Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt 3688 3688 3689 3689 DRM DRIVERS FOR RENESAS 3690 3690 M: Laurent Pinchart <laurent.pinchart@ideasonboard.com> ··· 3701 3701 L: dri-devel@lists.freedesktop.org 3702 3702 S: Maintained 3703 3703 F: drivers/gpu/drm/rockchip/ 3704 - F: Documentation/devicetree/bindings/video/rockchip* 3704 + F: Documentation/devicetree/bindings/display/rockchip* 3705 3705 3706 3706 DRM DRIVERS FOR STI 3707 3707 M: Benjamin Gaignard <benjamin.gaignard@linaro.org> ··· 3710 3710 T: git http://git.linaro.org/people/benjamin.gaignard/kernel.git 3711 3711 S: Maintained 3712 3712 F: drivers/gpu/drm/sti 3713 - F: Documentation/devicetree/bindings/gpu/st,stih4xx.txt 3713 + F: Documentation/devicetree/bindings/display/st,stih4xx.txt 3714 3714 3715 3715 DSBR100 USB FM RADIO DRIVER 3716 3716 M: Alexey Klimov <klimov.linux@gmail.com> ··· 4403 4403 T: git git://git.kernel.org/pub/scm/linux/kernel/git/plagnioj/linux-fbdev.git 4404 4404 S: Maintained 4405 4405 F: Documentation/fb/ 4406 - F: Documentation/devicetree/bindings/fb/ 4407 4406 F: drivers/video/ 4408 4407 F: include/video/ 4409 4408 F: include/linux/fb.h ··· 6966 6967 F: arch/metag/ 6967 6968 F: Documentation/metag/ 6968 6969 F: Documentation/devicetree/bindings/metag/ 6970 + F: Documentation/devicetree/bindings/interrupt-controller/img,* 6969 6971 F: drivers/clocksource/metag_generic.c 6970 6972 F: drivers/irqchip/irq-metag.c 6971 6973 F: drivers/irqchip/irq-metag-ext.c ··· 9634 9634 M: Hans de Goede <hdegoede@redhat.com> 9635 9635 L: linux-fbdev@vger.kernel.org 9636 9636 S: Maintained 9637 - F: Documentation/devicetree/bindings/video/simple-framebuffer.txt 9637 + F: Documentation/devicetree/bindings/display/simple-framebuffer.txt 9638 9638 F: drivers/video/fbdev/simplefb.c 9639 9639 F: include/linux/platform_data/simplefb.h 9640 9640 ··· 10265 10265 S: Supported 10266 10266 F: arch/arc/ 10267 10267 F: Documentation/devicetree/bindings/arc/* 10268 + F: Documentation/devicetree/bindings/interrupt-controller/snps,arc* 10268 10269 F: drivers/tty/serial/arc_uart.c 10269 10270 T: git git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git 10270 10271
+1 -1
arch/arc/Makefile
··· 121 121 $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@ 122 122 123 123 dtbs: scripts 124 - $(Q)$(MAKE) $(build)=$(boot)/dts dtbs 124 + $(Q)$(MAKE) $(build)=$(boot)/dts 125 125 126 126 archclean: 127 127 $(Q)$(MAKE) $(clean)=$(boot)
+4 -2
arch/arc/boot/dts/Makefile
··· 6 6 endif 7 7 8 8 obj-y += $(builtindtb-y).dtb.o 9 - targets += $(builtindtb-y).dtb 9 + dtb-y := $(builtindtb-y).dtb 10 10 11 11 .SECONDARY: $(obj)/$(builtindtb-y).dtb.S 12 12 13 - dtbs: $(addprefix $(obj)/, $(builtindtb-y).dtb) 13 + dtstree := $(srctree)/$(src) 14 + dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts)) 14 15 16 + always := $(dtb-y) 15 17 clean-files := *.dtb *.dtb.S
+3
arch/arm/boot/dts/Makefile
··· 740 740 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb 741 741 endif 742 742 743 + dtstree := $(srctree)/$(src) 744 + dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts)) 745 + 743 746 always := $(dtb-y) 744 747 clean-files := *.dtb
+6
arch/arm64/boot/dts/Makefile
··· 14 14 dts-dirs += xilinx 15 15 16 16 subdir-y := $(dts-dirs) 17 + 18 + dtstree := $(srctree)/$(src) 19 + 20 + dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(foreach d,$(dts-dirs), $(wildcard $(dtstree)/$(d)/*.dts))) 21 + 22 + always := $(dtb-y)
+3
arch/h8300/boot/dts/Makefile
··· 8 8 dtb-$(CONFIG_H8S_SIM) := h8s_sim.dtb 9 9 dtb-$(CONFIG_H8S_EDOSK2674) := edosk2674.dtb 10 10 11 + dtstree := $(srctree)/$(src) 12 + dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts)) 13 + 11 14 always := $(dtb-y) 12 15 clean-files := *.dtb.S *.dtb
+1 -1
arch/metag/Makefile
··· 72 72 $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@ 73 73 74 74 dtbs: scripts 75 - $(Q)$(MAKE) $(build)=$(boot)/dts dtbs 75 + $(Q)$(MAKE) $(build)=$(boot)/dts 76 76 77 77 archclean: 78 78 $(Q)$(MAKE) $(clean)=$(boot)
+3 -4
arch/metag/boot/dts/Makefile
··· 12 12 dtb-$(CONFIG_METAG_BUILTIN_DTB) += $(builtindtb-y).dtb 13 13 obj-$(CONFIG_METAG_BUILTIN_DTB) += $(builtindtb-y).dtb.o 14 14 15 - targets += dtbs 16 - targets += $(dtb-y) 15 + dtstree := $(srctree)/$(src) 16 + dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts)) 17 17 18 18 .SECONDARY: $(obj)/$(builtindtb-y).dtb.S 19 19 20 - dtbs: $(addprefix $(obj)/, $(dtb-y)) 21 - 20 + always += $(dtb-y) 22 21 clean-files += *.dtb *.dtb.S
+3
arch/mips/boot/dts/Makefile
··· 9 9 10 10 obj-y := $(addsuffix /, $(dts-dirs)) 11 11 12 + dtstree := $(srctree)/$(src) 13 + dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(foreach d,$(dts-dirs), $(wildcard $(dtstree)/$(d)/*.dts))) 14 + 12 15 always := $(dtb-y) 13 16 subdir-y := $(dts-dirs) 14 17 clean-files := *.dtb *.dtb.S
+4
arch/xtensa/Makefile
··· 101 101 %.dtb: 102 102 $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@ 103 103 104 + dtbs: scripts 105 + $(Q)$(MAKE) $(build)=$(boot)/dts 106 + 104 107 define archhelp 105 108 @echo '* zImage - Compressed kernel image (arch/xtensa/boot/images/zImage.*)' 109 + @echo ' dtbs - Build device tree blobs for enabled boards' 106 110 endef
+6 -1
arch/xtensa/boot/dts/Makefile
··· 12 12 obj-$(CONFIG_OF) += $(BUILTIN_DTB) 13 13 endif 14 14 15 - clean-files := *.dtb.S 15 + dtstree := $(srctree)/$(src) 16 + dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts)) 17 + 18 + always += $(dtb-y) 19 + clean-files += *.dtb *.dtb.S 20 +
+10
drivers/of/Kconfig
··· 23 23 24 24 If unsure, say N here, but this option is safe to enable. 25 25 26 + config OF_ALL_DTBS 27 + bool "Build all Device Tree Blobs" 28 + depends on COMPILE_TEST 29 + select DTC 30 + help 31 + This option builds all possible Device Tree Blobs (DTBs) for the 32 + current architecture. 33 + 34 + If unsure, say N here, but this option is safe to enable. 35 + 26 36 config OF_FLATTREE 27 37 bool 28 38 select DTC
+6
drivers/of/address.c
··· 330 330 } 331 331 res->start = port; 332 332 } else { 333 + if ((sizeof(resource_size_t) < 8) && 334 + upper_32_bits(range->cpu_addr)) { 335 + err = -EINVAL; 336 + goto invalid_range; 337 + } 338 + 333 339 res->start = range->cpu_addr; 334 340 } 335 341 res->end = res->start + range->size - 1;
+1 -4
drivers/of/base.c
··· 375 375 cpu, thread)) 376 376 return true; 377 377 378 - if (__of_find_n_match_cpu_property(cpun, "reg", cpu, thread)) 379 - return true; 380 - 381 - return false; 378 + return __of_find_n_match_cpu_property(cpun, "reg", cpu, thread); 382 379 } 383 380 384 381 /**
+8 -4
drivers/of/fdt.c
··· 184 184 struct property *pp, **prev_pp = NULL; 185 185 const char *pathp; 186 186 unsigned int l, allocl; 187 - static int depth = 0; 187 + static int depth; 188 188 int old_depth; 189 189 int offset; 190 190 int has_name = 0; ··· 813 813 if (!p || !l) 814 814 return -ENOENT; 815 815 816 + /* Remove console options if present */ 817 + l = strchrnul(p, ':') - p; 818 + 816 819 /* Get the node specified by stdout-path */ 817 - offset = fdt_path_offset(fdt, p); 820 + offset = fdt_path_offset_namelen(fdt, p, l); 818 821 if (offset < 0) 819 822 return -ENODEV; 820 823 821 824 while (match->compatible[0]) { 822 - unsigned long addr; 825 + u64 addr; 826 + 823 827 if (fdt_node_check_compatible(fdt, offset, match->compatible)) { 824 828 match++; 825 829 continue; 826 830 } 827 831 828 832 addr = fdt_translate_address(fdt, offset); 829 - if (!addr) 833 + if (addr == OF_BAD_ADDR) 830 834 return -ENXIO; 831 835 832 836 of_setup_earlycon(addr, match->data);
+6 -3
drivers/of/irq.c
··· 53 53 * Returns a pointer to the interrupt parent node, or NULL if the interrupt 54 54 * parent could not be determined. 55 55 */ 56 - struct device_node *of_irq_find_parent(struct device_node *child) 56 + static struct device_node *of_irq_find_parent(struct device_node *child) 57 57 { 58 58 struct device_node *p; 59 59 const __be32 *parp; ··· 501 501 * pointer, interrupt-parent device_node etc. 502 502 */ 503 503 desc = kzalloc(sizeof(*desc), GFP_KERNEL); 504 - if (WARN_ON(!desc)) 504 + if (WARN_ON(!desc)) { 505 + of_node_put(np); 505 506 goto err; 507 + } 506 508 507 - desc->dev = np; 509 + desc->dev = of_node_get(np); 508 510 desc->interrupt_parent = of_irq_find_parent(np); 509 511 if (desc->interrupt_parent == np) 510 512 desc->interrupt_parent = NULL; ··· 577 575 err: 578 576 list_for_each_entry_safe(desc, temp_desc, &intc_desc_list, list) { 579 577 list_del(&desc->list); 578 + of_node_put(desc->dev); 580 579 kfree(desc); 581 580 } 582 581 }
+4 -2
drivers/of/of_pci.c
··· 249 249 } 250 250 251 251 err = of_pci_range_to_resource(&range, dev, res); 252 - if (err) 253 - goto conversion_failed; 252 + if (err) { 253 + kfree(res); 254 + continue; 255 + } 254 256 255 257 if (resource_type(res) == IORESOURCE_IO) { 256 258 if (!io_base) {
+42 -1
drivers/of/of_reserved_mem.c
··· 1 1 /* 2 2 * Device tree based initialization code for reserved memory. 3 3 * 4 - * Copyright (c) 2013, The Linux Foundation. All Rights Reserved. 4 + * Copyright (c) 2013, 2015 The Linux Foundation. All Rights Reserved. 5 5 * Copyright (c) 2013,2014 Samsung Electronics Co., Ltd. 6 6 * http://www.samsung.com 7 7 * Author: Marek Szyprowski <m.szyprowski@samsung.com> ··· 20 20 #include <linux/mm.h> 21 21 #include <linux/sizes.h> 22 22 #include <linux/of_reserved_mem.h> 23 + #include <linux/sort.h> 23 24 24 25 #define MAX_RESERVED_REGIONS 16 25 26 static struct reserved_mem reserved_mem[MAX_RESERVED_REGIONS]; ··· 198 197 return -ENOENT; 199 198 } 200 199 200 + static int __init __rmem_cmp(const void *a, const void *b) 201 + { 202 + const struct reserved_mem *ra = a, *rb = b; 203 + 204 + return ra->base - rb->base; 205 + } 206 + 207 + static void __init __rmem_check_for_overlap(void) 208 + { 209 + int i; 210 + 211 + if (reserved_mem_count < 2) 212 + return; 213 + 214 + sort(reserved_mem, reserved_mem_count, sizeof(reserved_mem[0]), 215 + __rmem_cmp, NULL); 216 + for (i = 0; i < reserved_mem_count - 1; i++) { 217 + struct reserved_mem *this, *next; 218 + 219 + this = &reserved_mem[i]; 220 + next = &reserved_mem[i + 1]; 221 + if (!(this->base && next->base)) 222 + continue; 223 + if (this->base + this->size > next->base) { 224 + phys_addr_t this_end, next_end; 225 + 226 + this_end = this->base + this->size; 227 + next_end = next->base + next->size; 228 + WARN(1, 229 + "Reserved memory: OVERLAP DETECTED!\n%s (%pa--%pa) overlaps with %s (%pa--%pa)\n", 230 + this->name, &this->base, &this_end, 231 + next->name, &next->base, &next_end); 232 + } 233 + } 234 + } 235 + 201 236 /** 202 237 * fdt_init_reserved_mem - allocate and init all saved reserved memory regions 203 238 */ 204 239 void __init fdt_init_reserved_mem(void) 205 240 { 206 241 int i; 242 + 243 + /* check for overlapping reserved regions */ 244 + __rmem_check_for_overlap(); 245 + 207 246 for (i = 0; i < reserved_mem_count; i++) { 208 247 struct reserved_mem *rmem = &reserved_mem[i]; 209 248 unsigned long node = rmem->fdt_node;
+4 -1
drivers/of/overlay.c
··· 149 149 pr_err("%s: Failed to apply single node @%s/%s\n", 150 150 __func__, target->full_name, 151 151 child->name); 152 + of_node_put(child); 152 153 return ret; 153 154 } 154 155 } ··· 418 417 return 1; 419 418 420 419 for_each_child_of_node(tree, child) { 421 - if (overlay_subtree_check(child, dn)) 420 + if (overlay_subtree_check(child, dn)) { 421 + of_node_put(child); 422 422 return 1; 423 + } 423 424 } 424 425 425 426 return 0;
+6 -2
drivers/of/platform.c
··· 405 405 if (!of_match_node(matches, child)) 406 406 continue; 407 407 rc = of_platform_bus_create(child, matches, NULL, parent, false); 408 - if (rc) 408 + if (rc) { 409 + of_node_put(child); 409 410 break; 411 + } 410 412 } 411 413 412 414 of_node_put(root); ··· 449 447 450 448 for_each_child_of_node(root, child) { 451 449 rc = of_platform_bus_create(child, matches, lookup, parent, true); 452 - if (rc) 450 + if (rc) { 451 + of_node_put(child); 453 452 break; 453 + } 454 454 } 455 455 of_node_set_flag(root, OF_POPULATED_BUS); 456 456
+6 -2
drivers/of/unittest.c
··· 205 205 if (child->parent != np) { 206 206 pr_err("Child node %s links to wrong parent %s\n", 207 207 child->name, np->name); 208 - return -EINVAL; 208 + rc = -EINVAL; 209 + goto put_child; 209 210 } 210 211 211 212 rc = of_unittest_check_node_linkage(child); 212 213 if (rc < 0) 213 - return rc; 214 + goto put_child; 214 215 count += rc; 215 216 } 216 217 217 218 return count + 1; 219 + put_child: 220 + of_node_put(child); 221 + return rc; 218 222 } 219 223 220 224 static void __init of_unittest_check_tree_linkage(void)
+6 -9
include/linux/of_irq.h
··· 51 51 enum irq_domain_bus_token token); 52 52 extern struct irq_domain *of_msi_map_get_device_domain(struct device *dev, 53 53 u32 rid); 54 + extern void of_msi_configure(struct device *dev, struct device_node *np); 54 55 #else 55 56 static inline int of_irq_count(struct device_node *dev) 56 57 { ··· 81 80 { 82 81 return NULL; 83 82 } 83 + static inline void of_msi_configure(struct device *dev, struct device_node *np) 84 + { 85 + } 84 86 #endif 85 87 86 - #if defined(CONFIG_OF) 88 + #if defined(CONFIG_OF_IRQ) || defined(CONFIG_SPARC) 87 89 /* 88 90 * irq_of_parse_and_map() is used by all OF enabled platforms; but SPARC 89 91 * implements it differently. However, the prototype is the same for all, 90 92 * so declare it here regardless of the CONFIG_OF_IRQ setting. 91 93 */ 92 94 extern unsigned int irq_of_parse_and_map(struct device_node *node, int index); 93 - extern struct device_node *of_irq_find_parent(struct device_node *child); 94 - extern void of_msi_configure(struct device *dev, struct device_node *np); 95 95 u32 of_msi_map_rid(struct device *dev, struct device_node *msi_np, u32 rid_in); 96 96 97 - #else /* !CONFIG_OF */ 97 + #else /* !CONFIG_OF && !CONFIG_SPARC */ 98 98 static inline unsigned int irq_of_parse_and_map(struct device_node *dev, 99 99 int index) 100 100 { 101 101 return 0; 102 - } 103 - 104 - static inline void *of_irq_find_parent(struct device_node *child) 105 - { 106 - return NULL; 107 102 } 108 103 109 104 static inline u32 of_msi_map_rid(struct device *dev,