On Mon, Sep 14, 2020 at 11:01:55AM -0400, Sean Anderson wrote: > The pinmux property allows for smaller and more compact device trees, > especially when there are many pins which need to be assigned individually. > Instead of specifying an array of strings to be parsed as pins and a > function property, the pinmux property contains an array of integers > representing pinmux groups. A pinmux group consists of the pin identifier > and mux settings represented as a single integer or an array of integers. > Each individual pin controller driver specifies the exact format of a > pinmux group. As specified in the Linux documentation, a pinmux group may > be multiple integers long. However, no existing drivers use multi-integer > pinmux groups, so I have chosen to omit this feature. This makes the > implementation easier, since there is no need to allocate a buffer to do > endian conversions. > > Support for the pinmux property is done differently than in Linux. As far > as I can tell, inversion of control is used when implementing support for > the pins and groups properties to avoid allocating. This results in some > duplication of effort; every property in a config node is parsed once for > each pin in that node. This is not such an overhead with pins and groups > properties, since having multiple pins in one config node does not occur > especially often. However, the semantics of the pinmux property make such a > configuration much more appealing. A future patch could parse all config > properties at once and store them in an array. This would make it easier to > create drivers which do not function solely as callbacks from > pinctrl-generic. > > This commit increases the size of the sandbox build by approximately 48 > bytes. However, it also decreases the size of the K210 device tree by 2 > KiB from the previous version of this series. > > The documentation has been updated from the last Linux commit before it was > split off into yaml files. > > Signed-off-by: Sean Anderson <sean...@gmail.com> > Reviewed-by: Simon Glass <s...@chromium.org>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: PGP signature