Linux kernel and device drivers for NXP i.MX platforms
 help / color / mirror / Atom feed
From: Liu Ying <victor.liu@nxp.com>
To: Krzysztof Kozlowski <krzk@kernel.org>,
	dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Cc: p.zabel@pengutronix.de, airlied@gmail.com, daniel@ffwll.ch,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com, tglx@linutronix.de
Subject: Re: [PATCH 03/10] dt-bindings: display: imx: Add i.MX8qxp Display Controller pixel engine
Date: Tue, 9 Jul 2024 14:50:46 +0800	[thread overview]
Message-ID: <35239800-3d99-46f2-8f9a-8e569128bdb8@nxp.com> (raw)
In-Reply-To: <d4ad0701-231a-474f-927c-d21d6785f9ff@kernel.org>

On 07/08/2024, Krzysztof Kozlowski wrote:
> On 08/07/2024 08:47, Liu Ying wrote:
>> On 07/07/2024, Krzysztof Kozlowski wrote:
>>> On 05/07/2024 11:09, Liu Ying wrote:
>>>> i.MX8qxp Display Controller pixel engine consists of all processing units
>>>> that operate in the AXI bus clock domain.  Command sequencer and interrupt
>>>> controller of the Display Controller work with AXI bus clock, but they are
>>>> not in pixel engine.
>>>>
>>>> Signed-off-by: Liu Ying <victor.liu@nxp.com>
>>>> ---
>>>
>>>
>>>> +
>>>> +        extdst@56180a40 {
>>>> +            compatible = "fsl,imx8qxp-dc-extdst";
>>>> +            reg = <0x56180a40 0x7>, <0x56186000 0x400>;
>>>> +            reg-names = "pec", "cfg";
>>>> +            interrupt-parent = <&dc0_intc>;
>>>> +            interrupts = <12>, <13>, <14>;
>>>> +            interrupt-names = "shdload", "framecomplete", "seqcomplete";
>>>> +            fsl,dc-ed-id = <5>;
>>>> +        };
>>>> +
>>>> +        fetchwarp@56180a60 {
>>>> +            compatible = "fsl,imx8qxp-dc-fetchwarp";
>>>> +            reg = <0x56180a60 0x4>, <0x56186400 0x400>;
>>>
>>> Aha, one word for address range.
>>
>> Sorry, I don't get your idea here.
> 
> How many words are in the first IO address range?
> 
> One.

My bad, the address range should be corrected to
reg = <0x56180a60 0x10>, <0x56186400 0x190>;

Though only 4 words in the first IO address range.

> 
> That is not a separate device.

Each processing unit in pixel engine has two IO address
ranges - "pec" and "cfg".

"pec" stands for Pixel Engine Configuration where pixel
engine related stuff is controlled by 4 registers(4 words
in all) - LockUnlock, LockStatus, Dynamic and Status registers.
The first two provide lock and/or privilege protection to this
address block.  The last two control/report connection from/to
other processing units. 

"cfg" IO address range controls processing unit specific
functions.

As each processing unit has specific functions, it's not
unacceptable to take it as a separate device with it's own
IO address ranges.  However, frankly speaking, I'm ok with
the idea of not splitting the main display controller into
multiple devices, but taking it as one single device.

> 
>>
>>>
>>> Sorry, these are not separate devices.
>>
>> Hmm, again, Maxime suggested to use separate devices.
> 
> To some level you can create separate devices, but for one register?

There are two IO address ranges, so at least a few registers.
Especially, the "cfg" range kind of hints that they could be
taken as separate devices, as it controls specific functions. 

> 
> Best regards,
> Krzysztof
> 
> 

-- 
Regards,
Liu Ying


  reply	other threads:[~2024-07-09  6:50 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-05  9:09 [PATCH 00/10] Add Freescale i.MX8qxp Display Controller support Liu Ying
2024-07-05  9:09 ` [PATCH 01/10] dt-bindings: display: imx: Add some i.MX8qxp Display Controller processing units Liu Ying
2024-07-07 13:58   ` Krzysztof Kozlowski
2024-07-08  6:30     ` Liu Ying
2024-07-08 20:04       ` Rob Herring
2024-07-09  7:36         ` Liu Ying
2024-07-05  9:09 ` [PATCH 02/10] dt-bindings: display: imx: Add i.MX8qxp Display Controller display engine Liu Ying
2024-07-07 13:59   ` Krzysztof Kozlowski
2024-07-08  6:40     ` Liu Ying
2024-07-08 14:04       ` Krzysztof Kozlowski
2024-07-08 14:52         ` Maxime Ripard
2024-07-09  6:50           ` Krzysztof Kozlowski
2024-07-18 15:53             ` Maxime Ripard
2024-07-05  9:09 ` [PATCH 03/10] dt-bindings: display: imx: Add i.MX8qxp Display Controller pixel engine Liu Ying
2024-07-07 14:02   ` Krzysztof Kozlowski
2024-07-08  6:47     ` Liu Ying
2024-07-08 14:05       ` Krzysztof Kozlowski
2024-07-09  6:50         ` Liu Ying [this message]
2024-07-05  9:09 ` [PATCH 04/10] dt-bindings: interrupt-controller: Add i.MX8qxp Display Controller interrupt controller Liu Ying
2024-07-07 14:01   ` Krzysztof Kozlowski
2024-07-08  6:51     ` Liu Ying
2024-07-08 14:09       ` Krzysztof Kozlowski
2024-07-09  7:05         ` Liu Ying
2024-07-05  9:09 ` [PATCH 05/10] dt-bindings: display: imx: Add i.MX8qxp Display Controller Liu Ying
2024-07-07 14:03   ` Krzysztof Kozlowski
2024-07-08  7:01     ` Liu Ying
2024-07-05  9:09 ` [PATCH 06/10] drm/imx: Add i.MX8qxp Display Controller display engine Liu Ying
2024-07-05  9:09 ` [PATCH 07/10] drm/imx: Add i.MX8qxp Display Controller pixel engine Liu Ying
2024-07-05  9:09 ` [PATCH 08/10] drm/imx: Add i.MX8qxp Display Controller interrupt controller Liu Ying
2024-07-05  9:09 ` [PATCH 09/10] drm/imx: Add i.MX8qxp Display Controller KMS Liu Ying
2024-07-07 19:16   ` Markus Elfring
2024-07-08  6:21     ` Liu Ying
2024-07-08  7:09       ` [09/10] " Markus Elfring
2024-07-08  7:33         ` Krzysztof Kozlowski
2024-07-05  9:09 ` [PATCH 10/10] MAINTAINERS: Add maintainer for i.MX8qxp Display Controller Liu Ying
2024-07-05 19:02   ` Frank Li
2024-07-08  6:14     ` Liu Ying
2024-07-05 12:57 ` [PATCH 00/10] Add Freescale i.MX8qxp Display Controller support Francesco Dolcini
2024-07-08  7:03   ` Liu Ying

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=35239800-3d99-46f2-8f9a-8e569128bdb8@nxp.com \
    --to=victor.liu@nxp.com \
    --cc=airlied@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=festevam@gmail.com \
    --cc=imx@lists.linux.dev \
    --cc=kernel@pengutronix.de \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tzimmermann@suse.de \
    /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