mirror of
https://github.com/AtlasLinux/linux.git
synced 2026-02-02 15:22:09 -08:00
Merge tag 'drm-next-2025-07-30' of https://gitlab.freedesktop.org/drm/kernel
Pull drm updates from Dave Airlie:
"Highlights:
- Intel xe enable Panthor Lake, started adding WildCat Lake
- amdgpu has a bunch of reset improvments along with the usual IP
updates
- msm got VM_BIND support which is important for vulkan sparse memory
- more drm_panic users
- gpusvm common code to handle a bunch of core SVM work outside
drivers.
Detail summary:
Changes outside drm subdirectory:
- 'shrink_shmem_memory()' for better shmem/hibernate interaction
- Rust support infrastructure:
- make ETIMEDOUT available
- add size constants up to SZ_2G
- add DMA coherent allocation bindings
- mtd driver for Intel GPU non-volatile storage
- i2c designware quirk for Intel xe
core:
- atomic helpers: tune enable/disable sequences
- add task info to wedge API
- refactor EDID quirks
- connector: move HDR sink to drm_display_info
- fourcc: half-float and 32-bit float formats
- mode_config: pass format info to simplify
dma-buf:
- heaps: Give CMA heap a stable name
ci:
- add device tree validation and kunit
displayport:
- change AUX DPCD access probe address
- add quirk for DPCD probe
- add panel replay definitions
- backlight control helpers
fbdev:
- make CONFIG_FIRMWARE_EDID available on all arches
fence:
- fix UAF issues
format-helper:
- improve tests
gpusvm:
- introduce devmem only flag for allocation
- add timeslicing support to GPU SVM
ttm:
- improve eviction
sched:
- tracing improvements
- kunit improvements
- memory leak fixes
- reset handling improvements
color mgmt:
- add hardware gamma LUT handling helpers
bridge:
- add destroy hook
- switch to reference counted drm_bridge allocations
- tc358767: convert to devm_drm_bridge_alloc
- improve CEC handling
panel:
- switch to reference counter drm_panel allocations
- fwnode panel lookup
- Huiling hl055fhv028c support
- Raspberry Pi 7" 720x1280 support
- edp: KDC KD116N3730A05, N160JCE-ELL CMN, N116BCJ-EAK
- simple: AUO P238HAN01
- st7701: Winstar wf40eswaa6mnn0
- visionox: rm69299-shift
- Renesas R61307, Renesas R69328 support
- DJN HX83112B
hdmi:
- add CEC handling
- YUV420 output support
xe:
- WildCat Lake support
- Enable PanthorLake by default
- mark BMG as SRIOV capable
- update firmware recommendations
- Expose media OA units
- aux-bux support for non-volatile memory
- MTD intel-dg driver for non-volatile memory
- Expose fan control and voltage regulator in sysfs
- restructure migration for multi-device
- Restore GuC submit UAF fix
- make GEM shrinker drm managed
- SRIOV VF Post-migration recovery of GGTT nodes
- W/A additions/reworks
- Prefetch support for svm ranges
- Don't allocate managed BO for each policy change
- HWMON fixes for BMG
- Create LRC BO without VM
- PCI ID updates
- make SLPC debugfs files optional
- rework eviction rejection of bound external BOs
- consolidate PAT programming logic for pre/post Xe2
- init changes for flicker-free boot
- Enable GuC Dynamic Inhibit Context switch
i915:
- drm_panic support for i915/xe
- initial flip queue off by default for LNL/PNL
- Wildcat Lake Display support
- Support for DSC fractional link bpp
- Support for simultaneous Panel Replay and Adaptive sync
- Support for PTL+ double buffer LUT
- initial PIPEDMC event handling
- drm_panel_follower support
- DPLL interface renames
- allocate struct intel_display dynamically
- flip queue preperation
- abstract DRAM detection better
- avoid GuC scheduling stalls
- remove DG1 force probe requirement
- fix MEI interrupt handler on RT kernels
- use backlight control helpers for eDP
- more shared display code refactoring
amdgpu:
- add userq slot to INFO ioctl
- SR-IOV hibernation support
- Suspend improvements
- Backlight improvements
- Use scaling for non-native eDP modes
- cleaner shader updates for GC 9.x
- Remove fence slab
- SDMA fw checks for userq support
- RAS updates
- DMCUB updates
- DP tunneling fixes
- Display idle D3 support
- Per queue reset improvements
- initial smartmux support
amdkfd:
- enable KFD on loongarch
- mtype fix for ext coherent system memory
radeon:
- CS validation additional GL extensions
- drop console lock during suspend/resume
- bump driver version
msm:
- VM BIND support
- CI: infrastructure updates
- UBWC single source of truth
- decouple GPU and KMS support
- DP: rework I/O accessors
- DPU: SM8750 support
- DSI: SM8750 support
- GPU: X1-45 support and speedbin support for X1-85
- MDSS: SM8750 support
nova:
- register! macro improvements
- DMA object abstraction
- VBIOS parser + fwsec lookup
- sysmem flush page support
- falcon: generic falcon boot code and HAL
- FWSEC-FRTS: fb setup and load/execute
ivpu:
- Add Wildcat Lake support
- Add turbo flag
ast:
- improve hardware generations implementation
imx:
- IMX8qxq Display Controller support
lima:
- Rockchip RK3528 GPU support
nouveau:
- fence handling cleanup
panfrost:
- MT8370 support
- bo labeling
- 64-bit register access
qaic:
- add RAS support
rockchip:
- convert inno_hdmi to a bridge
rz-du:
- add RZ/V2H(P) support
- MIPI-DSI DCS support
sitronix:
- ST7567 support
sun4i:
- add H616 support
tidss:
- add TI AM62L support
- AM65x OLDI bridge support
bochs:
- drm panic support
vkms:
- YUV and R* format support
- use faux device
vmwgfx:
- fence improvements
hyperv:
- move out of simple
- add drm_panic support"
* tag 'drm-next-2025-07-30' of https://gitlab.freedesktop.org/drm/kernel: (1479 commits)
drm/tidss: oldi: convert to devm_drm_bridge_alloc() API
drm/tidss: encoder: convert to devm_drm_bridge_alloc()
drm/amdgpu: move reset support type checks into the caller
drm/amdgpu/sdma7: re-emit unprocessed state on ring reset
drm/amdgpu/sdma6: re-emit unprocessed state on ring reset
drm/amdgpu/sdma5.2: re-emit unprocessed state on ring reset
drm/amdgpu/sdma5: re-emit unprocessed state on ring reset
drm/amdgpu/gfx12: re-emit unprocessed state on ring reset
drm/amdgpu/gfx11: re-emit unprocessed state on ring reset
drm/amdgpu/gfx10: re-emit unprocessed state on ring reset
drm/amdgpu/gfx9.4.3: re-emit unprocessed state on kcq reset
drm/amdgpu/gfx9: re-emit unprocessed state on kcq reset
drm/amdgpu: Add WARN_ON to the resource clear function
drm/amd/pm: Use cached metrics data on SMUv13.0.6
drm/amd/pm: Use cached data for min/max clocks
gpu: nova-core: fix bounds check in PmuLookupTableEntry::new
drm/amdgpu: Replace HQD terminology with slots naming
drm/amdgpu: Add user queue instance count in HW IP info
drm/amd/amdgpu: Add helper functions for isp buffers
drm/amd/amdgpu: Initialize swnode for ISP MFD device
...
This commit is contained in:
@@ -148,3 +148,51 @@ Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RO. Fan 3 speed in RPM.
|
||||
|
||||
Only supported for particular Intel Xe graphics platforms.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_cap
|
||||
Date: May 2025
|
||||
KernelVersion: 6.15
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RW. Card burst (PL2) power limit in microwatts.
|
||||
|
||||
The power controller will throttle the operating frequency
|
||||
if the power averaged over a window (typically milli seconds)
|
||||
exceeds this limit. A read value of 0 means that the PL2
|
||||
power limit is disabled, writing 0 disables the limit.
|
||||
PL2 is greater than PL1 and its time window is lesser
|
||||
compared to PL1.
|
||||
|
||||
Only supported for particular Intel Xe graphics platforms.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power2_cap
|
||||
Date: May 2025
|
||||
KernelVersion: 6.15
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RW. Package burst (PL2) power limit in microwatts.
|
||||
|
||||
The power controller will throttle the operating frequency
|
||||
if the power averaged over a window (typically milli seconds)
|
||||
exceeds this limit. A read value of 0 means that the PL2
|
||||
power limit is disabled, writing 0 disables the limit.
|
||||
PL2 is greater than PL1 and its time window is lesser
|
||||
compared to PL1.
|
||||
|
||||
Only supported for particular Intel Xe graphics platforms.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_cap_interval
|
||||
Date: May 2025
|
||||
KernelVersion: 6.15
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RW. Card burst power limit interval (Tau in PL2/Tau) in
|
||||
milliseconds over which sustained power is averaged.
|
||||
|
||||
Only supported for particular Intel Xe graphics platforms.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power2_cap_interval
|
||||
Date: May 2025
|
||||
KernelVersion: 6.15
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RW. Package burst power limit interval (Tau in PL2/Tau) in
|
||||
milliseconds over which sustained power is averaged.
|
||||
|
||||
Only supported for particular Intel Xe graphics platforms.
|
||||
|
||||
18
Documentation/ABI/testing/sysfs-driver-qaic
Normal file
18
Documentation/ABI/testing/sysfs-driver-qaic
Normal file
@@ -0,0 +1,18 @@
|
||||
What: /sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ce_count
|
||||
Date: May 2025
|
||||
KernelVersion: 6.17
|
||||
Contact: dri-devel@lists.freedesktop.org
|
||||
Description: Number of correctable errors received from device since driver is loaded.
|
||||
|
||||
What: /sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ue_count
|
||||
Date: May 2025
|
||||
KernelVersion: 6.17
|
||||
Contact: dri-devel@lists.freedesktop.org
|
||||
Description: Number of uncorrectable errors received from device since driver is loaded.
|
||||
|
||||
What: /sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ue_nonfatal_count
|
||||
Date: May 2025
|
||||
KernelVersion: 6.17
|
||||
Contact: dri-devel@lists.freedesktop.org
|
||||
Description: Number of uncorrectable non-fatal errors received from device since driver
|
||||
is loaded.
|
||||
@@ -24,9 +24,11 @@ properties:
|
||||
- allwinner,sun50i-a64-de2-mixer-0
|
||||
- allwinner,sun50i-a64-de2-mixer-1
|
||||
- allwinner,sun50i-h6-de3-mixer-0
|
||||
- allwinner,sun50i-h616-de33-mixer-0
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
reg: true
|
||||
|
||||
reg-names: true
|
||||
|
||||
clocks:
|
||||
items:
|
||||
@@ -61,6 +63,34 @@ properties:
|
||||
required:
|
||||
- port@1
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- allwinner,sun50i-h616-de33-mixer-0
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
description: |
|
||||
Registers for controlling individual layers of the display
|
||||
engine (layers), global control (top), and display blending
|
||||
control (display). Names are from Allwinner BSP kernel.
|
||||
maxItems: 3
|
||||
reg-names:
|
||||
items:
|
||||
- const: layers
|
||||
- const: top
|
||||
- const: display
|
||||
required:
|
||||
- reg-names
|
||||
|
||||
else:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-axi-performance-counter.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller AXI Performance Counter
|
||||
|
||||
description: |
|
||||
Performance counters are provided to allow measurement of average bandwidth
|
||||
and latency during operation. The following features are supported:
|
||||
|
||||
* Manual and timer controlled measurement mode.
|
||||
|
||||
* Measurement counters:
|
||||
- GLOBAL_COUNTER for overall measurement time
|
||||
- BUSY_COUNTER for number of data bus busy cycles
|
||||
- DATA_COUNTER for number of data transfer cycles
|
||||
- TRANSFER_COUNTER for number of transfers
|
||||
- ADDRBUSY_COUNTER for number of address bus busy cycles
|
||||
- LATENCY_COUNTER for average latency
|
||||
|
||||
* Counter overflow detection.
|
||||
|
||||
* Outstanding Transfer Counters (OTC) which are used for latency measurement
|
||||
have to run immediately after reset, but can be disabled by software when
|
||||
there is no need for latency measurement.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-axi-performance-counter
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx8-lpcg.h>
|
||||
|
||||
pmu@5618f000 {
|
||||
compatible = "fsl,imx8qxp-dc-axi-performance-counter";
|
||||
reg = <0x5618f000 0x90>;
|
||||
clocks = <&dc0_lpcg IMX_LPCG_CLK_5>;
|
||||
};
|
||||
@@ -0,0 +1,204 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-blit-engine.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Blit Engine
|
||||
|
||||
description: |
|
||||
A blit operation (block based image transfer) reads up to 3 source images
|
||||
from memory and computes one destination image from it, which is written
|
||||
back to memory. The following basic operations are supported:
|
||||
|
||||
* Buffer Fill
|
||||
Fills a buffer with constant color
|
||||
|
||||
* Buffer Copy
|
||||
Copies one source to a destination buffer.
|
||||
|
||||
* Image Blend
|
||||
Combines two source images by a blending equation and writes result to
|
||||
destination (which can be one of the sources).
|
||||
|
||||
* Image Rop2/3
|
||||
Combines up to three source images by a logical equation (raster operation)
|
||||
and writes result to destination (which can be one of the sources).
|
||||
|
||||
* Image Flip
|
||||
Mirrors the source image in horizontal and/or vertical direction.
|
||||
|
||||
* Format Convert
|
||||
Convert between the supported color and buffer formats.
|
||||
|
||||
* Color Transform
|
||||
Modify colors by linear or non-linear transformations.
|
||||
|
||||
* Image Scale
|
||||
Changes size of the source image.
|
||||
|
||||
* Image Rotate
|
||||
Rotates the source image by any angle.
|
||||
|
||||
* Image Filter
|
||||
Performs an FIR filter operation on the source image.
|
||||
|
||||
* Image Warp
|
||||
Performs a re-sampling of the source image with any pattern. The sample
|
||||
point positions are read from a compressed coordinate buffer.
|
||||
|
||||
* Buffer Pack
|
||||
Writes an image with color components stored in up to three different
|
||||
buffers (planar formats) into a single buffer (packed format).
|
||||
|
||||
* Chroma Resample
|
||||
Converts between different YUV formats that differ in chroma sampling rate
|
||||
(4:4:4, 4:2:2, 4:2:0).
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-blit-engine
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
ranges: true
|
||||
|
||||
patternProperties:
|
||||
"^blitblend@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-blitblend
|
||||
|
||||
"^clut@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-clut
|
||||
|
||||
"^fetchdecode@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-fetchdecode
|
||||
|
||||
"^fetcheco@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-fetcheco
|
||||
|
||||
"^fetchwarp@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-fetchwarp
|
||||
|
||||
"^filter@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-filter
|
||||
|
||||
"^hscaler@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-hscaler
|
||||
|
||||
"^matrix@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-matrix
|
||||
|
||||
"^rop@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-rop
|
||||
|
||||
"^store@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-store
|
||||
|
||||
"^vscaler@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-vscaler
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- ranges
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
blit-engine@56180820 {
|
||||
compatible = "fsl,imx8qxp-dc-blit-engine";
|
||||
reg = <0x56180820 0x13c>, <0x56181000 0x3400>;
|
||||
reg-names = "pec", "cfg";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
fetchdecode@56180820 {
|
||||
compatible = "fsl,imx8qxp-dc-fetchdecode";
|
||||
reg = <0x56180820 0x10>, <0x56181000 0x404>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
store@56180940 {
|
||||
compatible = "fsl,imx8qxp-dc-store";
|
||||
reg = <0x56180940 0x1c>, <0x56184000 0x5c>;
|
||||
reg-names = "pec", "cfg";
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <0>, <1>, <2>;
|
||||
interrupt-names = "shdload", "framecomplete", "seqcomplete";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,41 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-blitblend.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Blit Blend Unit
|
||||
|
||||
description:
|
||||
Combines two input frames to a single output frame, all frames having the
|
||||
same dimension.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-blitblend
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
blitblend@56180920 {
|
||||
compatible = "fsl,imx8qxp-dc-blitblend";
|
||||
reg = <0x56180920 0x10>, <0x56183c00 0x3c>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-clut.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Color Lookup Table
|
||||
|
||||
description: |
|
||||
The unit implements 3 look-up tables with 256 x 10 bit entries each. These
|
||||
can be used for different kinds of applications. From 10-bit input values
|
||||
only upper 8 bits are used.
|
||||
|
||||
The unit supports color lookup, index lookup, dithering and alpha masking.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-clut
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
clut@56180880 {
|
||||
compatible = "fsl,imx8qxp-dc-clut";
|
||||
reg = <0x56180880 0x10>, <0x56182400 0x404>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
@@ -0,0 +1,67 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-command-sequencer.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Command Sequencer
|
||||
|
||||
description: |
|
||||
The Command Sequencer is designed to autonomously process command lists.
|
||||
By that it can load setups into the DC configuration and synchronize to
|
||||
hardware events. This releases a system's CPU from workload, because it
|
||||
does not need to wait for certain events. Also it simplifies SW architecture,
|
||||
because no interrupt handlers are required. Setups are read via AXI bus,
|
||||
while write access to configuration registers occurs directly via an internal
|
||||
bus. This saves bandwidth for the AXI interconnect and improves the system
|
||||
architecture in terms of safety aspects.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-command-sequencer
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 5
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: error
|
||||
- const: sw0
|
||||
- const: sw1
|
||||
- const: sw2
|
||||
- const: sw3
|
||||
|
||||
sram:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: phandle pointing to the mmio-sram device node
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx8-lpcg.h>
|
||||
|
||||
command-sequencer@56180400 {
|
||||
compatible = "fsl,imx8qxp-dc-command-sequencer";
|
||||
reg = <0x56180400 0x1a4>;
|
||||
clocks = <&dc0_lpcg IMX_LPCG_CLK_5>;
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <36>, <37>, <38>, <39>, <40>;
|
||||
interrupt-names = "error", "sw0", "sw1", "sw2", "sw3";
|
||||
};
|
||||
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-constframe.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Constant Frame
|
||||
|
||||
description: |
|
||||
The Constant Frame unit is used instead of a Fetch unit where generation of
|
||||
constant color frames only is sufficient. This is the case for the background
|
||||
planes of content and safety streams in a Display Controller.
|
||||
|
||||
The color can be setup to any RGBA value.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-constframe
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
constframe@56180960 {
|
||||
compatible = "fsl,imx8qxp-dc-constframe";
|
||||
reg = <0x56180960 0xc>, <0x56184400 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
@@ -0,0 +1,152 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-display-engine.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Display Engine
|
||||
|
||||
description:
|
||||
All Processing Units that operate in a display clock domain. Pixel pipeline
|
||||
is driven by a video timing and cannot be stalled. Implements all display
|
||||
specific processing.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-display-engine
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: top
|
||||
- const: cfg
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 3
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: shdload
|
||||
- const: framecomplete
|
||||
- const: seqcomplete
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
ranges: true
|
||||
|
||||
patternProperties:
|
||||
"^dither@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-dither
|
||||
|
||||
"^framegen@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-framegen
|
||||
|
||||
"^gammacor@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-gammacor
|
||||
|
||||
"^matrix@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-matrix
|
||||
|
||||
"^signature@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-signature
|
||||
|
||||
"^tcon@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-tcon
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
- power-domains
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- ranges
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx8-lpcg.h>
|
||||
#include <dt-bindings/firmware/imx/rsrc.h>
|
||||
|
||||
display-engine@5618b400 {
|
||||
compatible = "fsl,imx8qxp-dc-display-engine";
|
||||
reg = <0x5618b400 0x14>, <0x5618b800 0x1c00>;
|
||||
reg-names = "top", "cfg";
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <15>, <16>, <17>;
|
||||
interrupt-names = "shdload", "framecomplete", "seqcomplete";
|
||||
power-domains = <&pd IMX_SC_R_DC_0_PLL_0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
framegen@5618b800 {
|
||||
compatible = "fsl,imx8qxp-dc-framegen";
|
||||
reg = <0x5618b800 0x98>;
|
||||
clocks = <&dc0_disp_lpcg IMX_LPCG_CLK_0>;
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <18>, <19>, <20>, <21>, <41>, <42>, <43>, <44>;
|
||||
interrupt-names = "int0", "int1", "int2", "int3",
|
||||
"primsync_on", "primsync_off",
|
||||
"secsync_on", "secsync_off";
|
||||
};
|
||||
|
||||
tcon@5618c800 {
|
||||
compatible = "fsl,imx8qxp-dc-tcon";
|
||||
reg = <0x5618c800 0x588>;
|
||||
|
||||
port {
|
||||
dc0_disp0_dc0_pixel_combiner_ch0: endpoint {
|
||||
remote-endpoint = <&dc0_pixel_combiner_ch0_dc0_disp0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,45 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-dither.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Dither Unit
|
||||
|
||||
description: |
|
||||
The unit can increase the physical color resolution of a display from 5, 6, 7
|
||||
or 8 bits per RGB channel to a virtual resolution of 10 bits. The physical
|
||||
resolution can be set individually for each channel.
|
||||
|
||||
The resolution is increased by mixing the two physical colors that are nearest
|
||||
to the virtual color code in a variable ratio either by time (temporal
|
||||
dithering) or by position (spatial dithering).
|
||||
|
||||
An optimized algorithm for temporal dithering minimizes noise artifacts on the
|
||||
output image.
|
||||
|
||||
The dither operation can be individually enabled or disabled for each pixel
|
||||
using the alpha input bit.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-dither
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
dither@5618c400 {
|
||||
compatible = "fsl,imx8qxp-dc-dither";
|
||||
reg = <0x5618c400 0x14>;
|
||||
};
|
||||
@@ -0,0 +1,72 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-extdst.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller External Destination Interface
|
||||
|
||||
description: |
|
||||
The External Destination unit is the interface between the internal pixel
|
||||
processing pipeline of the Pixel Engine, which is 30-bit RGB plus 8-bit Alpha,
|
||||
and a Display Engine.
|
||||
|
||||
It comprises the following built-in Gamma apply function.
|
||||
|
||||
+------X-----------------------+
|
||||
| | ExtDst Unit |
|
||||
| V |
|
||||
| +-------+ |
|
||||
| | Gamma | |
|
||||
| +-------+ |
|
||||
| | |
|
||||
| V +
|
||||
+------X-----------------------+
|
||||
|
||||
The output format is 24-bit RGB plus 1-bit Alpha. Conversion from 10 to 8
|
||||
bits is done by LSBit truncation. Alpha output bit is 1 for input 255, 0
|
||||
otherwise.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-extdst
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
interrupts:
|
||||
maxItems: 3
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: shdload
|
||||
- const: framecomplete
|
||||
- const: seqcomplete
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
extdst@56180980 {
|
||||
compatible = "fsl,imx8qxp-dc-extdst";
|
||||
reg = <0x56180980 0x1c>, <0x56184800 0x28>;
|
||||
reg-names = "pec", "cfg";
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <3>, <4>, <5>;
|
||||
interrupt-names = "shdload", "framecomplete", "seqcomplete";
|
||||
};
|
||||
@@ -0,0 +1,141 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-fetchunit.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Fetch Unit
|
||||
|
||||
description: |
|
||||
The Fetch Unit is the interface between the AXI bus for source buffer access
|
||||
and the internal pixel processing pipeline, which is 30-bit RGB plus 8-bit
|
||||
Alpha.
|
||||
|
||||
It is used to generate foreground planes in Display Controllers and source
|
||||
planes in Blit Engines, and comprises the following built-in functions to
|
||||
convert a wide range of frame buffer types.
|
||||
|
||||
+---------X-----------------------------------------+
|
||||
| | Fetch Unit |
|
||||
| V |
|
||||
| +---------+ |
|
||||
| | | |
|
||||
| | Decode | Decompression [Decode] |
|
||||
| | | |
|
||||
| +---------+ |
|
||||
| | |
|
||||
| V |
|
||||
| +---------+ |
|
||||
| | Clip & | Clip Window [All] |
|
||||
| | Overlay | Plane composition [Layer, Warp] |
|
||||
| | | |
|
||||
| +---------+ |
|
||||
| | |
|
||||
| V |
|
||||
| +---------+ |
|
||||
| | Re- | Flip/Rotate/Repl./Drop [All] |
|
||||
X--> | sample | Perspective/Affine warping [Persp] |
|
||||
| | | | Arbitrary warping [Warp, Persp] |
|
||||
| | +---------+ |
|
||||
| | | |
|
||||
| | V |
|
||||
| | +---------+ |
|
||||
| | | | |
|
||||
| | | Palette | Color Palette [Layer, Decode] |
|
||||
| | | | |
|
||||
| | +---------+ |
|
||||
| | | |
|
||||
| | V |
|
||||
| | +---------+ |
|
||||
| | | Extract | Raw to RGBA/YUV [All] |
|
||||
| | | & | Bit width expansion [All] |
|
||||
| | | Expand | |
|
||||
| | +---------+ |
|
||||
| | | |
|
||||
| | V |
|
||||
| | +---------+ |
|
||||
| | | | Planar to packed |
|
||||
| |->| Combine | [Decode, Warp, Persp] |
|
||||
| | | | |
|
||||
| | +---------+ |
|
||||
| | | |
|
||||
| | V |
|
||||
| | +---------+ |
|
||||
| | | | YUV422 to YUV444 |
|
||||
| | | Chroma | [Decode, Persp] |
|
||||
| | | | |
|
||||
| | +---------+ |
|
||||
| | | |
|
||||
| | V |
|
||||
| | +---------+ |
|
||||
| | | | YUV to RGB |
|
||||
| | | Color | [Warp, Persp, Decode, Layer] |
|
||||
| | | | |
|
||||
| | +---------+ |
|
||||
| | | |
|
||||
| | V |
|
||||
| | +---------+ |
|
||||
| | | | Gamma removal |
|
||||
| | | Gamma | [Warp, Persp, Decode, Layer] |
|
||||
| | | | |
|
||||
| | +---------+ |
|
||||
| | | |
|
||||
| | V |
|
||||
| | +---------+ |
|
||||
| | | | Alpla multiply, RGB pre-multiply |
|
||||
| ->| Multiply| [Warp, Persp, Decode, Layer] |
|
||||
| | | |
|
||||
| --------- |
|
||||
| | |
|
||||
| V |
|
||||
| +---------+ |
|
||||
| | | Bilinear filter |
|
||||
| | Filter | [Warp, Persp] |
|
||||
| | | |
|
||||
| +---------+ |
|
||||
| | |
|
||||
| V |
|
||||
+---------X-----------------------------------------+
|
||||
|
||||
Note that different derivatives of the Fetch Unit exist. Each implements a
|
||||
specific subset only of the pipeline stages shown above. Restrictions for the
|
||||
units are specified in [square brackets].
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- fsl,imx8qxp-dc-fetchdecode
|
||||
- fsl,imx8qxp-dc-fetcheco
|
||||
- fsl,imx8qxp-dc-fetchlayer
|
||||
- fsl,imx8qxp-dc-fetchwarp
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
fsl,prg:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
Optional Prefetch Resolve Gasket associated with the Fetch Unit.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
fetchlayer@56180ac0 {
|
||||
compatible = "fsl,imx8qxp-dc-fetchlayer";
|
||||
reg = <0x56180ac0 0xc>, <0x56188400 0x404>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
@@ -0,0 +1,43 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-filter.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Filter Unit
|
||||
|
||||
description: |
|
||||
5x5 FIR filter with 25 programmable coefficients.
|
||||
|
||||
Typical applications are image blurring, sharpening or support for edge
|
||||
detection algorithms.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-filter
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
filter@56180900 {
|
||||
compatible = "fsl,imx8qxp-dc-filter";
|
||||
reg = <0x56180900 0x10>, <0x56183800 0x30>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
@@ -0,0 +1,64 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-framegen.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Frame Generator
|
||||
|
||||
description:
|
||||
The Frame Generator (FrameGen) module generates a programmable video timing
|
||||
and optionally allows to synchronize the generated video timing to external
|
||||
synchronization signals.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-framegen
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 8
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: int0
|
||||
- const: int1
|
||||
- const: int2
|
||||
- const: int3
|
||||
- const: primsync_on
|
||||
- const: primsync_off
|
||||
- const: secsync_on
|
||||
- const: secsync_off
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx8-lpcg.h>
|
||||
#include <dt-bindings/firmware/imx/rsrc.h>
|
||||
|
||||
framegen@5618b800 {
|
||||
compatible = "fsl,imx8qxp-dc-framegen";
|
||||
reg = <0x5618b800 0x98>;
|
||||
clocks = <&dc0_disp_lpcg IMX_LPCG_CLK_0>;
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <18>, <19>, <20>, <21>, <41>, <42>, <43>, <44>;
|
||||
interrupt-names = "int0", "int1", "int2", "int3",
|
||||
"primsync_on", "primsync_off",
|
||||
"secsync_on", "secsync_off";
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-gammacor.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Gamma Correction Unit
|
||||
|
||||
description: The unit supports non-linear color transformation.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-gammacor
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
gammacor@5618c000 {
|
||||
compatible = "fsl,imx8qxp-dc-gammacor";
|
||||
reg = <0x5618c000 0x20>;
|
||||
};
|
||||
@@ -0,0 +1,39 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-layerblend.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Layer Blend Unit
|
||||
|
||||
description: Combines two input frames to a single output frame.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-layerblend
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
layerblend@56180ba0 {
|
||||
compatible = "fsl,imx8qxp-dc-layerblend";
|
||||
reg = <0x56180ba0 0x10>, <0x5618a400 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-matrix.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Color Matrix
|
||||
|
||||
description:
|
||||
The unit supports linear color transformation, alpha pre-multiply and
|
||||
alpha masking.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-matrix
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
oneOf:
|
||||
- const: cfg # matrix in display engine
|
||||
- items: # matrix in pixel engine
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
matrix@5618bc00 {
|
||||
compatible = "fsl,imx8qxp-dc-matrix";
|
||||
reg = <0x5618bc00 0x3c>;
|
||||
reg-names = "cfg";
|
||||
};
|
||||
@@ -0,0 +1,250 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Pixel Engine
|
||||
|
||||
description:
|
||||
All Processing Units that operate in the AXI bus clock domain. Pixel
|
||||
pipelines have the ability to stall when a destination is busy. Implements
|
||||
all communication to memory resources and most of the image processing
|
||||
functions. Interconnection of Processing Units is re-configurable.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-pixel-engine
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
ranges: true
|
||||
|
||||
patternProperties:
|
||||
"^blit-engine@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-blit-engine
|
||||
|
||||
"^constframe@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-constframe
|
||||
|
||||
"^extdst@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-extdst
|
||||
|
||||
"^fetchdecode@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-fetchdecode
|
||||
|
||||
"^fetcheco@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-fetcheco
|
||||
|
||||
"^fetchlayer@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-fetchlayer
|
||||
|
||||
"^fetchwarp@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-fetchwarp
|
||||
|
||||
"^hscaler@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-hscaler
|
||||
|
||||
"^layerblend@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-layerblend
|
||||
|
||||
"^matrix@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-matrix
|
||||
|
||||
"^safety@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-safety
|
||||
|
||||
"^vscaler@[0-9a-f]+$":
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-vscaler
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- ranges
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx8-lpcg.h>
|
||||
|
||||
pixel-engine@56180800 {
|
||||
compatible = "fsl,imx8qxp-dc-pixel-engine";
|
||||
reg = <0x56180800 0xac00>;
|
||||
clocks = <&dc0_lpcg IMX_LPCG_CLK_5>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
constframe@56180960 {
|
||||
compatible = "fsl,imx8qxp-dc-constframe";
|
||||
reg = <0x56180960 0xc>, <0x56184400 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
extdst@56180980 {
|
||||
compatible = "fsl,imx8qxp-dc-extdst";
|
||||
reg = <0x56180980 0x1c>, <0x56184800 0x28>;
|
||||
reg-names = "pec", "cfg";
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <3>, <4>, <5>;
|
||||
interrupt-names = "shdload", "framecomplete", "seqcomplete";
|
||||
};
|
||||
|
||||
constframe@561809a0 {
|
||||
compatible = "fsl,imx8qxp-dc-constframe";
|
||||
reg = <0x561809a0 0xc>, <0x56184c00 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
extdst@561809c0 {
|
||||
compatible = "fsl,imx8qxp-dc-extdst";
|
||||
reg = <0x561809c0 0x1c>, <0x56185000 0x28>;
|
||||
reg-names = "pec", "cfg";
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <6>, <7>, <8>;
|
||||
interrupt-names = "shdload", "framecomplete", "seqcomplete";
|
||||
};
|
||||
|
||||
constframe@561809e0 {
|
||||
compatible = "fsl,imx8qxp-dc-constframe";
|
||||
reg = <0x561809e0 0xc>, <0x56185400 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
extdst@56180a00 {
|
||||
compatible = "fsl,imx8qxp-dc-extdst";
|
||||
reg = <0x56180a00 0x1c>, <0x56185800 0x28>;
|
||||
reg-names = "pec", "cfg";
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <9>, <10>, <11>;
|
||||
interrupt-names = "shdload", "framecomplete", "seqcomplete";
|
||||
};
|
||||
|
||||
constframe@56180a20 {
|
||||
compatible = "fsl,imx8qxp-dc-constframe";
|
||||
reg = <0x56180a20 0xc>, <0x56185c00 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
extdst@56180a40 {
|
||||
compatible = "fsl,imx8qxp-dc-extdst";
|
||||
reg = <0x56180a40 0x1c>, <0x56186000 0x28>;
|
||||
reg-names = "pec", "cfg";
|
||||
interrupt-parent = <&dc0_intc>;
|
||||
interrupts = <12>, <13>, <14>;
|
||||
interrupt-names = "shdload", "framecomplete", "seqcomplete";
|
||||
};
|
||||
|
||||
fetchwarp@56180a60 {
|
||||
compatible = "fsl,imx8qxp-dc-fetchwarp";
|
||||
reg = <0x56180a60 0x10>, <0x56186400 0x190>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
fetchlayer@56180ac0 {
|
||||
compatible = "fsl,imx8qxp-dc-fetchlayer";
|
||||
reg = <0x56180ac0 0xc>, <0x56188400 0x404>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
layerblend@56180ba0 {
|
||||
compatible = "fsl,imx8qxp-dc-layerblend";
|
||||
reg = <0x56180ba0 0x10>, <0x5618a400 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
layerblend@56180bc0 {
|
||||
compatible = "fsl,imx8qxp-dc-layerblend";
|
||||
reg = <0x56180bc0 0x10>, <0x5618a800 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
layerblend@56180be0 {
|
||||
compatible = "fsl,imx8qxp-dc-layerblend";
|
||||
reg = <0x56180be0 0x10>, <0x5618ac00 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
|
||||
layerblend@56180c00 {
|
||||
compatible = "fsl,imx8qxp-dc-layerblend";
|
||||
reg = <0x56180c00 0x10>, <0x5618b000 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,43 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-rop.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Display Controller Raster Operation Unit
|
||||
|
||||
description: |
|
||||
The unit can combine up to three input frames to a single output frame, all
|
||||
having the same dimension.
|
||||
|
||||
The unit supports logic operations, arithmetic operations and packing.
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qxp-dc-rop
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pec
|
||||
- const: cfg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
rop@56180860 {
|
||||
compatible = "fsl,imx8qxp-dc-rop";
|
||||
reg = <0x56180860 0x10>, <0x56182000 0x20>;
|
||||
reg-names = "pec", "cfg";
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user