u-boot/doc/device-tree-bindings
Sean Anderson 9c08fbfc95 pinctrl: Add pinmux property support to pinctrl-generic
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 <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2020-10-08 11:42:36 -04:00
..
adc dt-bindings: Document STM32 ADC DT bindings 2018-08-03 19:53:10 -04:00
arm dt-bindings: arm: SCMI bindings documentation 2020-09-30 11:55:23 -04:00
ata x86: ivybridge: Add SATA init 2014-11-25 06:34:01 -07:00
axi doc: Remove duplicated documentation directory 2019-06-20 10:57:08 -04:00
board doc: Remove duplicated documentation directory 2019-06-20 10:57:08 -04:00
bus dm: Add support for simple-pm-bus 2020-07-01 15:01:21 +08:00
clock stm32mp1: clk: configure pll1 with OPP 2020-07-07 16:01:23 +02:00
cpu doc: Remove duplicated documentation directory 2019-06-20 10:57:08 -04:00
exynos s5p: cpu_info: print "cpu-model" if exists in dts 2015-11-02 10:37:59 +09:00
firmware dt/bindings: add bindings for optee 2018-10-07 10:47:38 -04:00
fpga ARM: socfpga: Description on FPGA bitstream type and file name for Arria 10 2019-05-10 22:48:10 +02:00
fsp/fsp2/apollolake x86: fsp: Replace e-mmc with emmc in devicetree bindings 2020-09-21 16:41:35 +08:00
gpio msm_gpio: Add support for Qualcomm IPQ40xx 2020-07-29 08:43:40 -04:00
gpu tegra124: dts: Add host1x node to provide display information 2015-05-13 09:24:08 -07:00
i2c i2c: Add a generic driver to generate ACPI info 2020-09-25 11:27:15 +08:00
input dts: Add a binding for hid-over-i2c 2020-04-16 14:36:28 +08:00
interrupt-controller tpm: cr50: Use the correct GPIO binding 2020-04-16 14:36:28 +08:00
leds led: add initial support for bcm6858 2019-04-22 18:13:24 -04:00
mailbox mailbox: Introduce K3 Secure Proxy Driver 2018-09-11 08:32:55 -04:00
memory fdt: Add device tree memory bindings 2018-07-09 09:11:00 -06:00
memory-controller dt-bindings: memory-controller: Introduce J721E DDRSS bindings 2019-10-25 17:33:21 -04:00
memory-controllers ram: stm32mp1: the property st, phy-cal becomes optional 2020-03-24 14:23:30 +01:00
mfd clk: Add K210 clock support 2020-07-01 15:01:21 +08:00
misc Merge tag 'ti-v2020.07-next' of https://gitlab.denx.de/u-boot/custodians/u-boot-ti into next 2020-03-17 11:59:58 -04:00
mmc ARC: dwmmc: Adding DesignWare MMC driver support for ARC devboards 2019-04-18 09:12:38 +03:00
mtd ARM: dts: stm32mp1: DT alignment with kernel v5.4 2020-02-13 17:25:34 +01:00
nand tegra: fdt: Add NAND controller binding and definitions 2012-09-07 13:54:30 -07:00
net net: tsec: Add the compatible string "gianfar" support 2020-09-24 08:27:44 -04:00
pci dm: pci: Allow disabling auto-config for a device 2020-04-16 14:36:28 +08:00
pci_endpoint pci_ep: add Cadence PCIe endpoint driver 2019-07-11 10:05:15 -04:00
phy dt-bindings: phy-mtk-tphy: add properties of address mapping and clocks 2020-05-02 12:32:28 +02:00
pinctrl pinctrl: Add pinmux property support to pinctrl-generic 2020-10-08 11:42:36 -04:00
pmic power: pmic: add Ricoh RN5T567 PMIC support 2016-10-07 12:26:15 +02:00
power dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access 2019-07-26 21:49:23 -04:00
pwm pwm: Add DT documentation for SiFive PWM Controller 2020-07-09 06:03:02 +02:00
ram doc: Remove duplicated documentation directory 2019-06-20 10:57:08 -04:00
regulator dm: regulator: support regulator more state 2019-11-10 20:31:09 +08:00
remoteproc dt-bindings: remoteproc: k3-r5f: Update bindings for J7200 SoCs 2020-09-15 18:51:53 +05:30
reserved-memory doc: Remove duplicated documentation directory 2019-06-20 10:57:08 -04:00
reset reset: Add generic reset driver 2020-07-01 15:01:21 +08:00
rtc rtc: add support for DS3232 device 2020-01-10 10:25:13 -05:00
serial msm_serial: Read bit rate register value from DT 2020-07-29 08:43:40 -04:00
soc/fsl/cpm_qe/qe net, qe: add DM support for QE UEC ethernet 2020-09-17 06:09:53 +02:00
sound sound: Add an ACPI driver for Maxim MAX98357ac 2020-07-17 14:32:24 +08:00
spi fsl_dspi: Introduce DT bindings for CS-SCK and SCK-CS delays 2020-07-27 14:16:26 +05:30
spmi drivers: spmi: Add support for Qualcomm SPMI bus driver 2016-04-01 17:18:12 -04:00
sysreset sysreset: Add TI System Control Interface (TI SCI) sysreset driver 2018-09-11 08:32:55 -04:00
thermal thermal: ti-bandgap: Add support for temperature sensor 2017-11-21 08:03:38 -05:00
timer doc: Remove duplicated documentation directory 2019-06-20 10:57:08 -04:00
tpm2 tpm2: tis_spi: add linux compatible fallback string 2020-07-08 15:38:32 -04:00
usb dt-bindings: usb: mtk-xhci: Add binding for MediaTek xHCI host controller 2020-05-02 12:32:28 +02:00
video doc: device-tree-bindings: update reference to binding directory 2020-04-16 23:06:54 -04:00
w1 w1: Add driver for i.MX bus master controller 2019-01-01 14:12:18 +01:00
w1-eeprom w1-eeprom: Add support for Maxim DS2502 add only memory 2018-11-16 16:51:55 -05:00
chosen.txt x86: Add a way to add to the e820 memory table 2020-09-25 11:27:25 +08:00
config.txt rockchip: rk3399-puma: add code to allow forcing a power-on reset 2017-11-30 22:59:54 +01:00
device.txt x86: Add wake sources for the acpi_gpe driver 2020-09-25 11:27:15 +08:00
README fdt: Add staging area for device tree binding documentation 2012-03-29 08:12:47 +02:00
root.txt fdt: Pass the device serial number through devicetree 2015-06-05 08:32:07 -06:00

Device Tree Bindings Staging Area
=================================

This directory contains device tree bindings for U-Boot.

These follow along with Linux kernel bindings, with a few additions. By
adding the files here, U-Boot patches can clearly show thees additions.
This makes it easier for device tree people to review these additions in
patches sent to the U-Boot mailing list.

The intent IS to commit these files to U-Boot. Hopefully at some point
the files will be stored in another repo (shared with Linux) which is
brought in as needed. Changes here are intended to mirror changes in the
Linux Documentation/devicetree/bindings/ directory.

sjg@chromium.org
17-Jan-12