Hi, On Tue, Sep 26, 2023 at 06:10:00PM +0800, Ming Qian wrote: > There are total 4 slots available in the IP, and we only need to use one > slot in one os, assign a single slot, configure interrupt and power > domain only for 1 slot, not for the all 4 slots. > > Signed-off-by: Ming Qian <ming.qian@xxxxxxx> > --- > v4 > - improve commit message > - don't make an ABI break What does this mean? Can you please try to explain things a bit more clearly in your changelogs? Also, where is the code that actually makes use of these properties? > v3 > - add vender prefix, change property slot to nxp,slot > - add type for property slot > > .../bindings/media/nxp,imx8-jpeg.yaml | 45 +++++++++---------- > 1 file changed, 21 insertions(+), 24 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml b/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml > index 3d9d1db37040..4bcfc815c894 100644 > --- a/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml > +++ b/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml > @@ -32,19 +32,26 @@ properties: > maxItems: 1 > > interrupts: > - description: | > - There are 4 slots available in the IP, which the driver may use > - If a certain slot is used, it should have an associated interrupt > - The interrupt with index i is assumed to be for slot i > - minItems: 1 # At least one slot is needed by the driver > - maxItems: 4 # The IP has 4 slots available for use > + description: > + Interrupt number for slot > + maxItems: 1 So, what happens to users that already exist that have 2, 3 or 4 interrupts? Your commit message says: > There are total 4 slots available in the IP, and we only need to use one > slot in one os, assign a single slot, configure interrupt and power > domain only for 1 slot, not for the all 4 slots. Note that "only need to use one" doesn't mean that a user might not want to use more than one. Is it possible to use more than one slot? Also, if the interrupt numbers map 1:1 to slots, as the previous binding states, why do you even need this new "nxp,slot" property? Thanks, Conor. > > power-domains: > description: > List of phandle and PM domain specifier as documented in > Documentation/devicetree/bindings/power/power_domain.txt > - minItems: 2 # Wrapper and 1 slot > - maxItems: 5 # Wrapper and 4 slots > + minItems: 1 # VPUMIX > + maxItems: 2 # Wrapper and 1 slot > + > + nxp,slot: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Integer number of slot index used. There are 4 slots available in the IP, > + and driver can use a certain slot, it should have an associated interrupt > + and power-domain. In theory, it supports 4 os or vm. If not specified, 0 > + is used by default. > + minimum: 0 > + maximum: 3 > > required: > - compatible > @@ -62,28 +69,18 @@ examples: > jpegdec: jpegdec@58400000 { > compatible = "nxp,imx8qxp-jpgdec"; > reg = <0x58400000 0x00050000 >; > - interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>; > + interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>; > power-domains = <&pd IMX_SC_R_MJPEG_DEC_MP>, > - <&pd IMX_SC_R_MJPEG_DEC_S0>, > - <&pd IMX_SC_R_MJPEG_DEC_S1>, > - <&pd IMX_SC_R_MJPEG_DEC_S2>, > - <&pd IMX_SC_R_MJPEG_DEC_S3>; > + <&pd IMX_SC_R_MJPEG_DEC_S0>; > + nxp,slot = <0>; > }; > > jpegenc: jpegenc@58450000 { > compatible = "nxp,imx8qm-jpgenc", "nxp,imx8qxp-jpgenc"; > reg = <0x58450000 0x00050000 >; > - interrupts = <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>; > + interrupts = <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>; > power-domains = <&pd IMX_SC_R_MJPEG_ENC_MP>, > - <&pd IMX_SC_R_MJPEG_ENC_S0>, > - <&pd IMX_SC_R_MJPEG_ENC_S1>, > - <&pd IMX_SC_R_MJPEG_ENC_S2>, > - <&pd IMX_SC_R_MJPEG_ENC_S3>; > + <&pd IMX_SC_R_MJPEG_ENC_S0>; > + nxp,slot = <0>; > }; > ... > -- > 2.38.1 >
Attachment:
signature.asc
Description: PGP signature