projects/linux·commit dc5fa465

Merge tag 'pinctrl-v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

dc5fa465 · Linus Torvalds <[email protected]> · 2019-11-27 10:00:33 -08:00

Pull pin control updates from Linus Walleij:
 "This is the bulk of pin control changes for v5.5.

  It is pretty much business as usual, the most interesting thing I
  think is the pin controller for a new Intel chip called Lightning
  Mountain, which is according to news reports some kind of embedded
  network processor and what is surprising about it is that Intel have
  decided to use device tree to describe the system rather than ACPI
  that they have traditionally favored.

  Core changes:

   - Avoid taking direct references to device tree-supplied device
     names: these may changed at runtime under certain circumstances to
     kstrdup them.

  GPIO related:

   - Work is ongoing to move to passing the irqchip along as a templated
     struct gpio_irq_chip when adding a standard gpiolib-based irqchip
     to a GPIO controller, a few patches in this cycle switches a few
     pin control drivers over to using this method.

  New hardware support:

   - Intel Lightning Mountain SoC pin controller and GPIO support, a
     first Intel platform to use device tree rather than ACPI to
     configure the system. News reports says that this SoC is a network
     processor.

   - Qualcomm MSM8976 and MSM8956

   - Qualcomm PMIC GPIO now also supports PM6150 and PM6150L

   - Qualcomm SPMI MPP and SPMI GPIO for PM8950 and PMI8950

   - Rockchip RK3308

   - Renesas R8A77961

   - Allwinner Meson-A1

  Driver improvements:

   - get_multiple and set_multiple support for the AT91-PIO4 driver.

   - Convert Qualcomm SSBI GPIO to use the hierarchical IRQ helpers in
     the GPIOlib irqchip"

* tag 'pinctrl-v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (93 commits)
  pinctrl: ingenic: Add OTG VBUS pin for the JZ4770
  pinctrl: ingenic: Handle PIN_CONFIG_OUTPUT config
  pinctrl: Fix Kconfig indentation
  pinctrl: lewisburg: Update pin list according to v1.1v6
  MAINTAINERS: Replace my email by one @kernel.org
  pinctrl: armada-37xx: Fix irq mask access in armada_37xx_irq_set_type()
  dt-bindings: pinctrl: intel: Add for new SoC
  pinctrl: Add pinmux & GPIO controller driver for a new SoC
  pinctrl: rza1: remove unnecessary static inline function
  pinctrl: meson: add pinctrl driver support for Meson-A1 SoC
  pinctrl: meson: add a new callback for SoCs fixup
  pinctrl: nomadik: db8500: Add mc0_a_2 pin group without direction control
  dt-bindings: pinctrl: Convert generic pin mux and config properties to schema
  pinctrl: cherryview: Missed type change to unsigned int
  pinctrl: intel: Missed type change to unsigned int
  pinctrl: use devm_platform_ioremap_resource() to simplify code
  pinctrl: just return if no valid maps
  dt-bindings: pinctrl: qcom-pmic-mpp: Add support for PM/PMI8950
  pinctrl: qcom: spmi-mpp: Add PM/PMI8950 compatible strings
  dt-bindings: pinctrl: qcom-pmic-gpio: Add support for PM/PMI8950
  ...
Commit
dc5fa4656864d3391cdf13512ffa0733ef72fcdc
Parents
3d9e3501 · ae75b53e

Merge commit. Changes below are compared with the first parent: 3d9e3501.

Changes

113 files changed · +6407 −1655

