[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2cd24d3d-40a2-435e-bf60-bf6af24128b8@solid-run.com>
Date: Tue, 16 Jan 2024 13:29:45 +0000
From: Josua Mayer <josua@...id-run.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>, Nishanth Menon
<nm@...com>, Vignesh Raghavendra <vigneshr@...com>, Tero Kristo
<kristo@...nel.org>, Rob Herring <robh+dt@...nel.org>, Krzysztof Kozlowski
<krzysztof.kozlowski+dt@...aro.org>, Conor Dooley <conor+dt@...nel.org>,
Alessandro Zummo <a.zummo@...ertech.it>, Alexandre Belloni
<alexandre.belloni@...tlin.com>
CC: Yazan Shhady <yazan.shhady@...id-run.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "devicetree@...r.kernel.org"
<devicetree@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-rtc@...r.kernel.org"
<linux-rtc@...r.kernel.org>
Subject: Re: [PATCH v2 4/5] arm64: dts: add description for solidrun am642 som
and evaluation board
Am 15.01.24 um 11:32 schrieb Josua Mayer:
> Am 15.01.24 um 11:21 schrieb Krzysztof Kozlowski:
>> On 15/01/2024 11:05, Josua Mayer wrote:
>>> +
>>> + ti,pruss-gp-mux-sel = <2>, /* MII mode */
>>> + <2>,
>>> + <2>,
>>> + <2>, /* MII mode */
>>> + <2>,
>>> + <2>;
This property is described in remoteproc/ti,pru-consumer.yaml
without explanation what each numeric value means.|
SoC TRM provides these names: "GP", "EnDAT", "MII", "SD".
Is it okay to keep number here, or are named constants needed?
Additionally, this array better to do in single line?:
/* configurei nternal mux for mii mode */
ti,pruss-gp-mux-sel = <2>, <2>, <2>, <2>, <2>, <2>;
>>> +
>>> + ti,mii-g-rt = <&icssg1_mii_g_rt>;
>>> + ti,mii-rt = <&icssg1_mii_rt>;
>>> + ti,iep = <&icssg1_iep0>, <&icssg1_iep1>;
>>> +
>>> + interrupt-parent = <&icssg1_intc>;
>>> + interrupts = <24 0 2>, <25 1 3>;
>>>>>> None of these are typical interrupt constants/flags?
"pruss-intc" interrupt controller driver has a special xlate function,
taking 3 integer arguments: event, channel, host.
I came up with the below description:
/*
* icssg subsystem interrupt controller can be programmed
* for routing any of 64 predefined subsytem-internal events
* (documented in TRM) to one of 20 host interrupts.
* Some host interrupts are device-wide, others special
* purpose.
* Mapping is done via one of 20 channels - channel number
* decides processing priority (0 = highest).
*
*
* Map pru-internal interrupt #8 (24) via channel 0 to
* host-side pru interrupt #0 (2) (gic 246 / "host_intr0");
* and pru-internal interrupt #9 via channel 0 to
* host-side pru interrupt #1 (3) (gic 247 / "host_intr1").
*/
I feel it is a bit long to put in dts, perhaps I can put just second paragraph?
However this paragraph is still a bit confusing -
I should make it more readable, especially how 24 translates to 8 and 2 to 0, etc..
First paragraph is not needed, because bindings doc for this
interrupt controller has a good description for #interrupt-cells:
interrupt-controller/ti,pruss-intc.yaml
The 64 events, and 20 hosts have names in the TRM. Some of them
are particular, others are generic, e.g. INTR_REQ[0:15].
Creating a header with named constants seems doable.
Is it worth doing this?
Sincerely
Josua Mayer
Powered by blists - more mailing lists