From: Devarsh Thakkar <devarsht@ti.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
<mchehab@kernel.org>, <robh+dt@kernel.org>,
<krzysztof.kozlowski+dt@linaro.org>, <conor+dt@kernel.org>,
<linux-media@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Cc: <praneeth@ti.com>, <nm@ti.com>, <vigneshr@ti.com>,
<a-bhatia1@ti.com>, <j-luthra@ti.com>, <b-brnich@ti.com>,
<detheridge@ti.com>, <p-mantena@ti.com>, <vijayp@ti.com>
Subject: Re: [PATCH] dt-bindings: media: Add bindings for Imagination E5010 JPEG Encoder driver
Date: Tue, 8 Aug 2023 15:50:23 +0530 [thread overview]
Message-ID: <50d97c30-4926-0bbf-1209-dfd25043e359@ti.com> (raw)
In-Reply-To: <8fef77fb-d3bf-eab1-0734-919ebf2e61af@ti.com>
Hi Krzysztof,
On 27/07/23 19:58, Devarsh Thakkar wrote:
> Hi Krzysztof,
>
> Thanks for the quick review.
>
> On 26/07/23 22:03, Krzysztof Kozlowski wrote:
>> On 26/07/2023 18:26, Devarsh Thakkar wrote:
>>> Add dt-bindings for Imagination E5010 JPEG Encoder driver which is
>>> implemented as stateful V4L2 M2M driver.
>>>
>>> Co-developed-by: David Huang <d-huang@ti.com>
>>> Signed-off-by: David Huang <d-huang@ti.com>
>>
>> A nit, subject: drop second/last, redundant "bindings for". The
>> "dt-bindings" prefix is already stating that these are bindings.
>>
>> Drop also "driver". Bindings are for hardware, not drivers.
>>
>> Prefix starts with media and then dt-bindings.
>>
>
> Agreed.
>>
>>> Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
>>> ---
>>> .../bindings/media/img,e5010-jpeg-enc.yaml | 79 +++++++++++++++++++
>>> MAINTAINERS | 5 ++
>>> 2 files changed, 84 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/media/img,e5010-jpeg-enc.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/media/img,e5010-jpeg-enc.yaml b/Documentation/devicetree/bindings/media/img,e5010-jpeg-enc.yaml
>>> new file mode 100644
>>> index 000000000000..0060373eace7
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/media/img,e5010-jpeg-enc.yaml
>>> @@ -0,0 +1,79 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/media/img,e5010-jpeg-enc.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Imagination E5010 JPEG Encoder
>>> +
>>> +maintainers:
>>> + - Devarsh Thakkar <devarsht@ti.com>
>>> +
>>> +description: |
>>> + The E5010 is a JPEG encoder from Imagination Technologies implemented on
>>> + TI's AM62A SoC. It is capable of real time encoding of YUV420 and YUV422
>>> + inputs to JPEG and M-JPEG. It supports baseline JPEG Encoding up to
>>> + 8Kx8K resolution.
>>> +
>>> +properties:
>>> + compatible:
>>> + const: img,e5010-jpeg-enc
>>
>> Your description suggests that this is part of TI SoC. Pretty often
>> licensed blocks cannot be used on their own and need some
>> customizations. Are you sure your block does not need any customization
>> thus no dedicated compatible is needed?
>>
>
> There is a wrapper for interfacing this core with TI SoC, I will recheck this
> interfacing but I believe nothing changes from programming perspective as
> there is 1-to-1 maintained between the clocks and signals w.r.t actual E5010
> core.
>
Just to add to above, on a second thought we think it would be better to
still have a separate compatible for TI as you suggested (since we have a
wrapper) so that it allows any customization needed for future. So compatible
enum would look like :
oneOf:
- items:
- const: ti,e5010-jpeg-enc
- const: img,e5010-jpeg-enc
- const: img,e5010-jpeg-enc
Thanks for the suggestion.
Regards
Devarsh
>>> +
>>> + reg:
>>> + items:
>>> + - description: The E5010 main register region
>>> + - description: The E5010 mmu register region
>>> +
>>> + reg-names:
>>> + items:
>>> + - const: regjasper
>>> + - const: regmmu
>>> +
>>
>> Drop reg from both
>>
>
> Agreed.
>
>>> + power-domains:
>>> + maxItems: 1
>>> +
>>> + resets:
>>> + maxItems: 1
>>> +
>>> + clocks:
>>> + minItems: 1
>>> + maxItems: 2
>>
>> You need to specify the items. Also, no variable number of clocks. Why
>> would they vary if block is strictly defined?
>>
>
> Agreed, I believe this version of E5010 core only supports single clock, so we
> can get rid of maxItems: 2.
>
>>> +
>>> + clock-names:
>>> + minItems: 1
>>> + maxItems: 2
>>
>> Instead list the names.
>>
>
> Agreed.
>
>>> +
>>> + interrupts:
>>> + maxItems: 1
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> + - reg-names
>>> + - interrupts
>>> + - clocks
>>> + - clock-names
>>> + - power-domains
>>> +
>>> +additionalProperties: false
>>> +
>>> +examples:
>>> + - |
>>> + #include <dt-bindings/soc/ti,sci_pm_domain.h>
>>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>>> + #include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> + cbass_main {
>>
>> That's some weird name. Probably you meant soc. Anyway, underscores are
>> not allowed.
>
> Yes, I think I can put soc. cbass_main is specific to TI (soc interconnect bus).
>
>>
>>> + #address-cells = <2>;
>>> + #size-cells = <2>;
>>> + e5010: e5010@fd20000 {
>>
>> Node names should be generic. See also an explanation and list of
>> examples (not exhaustive) in DT specification:
>> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>>
>
> Yes, video-codec is the nearest one, but this is not really a codec as it only
> supports encoding, is it fine to name node as jpeg-enc ?
>
>>
>> Drop the label.
>>
>
> Agreed.
>
> Best Regards,
> Devarsh
>
>>> + compatible = "img,e5010-jpeg-enc";
>>> + reg = <0x00 0xfd20000 0x00 0x100>,
>>> + <0x00 0xfd20200 0x00 0x200>;
>>> + reg-names = "regjasper", "regmmu";
>>> + clocks = <&k3_clks 201 0>;
>>> + clock-names = "core_clk";
>>> + power-domains = <&k3_pds 201 TI_SCI_PD_EXCLUSIVE>;
>>> + interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
>>> + };
>>> + };
>>
>>
>> Best regards,
>> Krzysztof
>>
next prev parent reply other threads:[~2023-08-08 20:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-26 16:26 Devarsh Thakkar
2023-07-26 16:33 ` Krzysztof Kozlowski
2023-07-26 20:35 ` Nicolas Dufresne
2023-07-26 21:00 ` Krzysztof Kozlowski
2023-07-27 14:28 ` Devarsh Thakkar
2023-08-08 10:20 ` Devarsh Thakkar [this message]
2023-08-08 10:26 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50d97c30-4926-0bbf-1209-dfd25043e359@ti.com \
--to=devarsht@ti.com \
--cc=a-bhatia1@ti.com \
--cc=b-brnich@ti.com \
--cc=conor+dt@kernel.org \
--cc=detheridge@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=j-luthra@ti.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=nm@ti.com \
--cc=p-mantena@ti.com \
--cc=praneeth@ti.com \
--cc=robh+dt@kernel.org \
--cc=vigneshr@ti.com \
--cc=vijayp@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®