From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Fri, 9 Oct 2020 09:00:56 -0400 Subject: [PATCH v6 01/12] pinctrl: Add pinmux property support to pinctrl-generic In-Reply-To: <20200914150206.90002-2-seanga2@gmail.com> References: <20200914150206.90002-1-seanga2@gmail.com> <20200914150206.90002-2-seanga2@gmail.com> Message-ID: <20201009130056.GI14816@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > Reviewed-by: Simon Glass Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: not available URL: