46 lines
1.9 KiB
YAML
46 lines
1.9 KiB
YAML
# Copyright (c) 2019, Linaro Limited
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Common fields for GPIO controllers
|
|
|
|
properties:
|
|
"gpio-controller":
|
|
type: boolean
|
|
required: true
|
|
description: Convey's this node is a GPIO controller
|
|
"#gpio-cells":
|
|
type: int
|
|
required: true
|
|
description: Number of items to expect in a GPIO specifier
|
|
ngpios:
|
|
type: int
|
|
required: false
|
|
default: 32
|
|
description: |
|
|
This property indicates the number of in-use slots of available slots
|
|
for GPIOs. The typical example is something like this: the hardware
|
|
register is 32 bits wide, but only 18 of the bits have a physical
|
|
counterpart. The driver is generally written so that all 32 bits can
|
|
be used, but the IP block is reused in a lot of designs, some using
|
|
all 32 bits, some using 18 and some using 12. In this case, setting
|
|
"ngpios = <18>;" informs the driver that only the first 18 GPIOs, at
|
|
local offset 0 .. 17, are in use. For cases in which there might be
|
|
holes in the slot range, this value should be the max slot number-1.
|
|
gpio-reserved-ranges:
|
|
type: array
|
|
required: false
|
|
description: |
|
|
If not all the GPIOs at offsets 0...N-1 are usable for ngpios = <N>, then
|
|
this property contains an additional set of tuples which specify which GPIOs
|
|
are unusable. This property indicates the start and size of the GPIOs
|
|
that can't be used.
|
|
|
|
For example, setting "gpio-reserved-ranges = <3 2>, <10 1>;" means that
|
|
GPIO offsets 3, 4, and 10 are not usable, even if ngpios = <18>.
|
|
gpio-line-names:
|
|
type: string-array
|
|
required: false
|
|
description: |
|
|
This is an array of strings defining the names of the GPIO lines
|
|
going out of the GPIO controller
|