xref: /linux/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml (revision 0cdee263bc5e7b20f657ea09f9272f50c568f35b) !
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
7dd3cb467SAndrew 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:
25*401fb195SFrank Li          - enum:
26*401fb195SFrank Li              - nxp,imx8qm-jpgdec
27*401fb195SFrank Li              - nxp,imx95-jpgdec
2871822646SMirela Rabulea          - const: nxp,imx8qxp-jpgdec
2971822646SMirela Rabulea      - items:
30*401fb195SFrank Li          - enum:
31*401fb195SFrank Li              - nxp,imx8qm-jpgenc
32*401fb195SFrank Li              - nxp,imx95-jpgenc
3371822646SMirela Rabulea          - const: nxp,imx8qxp-jpgenc
34b16ed1e6SMirela Rabulea
35b16ed1e6SMirela Rabulea  reg:
36b16ed1e6SMirela Rabulea    maxItems: 1
37b16ed1e6SMirela Rabulea
38e32b4567SFabio Estevam  clocks:
39e32b4567SFabio Estevam    items:
40e32b4567SFabio Estevam      - description: AXI DMA engine clock for fetching JPEG bitstream from memory (per)
41e32b4567SFabio Estevam      - description: IP bus clock for register access (ipg)
42e32b4567SFabio Estevam
43b16ed1e6SMirela Rabulea  interrupts:
44b16ed1e6SMirela Rabulea    description: |
45b16ed1e6SMirela Rabulea      There are 4 slots available in the IP, which the driver may use
46b16ed1e6SMirela Rabulea      If a certain slot is used, it should have an associated interrupt
47b16ed1e6SMirela Rabulea      The interrupt with index i is assumed to be for slot i
48b16ed1e6SMirela Rabulea    minItems: 1               # At least one slot is needed by the driver
49b16ed1e6SMirela Rabulea    maxItems: 4               # The IP has 4 slots available for use
50b16ed1e6SMirela Rabulea
51b16ed1e6SMirela Rabulea  power-domains:
52b16ed1e6SMirela Rabulea    description:
53b16ed1e6SMirela Rabulea      List of phandle and PM domain specifier as documented in
54b16ed1e6SMirela Rabulea      Documentation/devicetree/bindings/power/power_domain.txt
55*401fb195SFrank Li    minItems: 1               # Wrapper and all slots
56b16ed1e6SMirela Rabulea    maxItems: 5               # Wrapper and 4 slots
57b16ed1e6SMirela Rabulea
58b16ed1e6SMirela Rabulearequired:
59b16ed1e6SMirela Rabulea  - compatible
60b16ed1e6SMirela Rabulea  - reg
61e32b4567SFabio Estevam  - clocks
62b16ed1e6SMirela Rabulea  - interrupts
63b16ed1e6SMirela Rabulea  - power-domains
64b16ed1e6SMirela Rabulea
65*401fb195SFrank LiallOf:
66*401fb195SFrank Li  - if:
67*401fb195SFrank Li      properties:
68*401fb195SFrank Li        compatible:
69*401fb195SFrank Li          contains:
70*401fb195SFrank Li            enum:
71*401fb195SFrank Li              - nxp,imx95-jpgenc
72*401fb195SFrank Li              - nxp,imx95-jpgdec
73*401fb195SFrank Li    then:
74*401fb195SFrank Li      properties:
75*401fb195SFrank Li        power-domains:
76*401fb195SFrank Li          maxItems: 1
77*401fb195SFrank Li    else:
78*401fb195SFrank Li      properties:
79*401fb195SFrank Li        power-domains:
80*401fb195SFrank Li          minItems: 2        # Wrapper and 1 slot
81*401fb195SFrank Li
82*401fb195SFrank Li
83b16ed1e6SMirela RabuleaadditionalProperties: false
84b16ed1e6SMirela Rabulea
85b16ed1e6SMirela Rabuleaexamples:
86b16ed1e6SMirela Rabulea  - |
87e32b4567SFabio Estevam    #include <dt-bindings/clock/imx8-lpcg.h>
88b16ed1e6SMirela Rabulea    #include <dt-bindings/interrupt-controller/arm-gic.h>
89b16ed1e6SMirela Rabulea    #include <dt-bindings/firmware/imx/rsrc.h>
90b16ed1e6SMirela Rabulea
91b16ed1e6SMirela Rabulea    jpegdec: jpegdec@58400000 {
92b16ed1e6SMirela Rabulea        compatible = "nxp,imx8qxp-jpgdec";
93b16ed1e6SMirela Rabulea        reg = <0x58400000 0x00050000 >;
94e32b4567SFabio Estevam        clocks = <&img_jpeg_dec_lpcg IMX_LPCG_CLK_0>,
95e32b4567SFabio Estevam                 <&img_jpeg_dec_lpcg IMX_LPCG_CLK_4>;
96b16ed1e6SMirela Rabulea        interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
97b16ed1e6SMirela Rabulea                     <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
98b16ed1e6SMirela Rabulea                     <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>,
99b16ed1e6SMirela Rabulea                     <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
100b16ed1e6SMirela Rabulea        power-domains = <&pd IMX_SC_R_MJPEG_DEC_MP>,
101b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_DEC_S0>,
102b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_DEC_S1>,
103b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_DEC_S2>,
104b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_DEC_S3>;
105b16ed1e6SMirela Rabulea    };
106b16ed1e6SMirela Rabulea
107b16ed1e6SMirela Rabulea    jpegenc: jpegenc@58450000 {
10871822646SMirela Rabulea        compatible = "nxp,imx8qm-jpgenc", "nxp,imx8qxp-jpgenc";
109b16ed1e6SMirela Rabulea        reg = <0x58450000 0x00050000 >;
110e32b4567SFabio Estevam        clocks = <&img_jpeg_enc_lpcg IMX_LPCG_CLK_0>,
111e32b4567SFabio Estevam                 <&img_jpeg__lpcg IMX_LPCG_CLK_4>;
112b16ed1e6SMirela Rabulea        interrupts = <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>,
113b16ed1e6SMirela Rabulea                     <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
114b16ed1e6SMirela Rabulea                     <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
115b16ed1e6SMirela Rabulea                     <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
116b16ed1e6SMirela Rabulea        power-domains = <&pd IMX_SC_R_MJPEG_ENC_MP>,
117b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_ENC_S0>,
118b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_ENC_S1>,
119b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_ENC_S2>,
120b16ed1e6SMirela Rabulea                        <&pd IMX_SC_R_MJPEG_ENC_S3>;
121b16ed1e6SMirela Rabulea    };
122b16ed1e6SMirela Rabulea...
123