| /linux/arch/arm/boot/dts/samsung/ | 
| H A D | exynos5410-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Exynos5410 SoC pin-mux and pin-config device tree source
 9 #include "exynos-pinctrl.h"
 12 	gpa0: gpa0-gpio-bank {
 13 		gpio-controller;
 14 		#gpio-cells = <2>;
 16 		interrupt-controller;
 17 		#interrupt-cells = <2>;
 20 	gpa1: gpa1-gpio-bank {
 21 		gpio-controller;
 [all …]
 
 | 
| H A D | exynos5250-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's Exynos5250 SoC pin-mux and pin-config device tree source
 8  * Samsung's Exynos5250 SoC pin-mux and pin-config options are listed as device
 12 #include "exynos-pinctrl.h"
 15 	gpa0: gpa0-gpio-bank {
 16 		gpio-controller;
 17 		#gpio-cells = <2>;
 19 		interrupt-controller;
 20 		#interrupt-cells = <2>;
 23 	gpa1: gpa1-gpio-bank {
 [all …]
 
 | 
| H A D | exynos5260-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's Exynos5260 SoC pin-mux and pin-config device tree source
 8  * Samsung's Exynos5260 SoC pin-mux and pin-config options are listed as device
 12 #include "exynos-pinctrl.h"
 15 	gpa0: gpa0-gpio-bank {
 16 		gpio-controller;
 17 		#gpio-cells = <2>;
 19 		interrupt-controller;
 20 		#interrupt-cells = <2>;
 23 	gpa1: gpa1-gpio-bank {
 [all …]
 
 | 
| H A D | exynos5420-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's Exynos5420 SoC pin-mux and pin-config device tree source
 8  * Samsung's Exynos5420 SoC pin-mux and pin-config options are listed as device
 12 #include "exynos-pinctrl.h"
 15 	gpy7: gpy7-gpio-bank {
 16 		gpio-controller;
 17 		#gpio-cells = <2>;
 19 		interrupt-controller;
 20 		#interrupt-cells = <2>;
 23 	gpx0: gpx0-gpio-bank {
 [all …]
 
 | 
| H A D | exynos4x12-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's Exynos4x12 SoCs pin-mux and pin-config device tree source
 8  * Samsung's Exynos4x12 SoCs pin-mux and pin-config options are listed as device
 12 #include "exynos-pinctrl.h"
 15 	pin- ## _pin {							\
 17 		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_ ##_mode>;	\
 18 		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>;	\
 22 	gpa0: gpa0-gpio-bank {
 23 		gpio-controller;
 24 		#gpio-cells = <2>;
 [all …]
 
 | 
| H A D | exynos4210-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's Exynos4210 SoC pin-mux and pin-config device tree source
 5  * Copyright (c) 2011-2012 Samsung Electronics Co., Ltd.
 7  * Copyright (c) 2011-2012 Linaro Ltd.
 10  * Samsung's Exynos4210 SoC pin-mux and pin-config options are listed as device
 14 #include "exynos-pinctrl.h"
 17 	gpa0: gpa0-gpio-bank {
 18 		gpio-controller;
 19 		#gpio-cells = <2>;
 21 		interrupt-controller;
 [all …]
 
 | 
| H A D | exynos3250-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's Exynos3250 SoCs pin-mux and pin-config device tree source
 8  * Samsung's Exynos3250 SoCs pin-mux and pin-config options are listed as device
 12 #include "exynos-pinctrl.h"
 15 	pin- ## _pin {							\
 17 		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;		\
 18 		samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>;		\
 19 		samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>;		\
 23 	pin- ## _pin {							\
 25 		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_ ##_mode>;	\
 [all …]
 
 | 
| H A D | s5pv210-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's S5PV210 SoC device tree source - pin control-related
 6  * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
 11  * Samsung's S5PV210 SoC pin banks, pin-mux and pin-config options are
 15 #include "s5pv210-pinctrl.h"
 18 	pin- ## _pin {							\
 20 		samsung,pin-con-pdn = <S5PV210_PIN_PDN_ ##_mode>;	\
 21 		samsung,pin-pud-pdn = <S5PV210_PIN_PULL_ ##_pull>;	\
 25 	gpa0: gpa0-gpio-bank {
 26 		gpio-controller;
 [all …]
 
 | 
| H A D | s3c64xx-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.04  * - pin control-related definitions
 8  * Samsung's S3C64xx SoCs pin banks, pin-mux and pin-config options are
 12 #include "s3c64xx-pinctrl.h"
 16 	 * Pin banks
 19 	gpa: gpa-gpio-bank {
 20 		gpio-controller;
 21 		#gpio-cells = <2>;
 22 		interrupt-controller;
 23 		#interrupt-cells = <2>;
 [all …]
 
 | 
| /linux/arch/arm64/boot/dts/exynos/ | 
| H A D | exynos5433-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's Exynos5433 SoC pin-mux and pin-config device tree source
 8  * Samsung's Exynos5433 SoC pin-mux and pin-config options are listed as device
 12 #include "exynos-pinctrl.h"
 14 #define PIN(_pin, _func, _pull, _drv)					\  macro
 15 	pin- ## _pin {							\
 17 		samsung,pin-function = <EXYNOS_PIN_FUNC_ ##_func>;	\
 18 		samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>;		\
 19 		samsung,pin-drv = <EXYNOS5433_PIN_DRV_ ##_drv>;		\
 23 	PIN(_pin, INPUT, _pull, _drv)
 [all …]
 
 | 
| H A D | exynos7-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's Exynos7 SoC pin-mux and pin-config device tree source
 8  * Samsung's Exynos7 SoC pin-mux and pin-config options are listed as
 12 #include "exynos-pinctrl.h"
 15 	gpa0: gpa0-gpio-bank {
 16 		gpio-controller;
 17 		#gpio-cells = <2>;
 19 		interrupt-controller;
 20 		interrupt-parent = <&gic>;
 21 		#interrupt-cells = <2>;
 [all …]
 
 | 
| H A D | exynos7870-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung Exynos7870 SoC pin-mux and pin-config device tree source
 9 #include <dt-bindings/interrupt-controller/arm-gic.h>
 10 #include "exynos-pinctrl.h"
 13 	etc0: etc0-gpio-bank {
 14 		gpio-controller;
 15 		#gpio-cells = <2>;
 17 		interrupt-controller;
 18 		#interrupt-cells = <2>;
 21 	etc1: etc1-gpio-bank {
 [all …]
 
 | 
| H A D | exynos850-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's Exynos850 SoC pin-mux and pin-config device tree source
 8  * Samsung's Exynos850 SoC pin-mux and pin-config options are listed as device
 12 #include <dt-bindings/interrupt-controller/arm-gic.h>
 13 #include "exynos-pinctrl.h"
 16 	gpa0: gpa0-gpio-bank {
 17 		gpio-controller;
 18 		#gpio-cells = <2>;
 20 		interrupt-controller;
 21 		#interrupt-cells = <2>;
 [all …]
 
 | 
| H A D | exynos7885-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung Exynos7885 SoC pin-mux and pin-config device tree source
 8  * Samsung's Exynos7885 SoC pin-mux and pin-config options are listed as
 12 #include <dt-bindings/interrupt-controller/arm-gic.h>
 13 #include "exynos-pinctrl.h"
 16 	etc0: etc0-gpio-bank {
 17 		gpio-controller;
 18 		#gpio-cells = <2>;
 20 		interrupt-controller;
 21 		#interrupt-cells = <2>;
 [all …]
 
 | 
| H A D | exynosautov920-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's ExynosAutov920 SoC pin-mux and pin-config device tree source
 7  * Samsung's ExynosAutov920 SoC pin-mux and pin-config options are listed as
 11 #include <dt-bindings/interrupt-controller/arm-gic.h>
 13 #include "exynos-pinctrl.h"
 16 	gpa0: gpa0-gpio-bank {
 17 		gpio-controller;
 18 		#gpio-cells = <2>;
 19 		interrupt-controller;
 20 		#interrupt-cells = <2>;
 [all …]
 
 | 
| H A D | exynosautov9-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Samsung's ExynosAutov9 SoC pin-mux and pin-config device tree source
 7  * Samsung's ExynosAutov9 SoC pin-mux and pin-config options are listed as
 11 #include "exynos-pinctrl.h"
 14 	gpa0: gpa0-gpio-bank {
 15 		gpio-controller;
 16 		#gpio-cells = <2>;
 17 		interrupt-controller;
 18 		#interrupt-cells = <2>;
 19 		interrupt-parent = <&gic>;
 [all …]
 
 | 
| /linux/arch/arm64/boot/dts/tesla/ | 
| H A D | fsd-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Tesla Full Self-Driving SoC device tree source
 5  * Copyright (c) 2017-2021 Samsung Electronics Co., Ltd.
 7  * Copyright (c) 2017-2021 Tesla, Inc.
 11 #include "fsd-pinctrl.h"
 14 	gpf0: gpf0-gpio-bank {
 15 		gpio-controller;
 16 		#gpio-cells = <2>;
 18 		interrupt-controller;
 19 		#interrupt-cells = <2>;
 [all …]
 
 | 
| /linux/arch/arm64/boot/dts/exynos/google/ | 
| H A D | gs101-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only3  * GS101 SoC pin-mux and pin-config device tree source
 5  * Copyright 2019-2023 Google LLC
 6  * Copyright 2023 Linaro Ltd - <peter.griffin@linaro.org>
 9 #include "gs101-pinctrl.h"
 12 	gpa0: gpa0-gpio-bank {
 13 		gpio-controller;
 14 		#gpio-cells = <2>;
 15 		interrupt-controller;
 16 		#interrupt-cells = <2>;
 [all …]
 
 | 
| /linux/drivers/gpio/ | 
| H A D | gpio-zevio.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * GPIO controller in LSI ZEVIO SoCs.
 5  * Author: Fabian Vogt <fabian@ritter-vogt.de>
 26 …* http://hackspire.unsads.com/wiki/index.php/Memory-mapped_I/O_ports#90000000_-_General_Purpose_I.…
 28  * 0x00-0x3F: Section 0
 29  *     +0x00: Masked interrupt status (read-only)
 32  *     +0x0C: W: Unmask interrupt (write-only)
 35  *     +0x18: Input (read-only)
 37  * 0x40-0x7F: Section 1
 38  * 0x80-0xBF: Section 2
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/pinctrl/ | 
| H A D | pinmux-node.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only3 ---
 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 | renesas,rza1-ports.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/pinctrl/renesas,rza1-ports.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Renesas RZ/A1 combined Pin and GPIO controller
 10   - Jacopo Mondi <jacopo+renesas@jmondi.org>
 11   - Geert Uytterhoeven <geert+renesas@glider.be>
 14   The Renesas SoCs of the RZ/A1 family feature a combined Pin and GPIO
 15   controller, named "Ports" in the hardware reference manual.
 16   Pin multiplexing and GPIO configuration is performed on a per-pin basis
 [all …]
 
 | 
| H A D | pinctrl.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause3 ---
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Pin controller device
 10   - Linus Walleij <linus.walleij@linaro.org>
 11   - Rafał Miłecki <rafal@milecki.pl>
 14   Pin controller devices should contain the pin configuration nodes that client
 17   The contents of each of those pin configuration child nodes is defined
 18   entirely by the binding for the individual pin controller device. There
 20   provides generic helper bindings that the pin controller driver can use.
 [all …]
 
 | 
| H A D | pinctrl-bindings.txt | 3 Hardware modules that control pin multiplexing or configuration parameters4 such as pull-up/down, tri-state, drive-strength etc are designated as pin
 5 controllers. Each pin controller must be represented as a node in device tree,
 8 Hardware modules whose signals are affected by pin configuration are
 12 For a client device to operate correctly, certain pin controllers must
 13 set up certain specific pin configurations. Some client devices need a
 14 single static pin configuration, e.g. set up during initialization. Others
 15 need to reconfigure pins at run-time, for example to tri-state pins when the
 21 for client device device tree nodes to map those state names to the pin
 24 Note that pin controllers themselves may also be client devices of themselves.
 [all …]
 
 | 
| /linux/drivers/pinctrl/samsung/ | 
| H A D | pinctrl-exynos-arm.c | 1 // SPDX-License-Identifier: GPL-2.0+20 #include <linux/soc/samsung/exynos-regs-pmu.h>
 22 #include "pinctrl-samsung.h"
 23 #include "pinctrl-exynos.h"
 35 /* Retention control for S5PV210 are located at the end of clock controller */
 49 	unsigned int  *pud_val = drvdata->pud_val;  in s5pv210_pud_value_init()
 58 	void __iomem *clk_base = (void __iomem *)drvdata->retention_ctrl->priv;  in s5pv210_retention_disable()
 75 	ctrl = devm_kzalloc(drvdata->dev, sizeof(*ctrl), GFP_KERNEL);  in s5pv210_retention_init()
 77 		return ERR_PTR(-ENOMEM);  in s5pv210_retention_init()
 79 	np = of_find_compatible_node(NULL, NULL, "samsung,s5pv210-clock");  in s5pv210_retention_init()
 [all …]
 
 | 
| /linux/Documentation/driver-api/ | 
| H A D | pin-control.rst | 2 PINCTRL (PIN CONTROL) subsystem5 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 …]
 
 |