Merge tag 'pinctrl-v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pinctrl updates from Linus Walleij: "Bulk pin control changes for the v4.10 kernel cycle: No core changes this time. Mainly gradual improvement and feature growth in the drivers. New drivers: - New driver for TI DA850/OMAP-L138/AM18XX pinconf - The SX150x was moved over from the GPIO subsystem and reimagined as a pin control driver with GPIO support in a joint effort by three independent users of this hardware. The result was amazingly good! - New subdriver for the Oxnas OX820 Improvements: - The sunxi driver now supports the generic pin control bindings rather than the sunxi-specific. Add debouncing support to the driver. - Simplifications in pinctrl-single adding a generic parser. - Two downstream fixes and move the Raspberry Pi BCM2835 over to use the generic GPIOLIB_IRQCHIP" * tag 'pinctrl-v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (92 commits) pinctrl: sx150x: use new nested IRQ infrastructure pinctrl: sx150x: handle missing 'advanced' reg in sx1504 and sx1505 pinctrl: sx150x: rename 'reg_advance' to 'reg_advanced' pinctrl: sx150x: access the correct bits in the 4-bit regs of sx150[147] pinctrl: mt8173: set GPIO16 to usb iddig mode pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP pinctrl: New driver for TI DA850/OMAP-L138/AM18XX pinconf devicetree: bindings: pinctrl: Add binding for ti,da850-pupd Documentation: pinctrl: palmas: Add ti,palmas-powerhold-override property definition pinctrl: intel: set default handler to be handle_bad_irq() pinctrl: sx150x: add support for sx1501, sx1504, sx1505 and sx1507 pinctrl: sx150x: sort chips by part number pinctrl: sx150x: use correct registers for reg_sense (sx1502 and sx1508) pinctrl: imx: fix imx_pinctrl_desc initialization pinctrl: sx150x: support setting multiple pins at once pinctrl: sx150x: various spelling fixes and some white-space cleanup pinctrl: mediatek: use builtin_platform_driver pinctrl: stm32: use builtin_platform_driver pinctrl: sunxi: Testing the wrong variable pinctrl: nomadik: split up and comments MC0 pins ...
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
Please refer to gpio.txt for generic information regarding GPIO bindings.
|
||||
|
||||
Required properties:
|
||||
- compatible: "oxsemi,ox810se-gpio"
|
||||
- compatible: "oxsemi,ox810se-gpio" or "oxsemi,ox820-gpio"
|
||||
- reg: Base address and length for the device.
|
||||
- interrupts: The port interrupt shared by all pins.
|
||||
- gpio-controller: Marks the port as GPIO controller.
|
||||
|
@@ -28,6 +28,20 @@ Required properties:
|
||||
- reg: Should contain the register physical address and length for the
|
||||
pin controller.
|
||||
|
||||
- clocks: phandle to the clocks feeding the pin controller:
|
||||
- "apb": the gated APB parent clock
|
||||
- "hosc": the high frequency oscillator in the system
|
||||
- "losc": the low frequency oscillator in the system
|
||||
|
||||
Note: For backward compatibility reasons, the hosc and losc clocks are only
|
||||
required if you need to use the optional input-debounce property. Any new
|
||||
device tree should set them.
|
||||
|
||||
Optional properties:
|
||||
- input-debounce: Array of debouncing periods in microseconds. One period per
|
||||
irq bank found in the controller. 0 if no setup required.
|
||||
|
||||
|
||||
Please refer to pinctrl-bindings.txt in this directory for details of the
|
||||
common pinctrl bindings used by client devices.
|
||||
|
||||
@@ -37,6 +51,22 @@ pins it needs, and how they should be configured, with regard to muxer
|
||||
configuration, drive strength and pullups. If one of these options is
|
||||
not set, its actual value will be unspecified.
|
||||
|
||||
This driver supports the generic pin multiplexing and configuration
|
||||
bindings. For details on each properties, you can refer to
|
||||
./pinctrl-bindings.txt.
|
||||
|
||||
Required sub-node properties:
|
||||
- pins
|
||||
- function
|
||||
|
||||
Optional sub-node properties:
|
||||
- bias-disable
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
- drive-strength
|
||||
|
||||
*** Deprecated pin configuration and multiplexing binding
|
||||
|
||||
Required subnode-properties:
|
||||
|
||||
- allwinner,pins: List of strings containing the pin name.
|
||||
|
@@ -98,6 +98,8 @@ DRIVE_STRENGTH (3 << 5): indicate the drive strength of the pin using the
|
||||
01 - Low
|
||||
10 - Medium
|
||||
11 - High
|
||||
OUTPUT (1 << 7): indicate this pin need to be configured as an output.
|
||||
OUTPUT_VAL (1 << 8): output val (1 = high, 0 = low)
|
||||
DEBOUNCE (1 << 16): indicate this pin needs debounce.
|
||||
DEBOUNCE_VAL (0x3fff << 17): debounce value.
|
||||
|
||||
|
@@ -7,6 +7,8 @@ Required properties for the root node:
|
||||
"amlogic,meson8b-aobus-pinctrl"
|
||||
"amlogic,meson-gxbb-periphs-pinctrl"
|
||||
"amlogic,meson-gxbb-aobus-pinctrl"
|
||||
"amlogic,meson-gxl-periphs-pinctrl"
|
||||
"amlogic,meson-gxl-aobus-pinctrl"
|
||||
- reg: address and size of registers controlling irq functionality
|
||||
|
||||
=== GPIO sub-nodes ===
|
||||
|
@@ -9,7 +9,7 @@ used for a specific device or function. This node represents configurations of
|
||||
pins, optional function, and optional mux related configuration.
|
||||
|
||||
Required properties for pin controller node:
|
||||
- compatible: "oxsemi,ox810se-pinctrl"
|
||||
- compatible: "oxsemi,ox810se-pinctrl" or "oxsemi,ox820-pinctrl"
|
||||
- oxsemi,sys-ctrl: a phandle to the system controller syscon node
|
||||
|
||||
Required properties for pin configuration sub-nodes:
|
||||
|
@@ -97,6 +97,11 @@ For example:
|
||||
};
|
||||
|
||||
== Pin controller devices ==
|
||||
Required properties: See the pin controller driver specific documentation
|
||||
|
||||
Optional properties:
|
||||
#pinctrl-cells: Number of pin control cells in addition to the index within the
|
||||
pin controller device instance
|
||||
|
||||
Pin controller devices should contain the pin configuration nodes that client
|
||||
devices reference.
|
||||
@@ -119,7 +124,8 @@ For example:
|
||||
|
||||
The contents of each of those pin configuration child nodes is defined
|
||||
entirely by the binding for the individual pin controller device. There
|
||||
exists no common standard for this content.
|
||||
exists no common standard for this content. The pinctrl framework only
|
||||
provides generic helper bindings that the pin controller driver can use.
|
||||
|
||||
The pin configuration nodes need not be direct children of the pin controller
|
||||
device; they may be grandchildren, for example. Whether this is legal, and
|
||||
@@ -156,6 +162,42 @@ state_2_node_a {
|
||||
pins = "mfio29", "mfio30";
|
||||
};
|
||||
|
||||
Optionally an altenative binding can be used if more suitable depending on the
|
||||
pin controller hardware. For hardaware where there is a large number of identical
|
||||
pin controller instances, naming each pin and function can easily become
|
||||
unmaintainable. This is especially the case if the same controller is used for
|
||||
different pins and functions depending on the SoC revision and packaging.
|
||||
|
||||
For cases like this, the pin controller driver may use pinctrl-pin-array helper
|
||||
binding with a hardware based index and a number of pin configuration values:
|
||||
|
||||
pincontroller {
|
||||
... /* Standard DT properties for the device itself elided */
|
||||
#pinctrl-cells = <2>;
|
||||
|
||||
state_0_node_a {
|
||||
pinctrl-pin-array = <
|
||||
0 A_DELAY_PS(0) G_DELAY_PS(120)
|
||||
4 A_DELAY_PS(0) G_DELAY_PS(360)
|
||||
...
|
||||
>;
|
||||
};
|
||||
...
|
||||
};
|
||||
|
||||
Above #pinctrl-cells specifies the number of value cells in addition to the
|
||||
index of the registers. This is similar to the interrupts-extended binding with
|
||||
one exception. There is no need to specify the phandle for each entry as that
|
||||
is already known as the defined pins are always children of the pin controller
|
||||
node. Further having the phandle pointing to another pin controller would not
|
||||
currently work as the pinctrl framework uses named modes to group pins for each
|
||||
pin control device.
|
||||
|
||||
The index for pinctrl-pin-array must relate to the hardware for the pinctrl
|
||||
registers, and must not be a virtual index of pin instances. The reason for
|
||||
this is to avoid mapping of the index in the dts files and the pin controller
|
||||
driver as it can change.
|
||||
|
||||
== Generic pin configuration node content ==
|
||||
|
||||
Many data items that are represented in a pin configuration node are common
|
||||
|
@@ -35,6 +35,15 @@ Optional properties:
|
||||
- ti,palmas-enable-dvfs2: Enable DVFS2. Configure pins for DVFS2 mode.
|
||||
Selection primary or secondary function associated to GPADC_START
|
||||
and SYSEN2 pin/pad for DVFS2 interface
|
||||
- ti,palmas-override-powerhold: This is applicable for PMICs for which
|
||||
GPIO7 is configured in POWERHOLD mode which has higher priority
|
||||
over DEV_ON bit and keeps the PMIC supplies on even after the DEV_ON
|
||||
bit is turned off. This property enables driver to over ride the
|
||||
POWERHOLD value to GPIO7 so as to turn off the PMIC in power off
|
||||
scenarios. So for GPIO7 if ti,palmas-override-powerhold is set
|
||||
then the GPIO_7 field should never be muxed to anything else.
|
||||
It should be set to POWERHOLD by default and only in case of
|
||||
power off scenarios the driver will over ride the mux value.
|
||||
|
||||
This binding uses the following generic properties as defined in
|
||||
pinctrl-bindings.txt:
|
||||
|
@@ -6,10 +6,15 @@ pin controller, GPIO, and interrupt bindings.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of :
|
||||
"semtech,sx1501q",
|
||||
"semtech,sx1502q",
|
||||
"semtech,sx1503q",
|
||||
"semtech,sx1504q",
|
||||
"semtech,sx1505q",
|
||||
"semtech,sx1506q",
|
||||
"semtech,sx1507q",
|
||||
"semtech,sx1508q",
|
||||
"semtech,sx1509q",
|
||||
"semtech,sx1502q".
|
||||
"semtech,sx1509q".
|
||||
|
||||
- reg: The I2C slave address for this device.
|
||||
|
||||
@@ -27,7 +32,7 @@ Optional properties :
|
||||
- interrupt-controller: Marks the device as a interrupt controller.
|
||||
|
||||
- semtech,probe-reset: Will trigger a reset of the GPIO expander on probe,
|
||||
only for sx1508q and sx1509q
|
||||
only for sx1507q, sx1508q and sx1509q
|
||||
|
||||
The GPIO expander can optionally be used as an interrupt controller, in
|
||||
which case it uses the default two cell specifier.
|
||||
@@ -42,7 +47,7 @@ Optional properties for pin configuration sub-nodes:
|
||||
- bias-pull-down: pull down the pin, except the OSCIO pin
|
||||
- bias-pull-pin-default: use pin-default pull state, except the OSCIO pin
|
||||
- drive-push-pull: drive actively high and low
|
||||
- drive-open-drain: drive with open drain only for sx1508q and sx1509q and except the OSCIO pin
|
||||
- drive-open-drain: drive with open drain only for sx1507q, sx1508q and sx1509q and except the OSCIO pin
|
||||
- output-low: set the pin to output mode with low level
|
||||
- output-high: set the pin to output mode with high level
|
||||
|
||||
|
@@ -0,0 +1,177 @@
|
||||
Qualcomm MSM8994 TLMM block
|
||||
|
||||
This binding describes the Top Level Mode Multiplexer block found in the
|
||||
MSM8994 platform.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Should contain one of:
|
||||
"qcom,msm8992-pinctrl",
|
||||
"qcom,msm8994-pinctrl".
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: the base address and size of the TLMM register space.
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should specify the TLMM summary IRQ.
|
||||
|
||||
- interrupt-controller:
|
||||
Usage: required
|
||||
Value type: <none>
|
||||
Definition: identifies this node as an interrupt controller
|
||||
|
||||
- #interrupt-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be 2. Specifying the pin number and flags, as defined
|
||||
in <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
- gpio-controller:
|
||||
Usage: required
|
||||
Value type: <none>
|
||||
Definition: identifies this node as a gpio controller
|
||||
|
||||
- #gpio-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be 2. Specifying the pin number and flags, as defined
|
||||
in <dt-bindings/gpio/gpio.h>
|
||||
|
||||
Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
|
||||
a general description of GPIO and interrupt bindings.
|
||||
|
||||
Please refer to pinctrl-bindings.txt in this directory for details of the
|
||||
common pinctrl bindings used by client devices, including the meaning of the
|
||||
phrase "pin configuration node".
|
||||
|
||||
The pin configuration nodes act as a container for an arbitrary number of
|
||||
subnodes. Each of these subnodes represents some desired configuration for a
|
||||
pin, a group, or a list of pins or groups. This configuration can include the
|
||||
mux function to select on those pin(s)/group(s), and various pin configuration
|
||||
parameters, such as pull-up, drive strength, etc.
|
||||
|
||||
|
||||
PIN CONFIGURATION NODES:
|
||||
|
||||
The name of each subnode is not important; all subnodes should be enumerated
|
||||
and processed purely based on their content.
|
||||
|
||||
Each subnode only affects those parameters that are explicitly listed. In
|
||||
other words, a subnode that lists a mux function but no pin configuration
|
||||
parameters implies no information about any pin configuration parameters.
|
||||
Similarly, a pin subnode that describes a pullup parameter implies no
|
||||
information about e.g. the mux function.
|
||||
|
||||
|
||||
The following generic properties as defined in pinctrl-bindings.txt are valid
|
||||
to specify in a pin configuration subnode:
|
||||
|
||||
- pins:
|
||||
Usage: required
|
||||
Value type: <string-array>
|
||||
Definition: List of gpio pins affected by the properties specified in
|
||||
this subnode.
|
||||
|
||||
Valid pins are:
|
||||
gpio0-gpio145
|
||||
Supports mux, bias and drive-strength
|
||||
|
||||
sdc1_clk, sdc1_cmd, sdc1_data sdc1_rclk, sdc2_clk,
|
||||
sdc2_cmd, sdc2_data
|
||||
Supports bias and drive-strength
|
||||
|
||||
- function:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Specify the alternative function to be configured for the
|
||||
specified pins. Functions are only valid for gpio pins.
|
||||
Valid values are:
|
||||
|
||||
audio_ref_clk, blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c4, blsp_i2c5,
|
||||
blsp_i2c6, blsp_i2c7, blsp_i2c8, blsp_i2c9, blsp_i2c10, blsp_i2c11,
|
||||
blsp_i2c12, blsp_spi1, blsp_spi1_cs1, blsp_spi1_cs2, blsp_spi1_cs3,
|
||||
blsp_spi2, blsp_spi2_cs1, blsp_spi2_cs2, blsp_spi2_cs3, blsp_spi3,
|
||||
blsp_spi4, blsp_spi5, blsp_spi6, blsp_spi7, blsp_spi8, blsp_spi9,
|
||||
blsp_spi10, blsp_spi10_cs1, blsp_spi10_cs2, blsp_spi10_cs3, blsp_spi11,
|
||||
blsp_spi12, blsp_uart1, blsp_uart2, blsp_uart3, blsp_uart4, blsp_uart5,
|
||||
blsp_uart6, blsp_uart7, blsp_uart8, blsp_uart9, blsp_uart10, blsp_uart11,
|
||||
blsp_uart12, blsp_uim1, blsp_uim2, blsp_uim3, blsp_uim4, blsp_uim5,
|
||||
blsp_uim6, blsp_uim7, blsp_uim8, blsp_uim9, blsp_uim10, blsp_uim11,
|
||||
blsp_uim12, blsp11_i2c_scl_b, blsp11_i2c_sda_b, blsp11_uart_rx_b,
|
||||
blsp11_uart_tx_b, cam_mclk0, cam_mclk1, cam_mclk2, cam_mclk3,
|
||||
cci_async_in0, cci_async_in1, cci_async_in2, cci_i2c0, cci_i2c1,
|
||||
cci_timer0, cci_timer1, cci_timer2, cci_timer3, cci_timer4,
|
||||
gcc_gp1_clk_a, gcc_gp1_clk_b, gcc_gp2_clk_a, gcc_gp2_clk_b, gcc_gp3_clk_a,
|
||||
gcc_gp3_clk_b, gp_mn, gp_pdm0, gp_pdm1, gp_pdm2, gp0_clk,
|
||||
gp1_clk, gps_tx, gsm_tx, hdmi_cec, hdmi_ddc, hdmi_hpd, hdmi_rcv,
|
||||
mdp_vsync, mss_lte, nav_pps, nav_tsync, qdss_cti_trig_in_a,
|
||||
qdss_cti_trig_in_b, qdss_cti_trig_in_c, qdss_cti_trig_in_d,
|
||||
qdss_cti_trig_out_a, qdss_cti_trig_out_b, qdss_cti_trig_out_c,
|
||||
qdss_cti_trig_out_d, qdss_traceclk_a, qdss_traceclk_b, qdss_tracectl_a,
|
||||
qdss_tracectl_b, qdss_tracedata_a, qdss_tracedata_b, qua_mi2s, pci_e0,
|
||||
pci_e1, pri_mi2s, sdc4, sec_mi2s, slimbus, spkr_i2s, ter_mi2s, tsif1,
|
||||
tsif2, uim_batt_alarm, uim1, uim2, uim3, uim4, gpio
|
||||
|
||||
- bias-disable:
|
||||
Usage: optional
|
||||
Value type: <none>
|
||||
Definition: The specified pins should be configued as no pull.
|
||||
|
||||
- bias-pull-down:
|
||||
Usage: optional
|
||||
Value type: <none>
|
||||
Definition: The specified pins should be configued as pull down.
|
||||
|
||||
- bias-pull-up:
|
||||
Usage: optional
|
||||
Value type: <none>
|
||||
Definition: The specified pins should be configued as pull up.
|
||||
|
||||
- output-high:
|
||||
Usage: optional
|
||||
Value type: <none>
|
||||
Definition: The specified pins are configured in output mode, driven
|
||||
high.
|
||||
Not valid for sdc pins.
|
||||
|
||||
- output-low:
|
||||
Usage: optional
|
||||
Value type: <none>
|
||||
Definition: The specified pins are configured in output mode, driven
|
||||
low.
|
||||
Not valid for sdc pins.
|
||||
|
||||
- drive-strength:
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Selects the drive strength for the specified pins, in mA.
|
||||
Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16
|
||||
|
||||
Example:
|
||||
|
||||
msmgpio: pinctrl@fd510000 {
|
||||
compatible = "qcom,msm8994-pinctrl";
|
||||
reg = <0xfd510000 0x4000>;
|
||||
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
blsp1_uart2_default: blsp1_uart2_default {
|
||||
pinmux {
|
||||
pins = "gpio4", "gpio5";
|
||||
function = "blsp_uart2";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio4", "gpio5";
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
@@ -19,10 +19,11 @@ The pins are grouped into up to 5 individual pin banks which need to be
|
||||
defined as gpio sub-nodes of the pinmux controller.
|
||||
|
||||
Required properties for iomux controller:
|
||||
- compatible: one of "rockchip,rk2928-pinctrl", "rockchip,rk3066a-pinctrl"
|
||||
"rockchip,rk3066b-pinctrl", "rockchip,rk3188-pinctrl"
|
||||
"rockchip,rk3228-pinctrl", "rockchip,rk3288-pinctrl"
|
||||
"rockchip,rk3368-pinctrl", "rockchip,rk3399-pinctrl"
|
||||
- compatible: one of "rockchip,rk1108-pinctrl", "rockchip,rk2928-pinctrl"
|
||||
"rockchip,rk3066a-pinctrl", "rockchip,rk3066b-pinctrl"
|
||||
"rockchip,rk3188-pinctrl", "rockchip,rk3228-pinctrl"
|
||||
"rockchip,rk3288-pinctrl", "rockchip,rk3368-pinctrl"
|
||||
"rockchip,rk3399-pinctrl"
|
||||
- rockchip,grf: phandle referencing a syscon providing the
|
||||
"general register files"
|
||||
|
||||
|
@@ -19,11 +19,30 @@ Required Properties:
|
||||
- "samsung,exynos5260-pinctrl": for Exynos5260 compatible pin-controller.
|
||||
- "samsung,exynos5410-pinctrl": for Exynos5410 compatible pin-controller.
|
||||
- "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller.
|
||||
- "samsung,exynos5433-pinctrl": for Exynos5433 compatible pin-controller.
|
||||
- "samsung,exynos7-pinctrl": for Exynos7 compatible pin-controller.
|
||||
|
||||
- reg: Base address of the pin controller hardware module and length of
|
||||
the address space it occupies.
|
||||
|
||||
- reg: Second base address of the pin controller if the specific registers
|
||||
of the pin controller are separated into the different base address.
|
||||
|
||||
Eg: GPF[1-5] of Exynos5433 are separated into the two base address.
|
||||
- First base address is for GPAx and GPF[1-5] external interrupt
|
||||
registers.
|
||||
- Second base address is for GPF[1-5] pinctrl registers.
|
||||
|
||||
pinctrl_0: pinctrl@10580000 {
|
||||
compatible = "samsung,exynos5433-pinctrl";
|
||||
reg = <0x10580000 0x1a20>, <0x11090000 0x100>;
|
||||
|
||||
wakeup-interrupt-controller {
|
||||
compatible = "samsung,exynos7-wakeup-eint";
|
||||
interrupts = <0 16 0>;
|
||||
};
|
||||
};
|
||||
|
||||
- Pin banks as child nodes: Pin banks of the controller are represented by child
|
||||
nodes of the controller node. Bank name is taken from name of the node. Each
|
||||
bank node must contain following properties:
|
||||
|
55
Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.txt
Normal file
55
Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.txt
Normal file
@@ -0,0 +1,55 @@
|
||||
* Pin configuration for TI DA850/OMAP-L138/AM18x
|
||||
|
||||
These SoCs have a separate controller for setting bias (internal pullup/down).
|
||||
Bias can only be selected for groups rather than individual pins.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: Must be "ti,da850-pupd"
|
||||
- reg: Base address and length of the memory resource used by the pullup/down
|
||||
controller hardware module.
|
||||
|
||||
The controller node also acts as a container for pin group configuration nodes.
|
||||
The names of these groups are ignored.
|
||||
|
||||
Pin Group Node Properties:
|
||||
|
||||
- groups: An array of strings, each string containing the name of a pin group.
|
||||
Valid names are "cp0".."cp31".
|
||||
|
||||
The pin configuration parameters use the generic pinconf bindings defined in
|
||||
pinctrl-bindings.txt in this directory. The supported parameters are
|
||||
bias-disable, bias-pull-up, bias-pull-down.
|
||||
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
In common dtsi file:
|
||||
|
||||
pinconf: pin-controller@22c00c {
|
||||
compatible = "ti,da850-pupd";
|
||||
reg = <0x22c00c 0x8>;
|
||||
};
|
||||
|
||||
In board-specific file:
|
||||
|
||||
&pinconf {
|
||||
pinctrl-0 = <&pinconf_bias_groups>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
pinconf_bias_groups: bias-groups {
|
||||
pull-up {
|
||||
groups = "cp30", "cp31";
|
||||
bias-pull-up;
|
||||
};
|
||||
pull-down {
|
||||
groups = "cp29", "cp28";
|
||||
bias-pull-down;
|
||||
};
|
||||
disable {
|
||||
groups = "cp27", "cp26";
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user