Messages in this thread | | | From | Masahiro Yamada <> | Date | Mon, 29 Jun 2020 10:58:16 +0900 | Subject | Re: [PATCH 4/4] ARM: dts: uniphier: change support card to simple-mfd from simple-bus |
| |
On Thu, Jun 25, 2020 at 11:57 PM Lee Jones <lee.jones@linaro.org> wrote: > > On Thu, 25 Jun 2020, Masahiro Yamada wrote: > > > On Thu, Jun 25, 2020 at 3:16 AM Lee Jones <lee.jones@linaro.org> wrote: > > > > > > On Thu, 25 Jun 2020, Masahiro Yamada wrote: > > > > > > > On Tue, Jun 23, 2020 at 9:24 PM Lee Jones <lee.jones@linaro.org> wrote: > > > > > > > > > > On Tue, 23 Jun 2020, Masahiro Yamada wrote: > > > > > > > > > > > 'make ARCH=arm dtbs_check' emits the following warning: > > > > > > > > > > > > support-card@1,1f00000: $nodename:0: 'support-card@1,1f00000' does not match '^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$' > > > > > > > > > > > > Maybe, simple-mfd could be a better fit for this device. > > > > > > > > > > The two should be equivalent. > > > > > > > > Yes, I know. > > > > That's why I can change "simple-bus" to "simple-mfd" > > > > with no risk. > > > > > > > > The difference is schema-check. > > > > > > > > The node name for "simple-bus" is checked by 'make dtbs_check'. > > > > > > > > See this code: > > > > https://github.com/robherring/dt-schema/blob/v2020.05/schemas/simple-bus.yaml#L17 > > > > > > > > Even if I rename the node, it does not accept the > > > > unit name '1,1f00000' > > > > > > > > > What do you mean by "maybe"? Does this squash the warning? > > > > > > > > "maybe" means I am not quite sure > > > > which compatible is a better fit > > > > to describe this device. > > > > > > > > As mentioned above, simple-bus and simple-mfd > > > > are interchangeable from a driver point of view. > > > > > > > > This add-on board is integrated with various peripherals > > > > such as 16550a serial, smsc9115 ether etc. > > > > The address-decode is implemented in a CPLD device. > > > > It has chip selects and local addresses, which are mapped to > > > > the parent. > > > > > > > > It can be either simple-bus or simple-mfd, I think. > > > > > > > > > > > > dt-schema checks the node name of simple-bus. > > > > Currently, there is no check for simple-mfd. > > > > > > > > So, I think this patch is an easy solution > > > > to fix the warning. > > > > > > Yes, looking at the documentation it seems as though 'simple-mfd' > > > would be a better fit. Is the device a single IP with various > > > different functions? > > > > Not an IP. > > > > This is a small board that consists of > > a CPLD + ethernet controller + serial controller + LED, etc. > > Then simple MFD does not seem like a good fit. > > Neither does 'simple-bus'.
Then, I do not know what to do.
This board connection is so simple that no hardware initialization needed to get access to peripherals.
So, 'simple-bus' or 'simple-mfd' is preferred.
If this is not either simple-bus or simple-mfd, I need a special driver to probe the child devices such as ethernet, serial etc.
> What is it you're trying to describe in the device hierarchy?
The connection is as follows:
|-Main board -| |----- add-on board ----| | | | (this board) | | | | | | (SoC) ---|------|--- CPLD --- ethernet | | | | |- serial | |-------------| | |- LED | | | |-----------------------|
uniphier-support-card.dtsi describes the "add-on board" part. Address-decode is implemented in CPLD.
So, the criteria to become MFD is whether it is an IP integrated into SoC.
- implemented in an SoC --> MFD
- implemented in a board + CPLD --> not MFD
Right?
> > > > > Rob is in Cc. Please add comments if any. > > > > > > > > > Isn't the issue caused by the ','? > > > > > > > > Right. > > > > > > > > The node name of simple-bus > > > > must meet the regular expression: > > > > "^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$" > > > > > > > > > > > > Even if I rename the node > > > > "support-card@1,1f00000" > > > > to "bus@1,1f00000", the warning is still > > > > displayed due to ',' > > > > > > > > "1,1f00000" means > > > > the address 0x01f00000 of chip select 1. > > > > > > Is this an officially accepted format? > > > > I am not sure if it is official. > > > > Rob said the data fields should be separated by commas. > > https://www.spinics.net/lists/devicetree/msg201565.html > > Are you sure he doesn't mean in the 'reg' property. > > Rather than the node-name@NNNNNNNN syntax. > > BTW, I think the error you link to above is related to the > node-name@NNNNNNNN not matching the value listed in the 'reg' > property.
If I get rid of @NNNNNNNN part, DTC warns the following for W=1 builds:
arch/arm/boot/dts/uniphier-support-card.dtsi:12.29-32.4: Warning (unit_address_vs_reg): /soc/system-bus@58c00000/support-card: node has a reg or ranges property, but no unit name
So, 'reg' or 'range' requires a unit name.
A unit name should be a base address. If it has a chip select, the format is <chip-select>,<base-address>
But the schema does not allow commas in a unit name of simple-bus.
This is the problem I am trying to do something for.
> > -- > Lee Jones [李琼斯] > Senior Technical Lead - Developer Services > Linaro.org │ Open source software for Arm SoCs > Follow Linaro: Facebook | Twitter | Blog
-- Best Regards Masahiro Yamada
| |