/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | pinctrl-single.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pinctrl/pinctrl-single.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic Pin Controller with a Single Register for One or More Pins 10 - Tony Lindgren <tony@atomide.com> 13 Some pin controller devices use a single register for one or more pins. The 14 range of pin control registers can vary from one to many for each controller 16 kind of pin controller instances. 21 - enum: [all …]
|
H A D | pinmux-node.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/pinctrl/pinmux-node.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic Pin Multiplexing Node 10 - Linus Walleij <linus.walleij@linaro.org> 13 The contents of the pin configuration child nodes are defined by the binding 14 for the individual pin controller device. The pin configuration nodes need not 15 be direct children of the pin controller device; they may be grandchildren, 18 the binding for the individual pin controller device. [all …]
|
H A D | ste,nomadik.txt | 4 - compatible: "stericsson,db8500-pinctrl", "stericsson,db8540-pinctrl", 5 "stericsson,stn8815-pinctrl" 6 - nomadik-gpio-chips: array of phandles to the corresponding GPIO chips 7 (these have the register ranges used by the pin controller). 8 - prcm: phandle to the PRCMU managing the back end of this pin controller 10 Please refer to pinctrl-bindings.txt in this directory for details of the 11 common pinctrl bindings used by client devices, including the meaning of the 12 phrase "pin configuration node". 14 ST Ericsson's pin configuration nodes act as a container for an arbitrary number of 16 pin, a group, or a list of pins or groups. This configuration can include the [all …]
|
H A D | actions,s700-pinctrl.txt | 1 Actions Semi S700 Pin Controller 3 This binding describes the pin controller found in the S700 SoC. 7 - compatible: Should be "actions,s700-pinctrl" 8 - reg: Should contain the register base address and size of 9 the pin controller. 10 - clocks: phandle of the clock feeding the pin controller 11 - gpio-controller: Marks the device node as a GPIO controller. 12 - gpio-ranges: Specifies the mapping between gpio controller and 13 pin-controller pins. 14 - #gpio-cells: Should be two. The first cell is the gpio pin number [all …]
|
H A D | bitmain,bm1880-pinctrl.txt | 1 Bitmain BM1880 Pin Controller 3 This binding describes the pin controller found in the BM1880 SoC. 7 - compatible: Should be "bitmain,bm1880-pinctrl" 8 - reg: Offset and length of pinctrl space in SCTRL. 10 Please refer to pinctrl-bindings.txt in this directory for details of the 11 common pinctrl bindings used by client devices, including the meaning of the 12 phrase "pin configuration node". 14 The pin configuration nodes act as a container for an arbitrary number of 16 pin, a group, or a list of pins or groups. This configuration for BM1880 SoC 17 includes pinmux and various pin configuration parameters, such as pull-up, [all …]
|
H A D | lantiq,pinctrl-falcon.txt | 4 - compatible: "lantiq,pinctrl-falcon" 5 - reg: Should contain the physical address and length of the gpio/pinmux 8 Please refer to pinctrl-bindings.txt in this directory for details of the 9 common pinctrl bindings used by client devices, including the meaning of the 10 phrase "pin configuration node". 12 Lantiq's pin configuration nodes act as a container for an arbitrary number of 14 pin, a group, or a list of pins or groups. This configuration can include the 15 mux function to select on those group(s), and two pin configuration parameters: 16 pull-up and open-drain 22 other words, a subnode that lists a mux function but no pin configuration [all …]
|
H A D | actions,s900-pinctrl.txt | 1 Actions Semi S900 Pin Controller 3 This binding describes the pin controller found in the S900 SoC. 7 - compatible: Should be "actions,s900-pinctrl" 8 - reg: Should contain the register base address and size of 9 the pin controller. 10 - clocks: phandle of the clock feeding the pin controller 11 - gpio-controller: Marks the device node as a GPIO controller. 12 - gpio-ranges: Specifies the mapping between gpio controller and 13 pin-controller pins. 14 - #gpio-cells: Should be two. The first cell is the gpio pin number [all …]
|
H A D | atmel,at91rm9200-pinctrl.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pinctrl/atmel,at91rm9200-pinctrl.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Manikandan Muralidharan <manikandan.m@microchip.com> 22 - items: 23 - enum: 24 - atmel,at91rm9200-pinctrl 25 - atmel,at91sam9x5-pinctrl 26 - atmel,sama5d3-pinctrl [all …]
|
H A D | fsl,mxs-pinctrl.txt | 1 * Freescale MXS Pin Controller 3 The pins controlled by mxs pin controller are organized in banks, each bank 4 has 32 pins. Each pin has 4 multiplexing functions, and generally, the 4th 6 voltage and pull-up. 9 - compatible: "fsl,imx23-pinctrl" or "fsl,imx28-pinctrl" 10 - reg: Should contain the register physical address and length for the 11 pin controller. 13 Please refer to pinctrl-bindings.txt in this directory for details of the 14 common pinctrl bindings used by client devices. 16 The node of mxs pin controller acts as a container for an arbitrary number of [all …]
|
H A D | canaan,k210-fpioa.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pinctrl/canaan,k210-fpioa.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Damien Le Moal <dlemoal@kernel.org> 13 The Canaan Kendryte K210 SoC Fully Programmable IO Array (FPIOA) 15 48 IO pins of the SoC. Pin function configuration is performed on 16 a per-pin basis. 20 const: canaan,k210-fpioa 29 - description: Controller reference clock source [all …]
|
H A D | st,stm32-pinctrl.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/pinctrl/st,stm32-pinctrl.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: STM32 GPIO and Pin Mux/Config controller 11 - Alexandre TORGUE <alexandre.torgue@foss.st.com> 14 STMicroelectronics's STM32 MCUs integrate a GPIO and Pin mux/config hardware 17 on-chip controllers onto these pads. 22 - st,stm32f429-pinctrl 23 - st,stm32f469-pinctrl [all …]
|
H A D | marvell,mvebu-pinctrl.txt | 1 * Marvell SoC pinctrl core driver for mpp 3 The pinctrl driver enables Marvell SoCs to configure the multi-purpose pins 7 Please refer to pinctrl-bindings.txt in this directory for details of the 8 common pinctrl bindings used by client devices, including the meaning of the 9 phrase "pin configuration node". 11 A Marvell SoC pin configuration node is a node of a group of pins which can 15 Required properties for pinctrl driver: 16 - compatible: "marvell,<soc>-pinctrl" 17 Please refer to each marvell,<soc>-pinctrl.txt binding doc for supported SoCs. 19 Required properties for pin configuration node: [all …]
|
/linux/drivers/pinctrl/intel/ |
H A D | pinctrl-tangier.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Intel Tangier pinctrl functions 17 #include <linux/pinctrl/pinctrl.h> 19 #include "pinctrl-intel.h" 28 * struct tng_family - Tangier pin family description 30 * @pin_base: Starting pin of pins in this family 47 .npins = (e) - (s) + 1, \ 54 .npins = (e) - (s) + 1, \ 59 * struct tng_pinctrl - Tangier pinctrl private structure 62 * @pctldesc: Pin controller description [all …]
|
H A D | pinctrl-intel.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Core pinctrl/GPIO driver for Intel GPIO controllers 19 #include <linux/pinctrl/pinctrl.h> 26 * struct intel_pingroup - Description about group of pins 27 * @grp: Generic data of the pin group (name and pins) 29 * @modes: If not %NULL this will hold mode for each pin in @pins 38 * struct intel_function - Description about a function 39 * @func: Generic data of the pin function (name and groups of pins) 48 * struct intel_padgroup - Hardware pad group information 50 * @base: Starting pin of this group [all …]
|
/linux/drivers/pinctrl/samsung/ |
H A D | pinctrl-samsung.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * pin-controller/pin-mux/pin-config/gpio-driver for Samsung's SoC's. 16 #include <linux/pinctrl/pinctrl.h> 17 #include <linux/pinctrl/pinmux.h> 18 #include <linux/pinctrl/pinconf.h> 19 #include <linux/pinctrl/consumer.h> 20 #include <linux/pinctrl/machine.h> 25 * enum pincfg_type - possible pin configuration types supported. 27 * @PINCFG_TYPE_DAT: Pin value configuration. 30 * @PINCFG_TYPE_CON_PDN: Pin function in power down mode. [all …]
|
/linux/drivers/pinctrl/qcom/ |
H A D | pinctrl-qdf2xxx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * GPIO and pin control functions on this SOC are handled by the "TLMM" 6 * device. The driver which controls this device is pinctrl-msm.c. Each 8 * with pinctrl-msm.c. This means that all TLMM drivers are pin control 11 * This pin control driver is intended to be used only an ACPI-enabled 12 * system. As such, UEFI will handle all pin control configuration, so 13 * this driver does not provide pin control functions. It is effectively 14 * a GPIO-only driver. The alternative is to duplicate the GPIO code of 15 * pinctrl-msm.c into another driver. 20 #include <linux/pinctrl/pinctrl.h> [all …]
|
/linux/include/linux/pinctrl/ |
H A D | pinctrl.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Interface the pinctrl subsystem 5 * Copyright (C) 2011 ST-Ericsson SA 6 * Written on behalf of Linaro for ST-Ericsson 30 * struct pingroup - provides information on pingroup 32 * @pins: an array of pins in the pingroup 50 * struct pinctrl_pin_desc - boards/machines provide information on their 52 * @number: unique pin number from the global pin number space 53 * @name: a name for this pin 54 * @drv_data: driver-defined per-pin data. pinctrl core does not touch this [all …]
|
H A D | machine.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Machine interface for the pinctrl subsystem. 5 * Copyright (C) 2011 ST-Ericsson SA 6 * Written on behalf of Linaro for ST-Ericsson 16 #include <linux/pinctrl/pinctrl-state.h> 27 * struct pinctrl_map_mux - mapping table content for MAP_TYPE_MUX_GROUP 39 * struct pinctrl_map_configs - mapping table content for MAP_TYPE_CONFIGS_* 40 * @group_or_pin: the name of the pin or group whose configuration parameters 42 * @configs: a pointer to an array of config parameters/values to program into 43 * hardware. Each individual pin controller defines the format and meaning [all …]
|
/linux/include/linux/gpio/ |
H A D | gpio-nomadik.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 93 .pin = pin_num,\ 127 * Used to reference an Other alternate-C function. 138 * struct prcm_gpio_altcx - Other alternate-C function 139 * @used: other alternate-C function availability 150 * struct prcm_gpio_altcx_pin_desc - Other alternate-C pin 151 * @pin: The pin number 152 * @altcx: array of other alternate-C[1-4] functions 155 unsigned short pin; member 160 * struct nmk_function - Nomadik pinctrl mux function [all …]
|
/linux/drivers/pinctrl/ |
H A D | core.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Core private header for the pin control subsystem 5 * Copyright (C) 2011 ST-Ericsson SA 6 * Written on behalf of Linaro for ST-Ericsson 14 #include <linux/radix-tree.h> 17 #include <linux/pinctrl/machine.h> 24 struct pinctrl; 30 * struct pinctrl_dev - pin control class device 31 * @node: node to include this pin controller in the global pin controller list 32 * @desc: the pin controller descriptor supplied when initializing this pin [all …]
|
/linux/drivers/pinctrl/bcm/ |
H A D | pinctrl-nsp-mux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * a group based selection. The gpio_a 8 - 11 are muxed with gpio_b and pwm. 10 * gpio_a (8 - 11) 11 * +---------- 13 * gpio_a (8-11) | gpio_b (0 - 3) 14 * ------------------------+-------+---------- 16 * | pwm (0 - 3) 17 * +---------- 27 #include <linux/pinctrl/pinconf-generic.h> 28 #include <linux/pinctrl/pinconf.h> [all …]
|
/linux/Documentation/driver-api/ |
H A D | pin-control.rst | 2 PINCTRL (PIN CONTROL) subsystem 5 This document outlines the pin control subsystem in Linux 9 - Enumerating and naming controllable pins 11 - Multiplexing of pins, pads, fingers (etc) see below for details 13 - Configuration of pins, pads, fingers (etc), such as software-controlled 14 biasing and driving mode specific pins, such as pull-up, pull-down, open drain, 17 Top-level interface 22 - A PIN CONTROLLER is a piece of hardware, usually a set of registers, that 26 - PINS are equal to pads, fingers, balls or whatever packaging input or 28 in the range 0..maxpin. This numberspace is local to each PIN CONTROLLER, so [all …]
|
/linux/drivers/pinctrl/nomadik/ |
H A D | pinctrl-abx500.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 34 * struct abx500_function - ABx500 pinctrl mux function 35 * @name: The name of the function, exported to pinctrl core. 36 * @groups: An array of pin groups that may select this function. 46 * struct abx500_pingroup - describes a ABx500 pin group 47 * @name: the name of this specific pin group 48 * @pins: an array of discrete physical pins used in this group, taken 49 * from the driver-local pin enumeration space 50 * @num_pins: the number of pins in this group array, i.e. the number of 51 * elements in .pins so we can iterate over that array [all …]
|
/linux/arch/arm/boot/dts/ti/omap/ |
H A D | dra74x-mmc-iodelay.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/ 14 * for your design, then you should consider adding values to the device- 15 * -tree file for your board directly. 33 mmc1_pins_default: mmc1-default-pins { 34 pinctrl-single,pins = < 44 mmc1_pins_sdr12: mmc1-sdr12-pins { 45 pinctrl-single,pins = < 55 mmc1_pins_hs: mmc1-hs-pins { 56 pinctrl-single,pins = < [all …]
|
H A D | dra76x-mmc-iodelay.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 12 * for your design, then you should consider adding values to the device- 13 * -tree file for your board directly. 30 mmc1_pins_default: mmc1-default-pins { 31 pinctrl-single,pins = < 41 mmc1_pins_hs: mmc1-hs-pins { 42 pinctrl-single,pins = < 52 mmc1_pins_sdr50: mmc1-sdr50-pins { 53 pinctrl-single,pins = < 63 mmc1_pins_ddr50: mmc1-ddr50-pins { [all …]
|