FileStatusAddDelContent
Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yamladded+243−0View file
Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txtdeleted+0−164View before deletion
Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yamladded+116−0View file
Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txtmodified+1−0View file
Documentation/devicetree/bindings/pinctrl/pincfg-node.yamladded+140−0View file
Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txtmodified+2−190View file
Documentation/devicetree/bindings/pinctrl/pinmux-node.yamladded+132−0View file
Documentation/devicetree/bindings/pinctrl/qcom,msm8976-pinctrl.txtadded+183−0View file
Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txtmodified+8−0View file
Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txtmodified+4−0View file
Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txtmodified+3−1View file
Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txtmodified+1−0View file
MAINTAINERSmodified+1−1View file
arch/sh/include/cpu-sh4/cpu/sh7734.hmodified+1−1View file
drivers/pinctrl/Kconfigmodified+27−9View file
drivers/pinctrl/Makefilemodified+1−0View file
drivers/pinctrl/actions/pinctrl-owl.cmodified+1−3View file
drivers/pinctrl/bcm/pinctrl-bcm281xx.cmodified+1−3View file
drivers/pinctrl/bcm/pinctrl-cygnus-mux.cmodified+2−5View file
drivers/pinctrl/bcm/pinctrl-iproc-gpio.cmodified+2−3View file
drivers/pinctrl/bcm/pinctrl-ns2-mux.cmodified+2−4View file
drivers/pinctrl/bcm/pinctrl-nsp-gpio.cmodified+56−63View file
drivers/pinctrl/bcm/pinctrl-nsp-mux.cmodified+2−4View file
drivers/pinctrl/devicetree.cmodified+30−20View file
drivers/pinctrl/devicetree.hmodified+0−7View file
drivers/pinctrl/freescale/Kconfigmodified+6−6View file
drivers/pinctrl/intel/Kconfigmodified+7−0View file
drivers/pinctrl/intel/Makefilemodified+1−0View file
drivers/pinctrl/intel/pinctrl-cherryview.cmodified+3−3View file
drivers/pinctrl/intel/pinctrl-intel.cmodified+63−56View file
drivers/pinctrl/intel/pinctrl-lewisburg.cmodified+86−85View file
drivers/pinctrl/intel/pinctrl-tigerlake.cadded+454−0View file
drivers/pinctrl/mediatek/pinctrl-mtk-common.cmodified+1−3View file
drivers/pinctrl/meson/Kconfigmodified+6−0View file
drivers/pinctrl/meson/Makefilemodified+1−0View file
drivers/pinctrl/meson/pinctrl-meson-a1.cadded+942−0View file
drivers/pinctrl/meson/pinctrl-meson-axg.cmodified+1−0View file
drivers/pinctrl/meson/pinctrl-meson-g12a.cmodified+9−0View file
drivers/pinctrl/meson/pinctrl-meson-gxbb.cmodified+1−0View file
drivers/pinctrl/meson/pinctrl-meson-gxl.cmodified+1−0View file
drivers/pinctrl/meson/pinctrl-meson.cmodified+29−9View file
drivers/pinctrl/meson/pinctrl-meson.hmodified+7−0View file
drivers/pinctrl/meson/pinctrl-meson8.cmodified+1−0View file
drivers/pinctrl/meson/pinctrl-meson8b.cmodified+1−0View file
drivers/pinctrl/mvebu/Kconfigmodified+5−5View file
drivers/pinctrl/mvebu/pinctrl-armada-37xx.cmodified+22−18View file
drivers/pinctrl/mvebu/pinctrl-mvebu.cmodified+1−3View file
drivers/pinctrl/mvebu/pinctrl-orion.cmodified+2−5View file
drivers/pinctrl/nomadik/pinctrl-nomadik-db8500.cmodified+11−1View file
drivers/pinctrl/nomadik/pinctrl-nomadik.cmodified+22−59View file
drivers/pinctrl/nuvoton/pinctrl-npcm7xx.cmodified+16−16View file
drivers/pinctrl/pinctrl-amd.cmodified+2−1View file
drivers/pinctrl/pinctrl-artpec6.cmodified+1−3View file
drivers/pinctrl/pinctrl-at91-pio4.cmodified+63−2View file
drivers/pinctrl/pinctrl-at91.cmodified+25−30View file
drivers/pinctrl/pinctrl-bm1880.cmodified+1−3View file
drivers/pinctrl/pinctrl-coh901.cmodified+24−30View file
drivers/pinctrl/pinctrl-da850-pupd.cmodified+1−3View file
drivers/pinctrl/pinctrl-digicolor.cmodified+1−3View file
drivers/pinctrl/pinctrl-equilibrium.cadded+944−0View file
drivers/pinctrl/pinctrl-equilibrium.hadded+144−0View file
drivers/pinctrl/pinctrl-ingenic.cmodified+41−9View file
drivers/pinctrl/pinctrl-lpc18xx.cmodified+1−3View file
drivers/pinctrl/pinctrl-ocelot.cmodified+14−9View file
drivers/pinctrl/pinctrl-oxnas.cmodified+14−15View file
drivers/pinctrl/pinctrl-pic32.cmodified+13−16View file
drivers/pinctrl/pinctrl-pistachio.cmodified+17−13View file
drivers/pinctrl/pinctrl-rockchip.cmodified+381−1View file
drivers/pinctrl/pinctrl-rza1.cmodified+1−7View file
drivers/pinctrl/pinctrl-rza2.cmodified+3−5View file
drivers/pinctrl/pinctrl-rzn1.cmodified+1−1View file
drivers/pinctrl/pinctrl-st.cmodified+32−21View file
drivers/pinctrl/pinctrl-stmfx.cmodified+21−0View file
drivers/pinctrl/pinctrl-tb10x.cmodified+1−3View file
drivers/pinctrl/pinctrl-u300.cmodified+1−3View file
drivers/pinctrl/pinctrl-xway.cmodified+1−3View file
drivers/pinctrl/pxa/pinctrl-pxa25x.cmodified+4−9View file
drivers/pinctrl/pxa/pinctrl-pxa27x.cmodified+4−9View file
drivers/pinctrl/qcom/Kconfigmodified+56−45View file
drivers/pinctrl/qcom/Makefilemodified+1−0View file
drivers/pinctrl/qcom/pinctrl-msm.cmodified+1−2View file
drivers/pinctrl/qcom/pinctrl-msm8976.cadded+1127−0View file
drivers/pinctrl/qcom/pinctrl-sc7180.cmodified+10−8View file
drivers/pinctrl/qcom/pinctrl-spmi-gpio.cmodified+5−0View file
drivers/pinctrl/qcom/pinctrl-spmi-mpp.cmodified+2−0View file
drivers/pinctrl/qcom/pinctrl-ssbi-gpio.cmodified+33−88View file
drivers/pinctrl/samsung/pinctrl-exynos.cmodified+11−3View file
drivers/pinctrl/samsung/pinctrl-s3c24xx.cmodified+5−1View file
drivers/pinctrl/samsung/pinctrl-s3c64xx.cmodified+5−1View file
drivers/pinctrl/samsung/pinctrl-samsung.cmodified+8−2View file
drivers/pinctrl/sh-pfc/Kconfigmodified+10−2View file
drivers/pinctrl/sh-pfc/Makefilemodified+3−1View file
drivers/pinctrl/sh-pfc/core.cmodified+20−12View file
drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.cmodified+1−1View file
drivers/pinctrl/sh-pfc/pfc-r8a7795.cmodified+1−1View file
drivers/pinctrl/sh-pfc/pfc-r8a7796.cmodified+31−4View file
drivers/pinctrl/sh-pfc/pfc-r8a77965.cmodified+453−410View file
drivers/pinctrl/sh-pfc/pfc-r8a77990.cmodified+30−27View file
drivers/pinctrl/sh-pfc/pfc-sh7734.cmodified+2−2View file
drivers/pinctrl/sh-pfc/sh_pfc.hmodified+5−3View file
drivers/pinctrl/sirf/pinctrl-atlas7.cmodified+21−20View file
drivers/pinctrl/sirf/pinctrl-sirf.cmodified+20−23View file
drivers/pinctrl/spear/pinctrl-plgpio.cmodified+22−29View file
drivers/pinctrl/spear/pinctrl-spear.cmodified+1−3View file
drivers/pinctrl/sprd/pinctrl-sprd.cmodified+22−1View file
drivers/pinctrl/sunxi/pinctrl-sunxi.cmodified+1−3View file
drivers/pinctrl/tegra/pinctrl-tegra-xusb.cmodified+7−3View file
drivers/pinctrl/tegra/pinctrl-tegra.cmodified+1−2View file
drivers/pinctrl/ti/pinctrl-ti-iodelay.cmodified+1−1View file
drivers/pinctrl/vt8500/pinctrl-wmt.cmodified+1−3View file
drivers/pinctrl/zte/pinctrl-zx.cmodified+1−3View file
include/dt-bindings/gpio/meson-a1-gpio.hadded+73−0View file
include/dt-bindings/pinctrl/at91.hmodified+2−2View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml
new file mode 100644
index 0000000..cd0503b
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml
@@ -0,0 +1,243 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/allwinner,sun4i-a10-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Allwinner A10 Pin Controller Device Tree Bindings
+
+maintainers:
+ - Chen-Yu Tsai <[email protected]>
+ - Maxime Ripard <[email protected]>
+
+properties:
+ "#gpio-cells":
+ const: 3
+ description:
+ GPIO consumers must use three arguments, first the number of the
+ bank, then the pin number inside that bank, and finally the GPIO
+ flags.
+
+ "#interrupt-cells":
+ const: 3
+ description:
+ Interrupts consumers must use three arguments, first the number
+ of the bank, then the pin number inside that bank, and finally
+ the interrupts flags.
+
+ compatible:
+ enum:
+ - allwinner,sun4i-a10-pinctrl
+ - allwinner,sun5i-a10s-pinctrl
+ - allwinner,sun5i-a13-pinctrl
+ - allwinner,sun6i-a31-pinctrl
+ - allwinner,sun6i-a31-r-pinctrl
+ - allwinner,sun6i-a31s-pinctrl
+ - allwinner,sun7i-a20-pinctrl
+ - allwinner,sun8i-a23-pinctrl
+ - allwinner,sun8i-a23-r-pinctrl
+ - allwinner,sun8i-a33-pinctrl
+ - allwinner,sun8i-a83t-pinctrl
+ - allwinner,sun8i-a83t-r-pinctrl
+ - allwinner,sun8i-h3-pinctrl
+ - allwinner,sun8i-h3-r-pinctrl
+ - allwinner,sun8i-r40-pinctrl
+ - allwinner,sun8i-v3-pinctrl
+ - allwinner,sun8i-v3s-pinctrl
+ - allwinner,sun9i-a80-pinctrl
+ - allwinner,sun9i-a80-r-pinctrl
+ - allwinner,sun50i-a64-pinctrl
+ - allwinner,sun50i-a64-r-pinctrl
+ - allwinner,sun50i-h5-pinctrl
+ - allwinner,sun50i-h6-pinctrl
+ - allwinner,sun50i-h6-r-pinctrl
+ - allwinner,suniv-f1c100s-pinctrl
+ - nextthing,gr8-pinctrl
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ minItems: 1
+ maxItems: 5
+ description:
+ One interrupt per external interrupt bank supported on the
+ controller, sorted by bank number ascending order.
+
+ clocks:
+ items:
+ - description: Bus Clock
+ - description: High Frequency Oscillator
+ - description: Low Frequency Oscillator
+
+ clock-names:
+ items:
+ - const: apb
+ - const: hosc
+ - const: losc
+
+ resets:
+ maxItems: 1
+
+ gpio-controller: true
+ interrupt-controller: true
+ gpio-line-names: true
+
+ input-debounce:
+ allOf:
+ - $ref: /schemas/types.yaml#/definitions/uint32-array
+ - minItems: 1
+ maxItems: 5
+ description:
+ Debouncing periods in microseconds, one period per interrupt
+ bank found in the controller
+
+patternProperties:
+ # It's pretty scary, but the basic idea is that:
+ # - One node name can start with either s- or r- for PRCM nodes,
+ # - Then, the name itself can be any repetition of <string>- (to
+ # accomodate with nodes like uart4-rts-cts-pins), where each
+ # string can be either starting with 'p' but in a string longer
+ # than 3, or something that doesn't start with 'p',
+ # - Then, the bank name is optional and will be between pa and pg,
+ # pl or pm. Some pins groups that have several options will have
+ # the pin numbers then,
+ # - Finally, the name will end with either -pin or pins.
+
+ "^([rs]-)?(([a-z0-9]{3,}|[a-oq-z][a-z0-9]*?)?-)+?(p[a-ilm][0-9]*?-)??pins?$":
+ type: object
+
+ properties:
+ pins: true
+ function: true
+ bias-disable: true
+ bias-pull-up: true
+ bias-pull-down: true
+
+ drive-strength:
+ allOf:
+ - $ref: /schemas/types.yaml#/definitions/uint32
+ - enum: [ 10, 20, 30, 40 ]
+
+ required:
+ - pins
+ - function
+
+ additionalProperties: false
+
+ "^vcc-p[a-hlm]-supply$":
+ description:
+ Power supplies for pin banks.
+
+required:
+ - "#gpio-cells"
+ - "#interrupt-cells"
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+ - gpio-controller
+ - interrupt-controller
+
+allOf:
+ # FIXME: We should have the pin bank supplies here, but not a lot of
+ # boards are defining it at the moment so it would generate a lot of
+ # warnings.
+
+ - if:
+ properties:
+ compatible:
+ enum:
+ - allwinner,sun9i-a80-pinctrl
+
+ then:
+ properties:
+ interrupts:
+ minItems: 5
+ maxItems: 5
+
+ else:
+ if:
+ properties:
+ compatible:
+ enum:
+ - allwinner,sun6i-a31-pinctrl
+ - allwinner,sun6i-a31s-pinctrl
+ - allwinner,sun50i-h6-pinctrl
+
+ then:
+ properties:
+ interrupts:
+ minItems: 4
+ maxItems: 4
+
+ else:
+ if:
+ properties:
+ compatible:
+ enum:
+ - allwinner,sun8i-a23-pinctrl
+ - allwinner,sun8i-a83t-pinctrl
+ - allwinner,sun50i-a64-pinctrl
+ - allwinner,sun50i-h5-pinctrl
+ - allwinner,suniv-f1c100s-pinctrl
+
+ then:
+ properties:
+ interrupts:
+ minItems: 3
+ maxItems: 3
+
+ else:
+ if:
+ properties:
+ compatible:
+ enum:
+ - allwinner,sun6i-a31-r-pinctrl
+ - allwinner,sun8i-a33-pinctrl
+ - allwinner,sun8i-h3-pinctrl
+ - allwinner,sun8i-v3-pinctrl
+ - allwinner,sun8i-v3s-pinctrl
+ - allwinner,sun9i-a80-r-pinctrl
+ - allwinner,sun50i-h6-r-pinctrl
+
+ then:
+ properties:
+ interrupts:
+ minItems: 2
+ maxItems: 2
+
+ else:
+ properties:
+ interrupts:
+ minItems: 1
+ maxItems: 1
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/sun5i-ccu.h>
+
+ pio: pinctrl@1c20800 {
+ compatible = "allwinner,sun5i-a13-pinctrl";
+ reg = <0x01c20800 0x400>;
+ interrupts = <28>;
+ clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
+ clock-names = "apb", "hosc", "losc";
+ gpio-controller;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ #gpio-cells = <3>;
+
+ uart1_pe_pins: uart1-pe-pins {
+ pins = "PE10", "PE11";
+ function = "uart1";
+ };
+
+ uart1_pg_pins: uart1-pg-pins {
+ pins = "PG3", "PG4";
+ function = "uart1";
+ };
+ };

Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt

