[PATCH v2 4/5] arm64: dts: add description for solidrun am642 som and evaluation board

Josua Mayer josua at solid-run.com
Tue Jan 16 05:29:45 PST 2024


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



More information about the linux-arm-kernel mailing list