1b16ed1e6SMirela Rabulea# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2b16ed1e6SMirela Rabulea%YAML 1.2
3b16ed1e6SMirela Rabulea---
4b16ed1e6SMirela Rabulea$id: http://devicetree.org/schemas/media/nxp,imx8-jpeg.yaml#
5b16ed1e6SMirela Rabulea$schema: http://devicetree.org/meta-schemas/core.yaml#
6b16ed1e6SMirela Rabulea
7*dd3cb467SAndrew Lunntitle: i.MX8QXP/QM JPEG decoder/encoder
8b16ed1e6SMirela Rabulea
9b16ed1e6SMirela Rabuleamaintainers:
10b16ed1e6SMirela Rabulea  - Mirela Rabulea <mirela.rabulea@nxp.com>
11b16ed1e6SMirela Rabulea
12b16ed1e6SMirela Rabuleadescription: |-
13b16ed1e6SMirela Rabulea  The JPEG decoder/encoder present in iMX8QXP and iMX8QM SoCs is an
14b16ed1e6SMirela Rabulea  ISO/IEC 10918-1 JPEG standard compliant decoder/encoder, for Baseline
15b16ed1e6SMirela Rabulea  and Extended Sequential DCT modes.
16b16ed1e6SMirela Rabulea
17b16ed1e6SMirela Rabuleaproperties:
18b16ed1e6SMirela Rabulea  compatible:
1971822646SMirela Rabulea    oneOf:
2071822646SMirela Rabulea      - items:
2171822646SMirela Rabulea          enum:
22b16ed1e6SMirela Rabulea            - nxp,imx8qxp-jpgdec
23b16ed1e6SMirela Rabulea            - nxp,imx8qxp-jpgenc
2471822646SMirela Rabulea      - items:
2571822646SMirela Rabulea          - const: nxp,imx8qm-jpgdec
2671822646SMirela Rabulea          - const: nxp,imx8qxp-jpgdec
2771822646SMirela Rabulea      - items:
2871822646SMirela Rabulea          - const: nxp,imx8qm-jpgenc
2971822646SMirela Rabulea          - const: nxp,imx8qxp-jpgenc
30b16ed1e6SMirela Rabulea
31b16ed1e6SMirela Rabulea  reg:
32b16ed1e6SMirela Rabulea    maxItems: 1
33b16ed1e6SMirela Rabulea
34b16ed1e6SMirela Rabulea  interrupts:
35b16ed1e6SMirela Rabulea    description: |
36b16ed1e6SMirela Rabulea      There are 4 slots available in the IP, which the driver may use
37b16ed1e6SMirela Rabulea      If a certain slot is used, it should have an associated interrupt
38b16ed1e6SMirela Rabulea      The interrupt with index i is assumed to be for slot i
39b16ed1e6SMirela Rabulea    minItems: 1               # At least one slot is needed by the driver
40b16ed1e6SMirela Rabulea    maxItems: 4               # The IP has 4 slots available for use
41b16ed1e6SMirela Rabulea
42b16ed1e6SMirela Rabulea  power-domains:
43b16ed1e6SMirela Rabulea    description:
44b16ed1e6SMirela Rabulea      List of phandle and PM domain specifier as documented in
45b16ed1e6SMirela Rabulea      Documentation/devicetree/bindings/power/power_domain.txt
46b16ed1e6SMirela Rabulea    minItems: 2               # Wrapper and 1 slot
47b16ed1e6SMirela Rabulea    maxItems: 5               # Wrapper and 4 slots
48b16ed1e6SMirela Rabulea
49b16ed1e6SMirela Rabulearequired:
50b16ed1e6SMirela Rabulea  - compatible
51b16ed1e6SMirela Rabulea  - reg
52b16ed1e6SMirela Rabulea  - interrupts
53b16ed1e6SMirela Rabulea  - power-domains
54b16ed1e6SMirela Rabulea
55b16ed1e6SMirela RabuleaadditionalProperties: false
56b16ed1e6SMirela Rabulea
57b16ed1e6SMirela Rabuleaexamples:
58b16ed1e6SMirela Rabulea  - |
59b16ed1e6SMirela Rabulea    #include <dt-bindings/interrupt-controller/arm-gic.h>
60b16ed1e6SMirela Rabulea    #include <dt-bindings/firmware/imx/rsrc.h>
61b16ed1e6SMirela Rabulea
62b16ed1e6SMirela Rabulea    jpegdec: jpegdec@58400000 {
63b16ed1e6SMirela Rabulea        compatible = "nxp,imx8qxp-jpgdec";
64b16ed1e6SMirela Rabulea        reg = <0x58400000 0x00050000 >;
65b16ed1e6SMirela Rabulea        interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
66b16ed1e6SMirela Rabulea                     <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
67b16ed1e6SMirela Rabulea                     <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>,
68b16ed1e6SMirela Rabulea                     <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
69b16ed1e6SMirela Rabulea        power-domains = <&pd IMX_SC_R_MJPEG_DEC_MP>,
70b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_DEC_S0>,
71b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_DEC_S1>,
72b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_DEC_S2>,
73b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_DEC_S3>;
74b16ed1e6SMirela Rabulea    };
75b16ed1e6SMirela Rabulea
76b16ed1e6SMirela Rabulea    jpegenc: jpegenc@58450000 {
7771822646SMirela Rabulea        compatible = "nxp,imx8qm-jpgenc", "nxp,imx8qxp-jpgenc";
78b16ed1e6SMirela Rabulea        reg = <0x58450000 0x00050000 >;
79b16ed1e6SMirela Rabulea        interrupts = <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>,
80b16ed1e6SMirela Rabulea                     <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
81b16ed1e6SMirela Rabulea                     <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
82b16ed1e6SMirela Rabulea                     <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
83b16ed1e6SMirela Rabulea        power-domains = <&pd IMX_SC_R_MJPEG_ENC_MP>,
84b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_ENC_S0>,
85b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_ENC_S1>,
86b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_ENC_S2>,
87b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_ENC_S3>;
88b16ed1e6SMirela Rabulea    };
89b16ed1e6SMirela Rabulea...
90