View before deletion
diff --git a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
deleted file mode 100644
index 328585c..0000000
--- a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
+++ /dev/null
@@ -1,164 +0,0 @@
-* Allwinner A1X Pin Controller
-
-The pins controlled by sunXi pin controller are organized in banks,
-each bank has 32 pins. Each pin has 7 multiplexing functions, with
-the first two functions being GPIO in and out. The configuration on
-the pins includes drive strength and pull-up.
-
-Required properties:
-- compatible: Should be one of the following (depending on your SoC):
- "allwinner,sun4i-a10-pinctrl"
- "allwinner,sun5i-a10s-pinctrl"
- "allwinner,sun5i-a13-pinctrl"
- "allwinner,sun6i-a31-pinctrl"
- "allwinner,sun6i-a31s-pinctrl"
- "allwinner,sun6i-a31-r-pinctrl"
- "allwinner,sun7i-a20-pinctrl"
- "allwinner,sun8i-a23-pinctrl"
- "allwinner,sun8i-a23-r-pinctrl"
- "allwinner,sun8i-a33-pinctrl"
- "allwinner,sun9i-a80-pinctrl"
- "allwinner,sun9i-a80-r-pinctrl"
- "allwinner,sun8i-a83t-pinctrl"
- "allwinner,sun8i-a83t-r-pinctrl"
- "allwinner,sun8i-h3-pinctrl"
- "allwinner,sun8i-h3-r-pinctrl"
- "allwinner,sun8i-r40-pinctrl"
- "allwinner,sun8i-v3-pinctrl"
- "allwinner,sun8i-v3s-pinctrl"
- "allwinner,sun50i-a64-pinctrl"
- "allwinner,sun50i-a64-r-pinctrl"
- "allwinner,sun50i-h5-pinctrl"
- "allwinner,sun50i-h6-pinctrl"
- "allwinner,sun50i-h6-r-pinctrl"
- "allwinner,suniv-f1c100s-pinctrl"
- "nextthing,gr8-pinctrl"
-
-- 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.
-
-Each pin bank, depending on the SoC, can have an associated regulator:
-
-- vcc-pa-supply: for the A10, A20, A31, A31s, A80 and R40 SoCs
-- vcc-pb-supply: for the A31, A31s, A80 and V3s SoCs
-- vcc-pc-supply: for the A10, A20, A31, A31s, A64, A80, H5, R40 and V3s SoCs
-- vcc-pd-supply: for the A23, A31, A31s, A64, A80, A83t, H3, H5 and R40 SoCs
-- vcc-pe-supply: for the A10, A20, A31, A31s, A64, A80, R40 and V3s SoCs
-- vcc-pf-supply: for the A10, A20, A31, A31s, A80, R40 and V3s SoCs
-- vcc-pg-supply: for the A10, A20, A31, A31s, A64, A80, H3, H5, R40 and V3s SoCs
-- vcc-ph-supply: for the A31, A31s and A80 SoCs
-- vcc-pl-supply: for the r-pinctrl of the A64, A80 and A83t SoCs
-- vcc-pm-supply: for the r-pinctrl of the A31, A31s and A80 SoCs
-
-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.
-
-A pinctrl node should contain at least one subnodes representing the
-pinctrl groups available on the machine. Each subnode will list the
-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.
-
-Allwinner A1X Pin Controller 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.
-- allwinner,function: Function to mux the pins listed above to.
-
-Optional subnode-properties:
-- allwinner,drive: Integer. Represents the current sent to the pin
- 0: 10 mA
- 1: 20 mA
- 2: 30 mA
- 3: 40 mA
-- allwinner,pull: Integer.
- 0: No resistor
- 1: Pull-up resistor
- 2: Pull-down resistor
-
-Examples:
-
-pio: pinctrl@1c20800 {
- compatible = "allwinner,sun5i-a13-pinctrl";
- reg = <0x01c20800 0x400>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- uart1_pins_a: uart1@0 {
- allwinner,pins = "PE10", "PE11";
- allwinner,function = "uart1";
- allwinner,drive = <0>;
- allwinner,pull = <0>;
- };
-
- uart1_pins_b: uart1@1 {
- allwinner,pins = "PG3", "PG4";
- allwinner,function = "uart1";
- allwinner,drive = <0>;
- allwinner,pull = <0>;
- };
-};
-
-
-GPIO and interrupt controller
------------------------------
-
-This hardware also acts as a GPIO controller and an interrupt
-controller.
-
-Consumers that would want to refer to one or the other (or both)
-should provide through the usual *-gpios and interrupts properties a
-cell with 3 arguments, first the number of the bank, then the pin
-inside that bank, and finally the flags for the GPIO/interrupts.
-
-Example:
-
-xio: gpio@38 {
- compatible = "nxp,pcf8574a";
- reg = <0x38>;
-
- gpio-controller;
- #gpio-cells = <2>;
-
- interrupt-parent = <&pio>;
- interrupts = <6 0 IRQ_TYPE_EDGE_FALLING>;
- interrupt-controller;
- #interrupt-cells = <2>;
-};
-
-reg_usb1_vbus: usb1-vbus {
- compatible = "regulator-fixed";
- regulator-name = "usb1-vbus";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>;
-};

Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml
new file mode 100644
index 0000000..240d429
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml
@@ -0,0 +1,116 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bindings/pinctrl/intel,lgm-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Intel Lightning Mountain SoC pinmux & GPIO controller binding
+
+maintainers:
+ - Rahul Tanwar <[email protected]>
+
+description: |
+ Pinmux & GPIO controller controls pin multiplexing & configuration including
+ GPIO function selection & GPIO attributes configuration.
+
+ Please refer to [1] for details of the common pinctrl bindings used by the
+ client devices.
+
+ [1] Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
+
+properties:
+ compatible:
+ const: intel,lgm-io
+
+ reg:
+ maxItems: 1
+
+# Client device subnode's properties
+patternProperties:
+ '-pins$':
+ type: object
+ description:
+ Pinctrl node's client devices use subnodes for desired pin configuration.
+ Client device subnodes use below standard properties.
+
+ properties:
+ function:
+ $ref: /schemas/types.yaml#/definitions/string
+ description:
+ A string containing the name of the function to mux to the group.
+
+ groups:
+ $ref: /schemas/types.yaml#/definitions/string-array
+ description:
+ An array of strings identifying the list of groups.
+
+ pins:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ description:
+ List of pins to select with this function.
+
+ pinmux:
+ description: The applicable mux group.
+ allOf:
+ - $ref: "/schemas/types.yaml#/definitions/uint32-array"
+
+ bias-pull-up:
+ type: boolean
+
+ bias-pull-down:
+ type: boolean
+
+ drive-strength:
+ description: |
+ Selects the drive strength for the specified pins in mA.
+ 0: 2 mA
+ 1: 4 mA
+ 2: 8 mA
+ 3: 12 mA
+ allOf:
+ - $ref: /schemas/types.yaml#/definitions/uint32
+ - enum: [0, 1, 2, 3]
+
+ slew-rate:
+ type: boolean
+ description: |
+ Sets slew rate for specified pins.
+ 0: slow slew
+ 1: fast slew
+
+ drive-open-drain:
+ type: boolean
+
+ output-enable:
+ type: boolean
+
+ required:
+ - function
+ - groups
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ # Pinmux controller node
+ - |
+ pinctrl: pinctrl@e2880000 {
+ compatible = "intel,lgm-pinctrl";
+ reg = <0xe2880000 0x100000>;
+
+ uart0-pins {
+ pins = <64>, /* UART_RX0 */
+ <65>; /* UART_TX0 */
+ function = "CONSOLE_UART0";
+ pinmux = <1>,
+ <1>;
+ groups = "CONSOLE_UART0";
+ };
+ };
+
+...

Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
index 10dc4f7..0aff1f2 100644
--- a/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
@@ -15,6 +15,7 @@ Required properties for the root node:
"amlogic,meson-axg-aobus-pinctrl"
"amlogic,meson-g12a-periphs-pinctrl"
"amlogic,meson-g12a-aobus-pinctrl"
+ "amlogic,meson-a1-periphs-pinctrl"
- reg: address and size of registers controlling irq functionality
=== GPIO sub-nodes ===

Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml b/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml
new file mode 100644
index 0000000..13b7ab9
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml
@@ -0,0 +1,140 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/pincfg-node.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic pin configuration node schema
+
+maintainers:
+ - Linus Walleij <[email protected]>
+
+description:
+ Many data items that are represented in a pin configuration node are common
+ and generic. Pin control bindings should use the properties defined below
+ where they are applicable; not all of these properties are relevant or useful
+ for all hardware or binding structures. Each individual binding document
+ should state which of these generic properties, if any, are used, and the
+ structure of the DT nodes that contain these properties.
+
+properties:
+ bias-disable:
+ type: boolean
+ description: disable any pin bias
+
+ bias-high-impedance:
+ type: boolean
+ description: high impedance mode ("third-state", "floating")
+
+ bias-bus-hold:
+ type: boolean
+ description: latch weakly
+
+ bias-pull-up:
+ oneOf:
+ - type: boolean
+ - $ref: /schemas/types.yaml#/definitions/uint32
+ description: pull up the pin. Takes as optional argument on hardware
+ supporting it the pull strength in Ohm.
+
+ bias-pull-down:
+ oneOf:

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/pinmux-node.yaml

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/qcom,msm8976-pinctrl.txt

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt

View file

This diff is incomplete. Download the complete patch.

MAINTAINERS

View file

This diff is incomplete. Download the complete patch.

arch/sh/include/cpu-sh4/cpu/sh7734.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/actions/pinctrl-owl.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-bcm281xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-cygnus-mux.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-iproc-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-ns2-mux.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-nsp-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-nsp-mux.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/devicetree.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/devicetree.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/freescale/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/intel/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/intel/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/intel/pinctrl-cherryview.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/intel/pinctrl-intel.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/intel/pinctrl-lewisburg.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/intel/pinctrl-tigerlake.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-mtk-common.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson-a1.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson-axg.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson-g12a.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson-gxbb.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson-gxl.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson8.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson8b.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mvebu/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mvebu/pinctrl-armada-37xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mvebu/pinctrl-mvebu.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mvebu/pinctrl-orion.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/nomadik/pinctrl-nomadik-db8500.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/nomadik/pinctrl-nomadik.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-amd.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-artpec6.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-at91-pio4.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-at91.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-bm1880.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-coh901.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-da850-pupd.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-digicolor.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-equilibrium.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-equilibrium.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-ingenic.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-lpc18xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-ocelot.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-oxnas.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-pic32.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-pistachio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-rockchip.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-rza1.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-rza2.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-rzn1.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-st.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-stmfx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-tb10x.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-u300.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-xway.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pxa/pinctrl-pxa25x.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pxa/pinctrl-pxa27x.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-msm.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-msm8976.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-sc7180.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-spmi-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-spmi-mpp.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/samsung/pinctrl-exynos.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/samsung/pinctrl-s3c24xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/samsung/pinctrl-s3c64xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/samsung/pinctrl-samsung.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/pfc-r8a7795.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/pfc-r8a7796.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/pfc-r8a77965.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/pfc-r8a77990.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/pfc-sh7734.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sh-pfc/sh_pfc.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sirf/pinctrl-atlas7.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sirf/pinctrl-sirf.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/pinctrl-plgpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/pinctrl-spear.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sprd/pinctrl-sprd.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sunxi/pinctrl-sunxi.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/tegra/pinctrl-tegra-xusb.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/tegra/pinctrl-tegra.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/ti/pinctrl-ti-iodelay.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/vt8500/pinctrl-wmt.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/zte/pinctrl-zx.c

View file

This diff is incomplete. Download the complete patch.

include/dt-bindings/gpio/meson-a1-gpio.h

View file

This diff is incomplete. Download the complete patch.

include/dt-bindings/pinctrl/at91.h

View file

This diff is incomplete. Download the complete patch.