Commit 3b9cdafb authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull pin control updates from Linus Walleij:
 "This is the bulk of pin control changes for the v5.12 kernel.

  This time a calm set with no core changes.

  New drivers/subdrivers:

   - Renesas R8A7790A0 pin controller.

   - Allwinner H616 and H616-R pin controllers.

   - Qualcomm SM8350 and SC8180x pin controllers.

  Improvements:

   - Redo the DT bindings for Ralink RT2880.

   - A common Qualcomm TLMM DT binding in YAML.

   - Delete the unused drivers for U300, COH901, Sirf Atlas, and ZTE ZX"

* tag 'pinctrl-v5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (71 commits)
  pinctrl: mediatek: Fix trigger type setting follow for unexpected interrupt
  dt-bindings: pinctrl: Group tuples in pin control properties
  pinctrl: nuvoton: npcm7xx: Fix alignment of table header comment
  pinctrl: at91-pio4: fix "Prefer 'unsigned int' to bare use of 'unsigned'"
  pinctrl: at91-pio4: add support for slew-rate
  dt-bindings: pinctrl: at91-pio4: add slew-rate
  pinctrl: actions: Add depends on || COMPILE_TEST
  pinctrl: single: set function name when adding function
  pinctrl: qcom: Add sc8180x TLMM driver
  dt-bindings: pinctrl: qcom: Add sc8180x binding
  dt-bindings: pinctrl: qcom: Define common TLMM binding
  pinctrl: qcom: Add SM8350 pinctrl driver
  dt-bindings: pinctrl: qcom: Add SM8350 pinctrl bindings
  pinctrl: samsung: use raw_spinlock for s3c64xx
  dt-bindings: mediatek: mt8192: Fix dt_binding_check warning
  pinctrl: qcom: spmi-mpp: Add PM8019 compatible
  pinctrl: pinmux: add function selector to pinmux-functions
  pinctrl: samsung: use raw_spinlock for locking
  pinctrl: clarify #pinctrl-cells for pinctrl-single,pins
  pinctrl: actions: Add the platform dependency to drivers
  ...
parents f81f2138 b40b760a
Loading
Loading
Loading
Loading
+0 −50
Original line number Diff line number Diff line
CSR SiRFatlas7 GPIO controller bindings

Required properties:
- compatible	: "sirf,atlas7-gpio"
- reg		: Address range of the pinctrl registers
- interrupts	: Interrupts used by every GPIO group
- gpio-banks	: How many gpio banks on this controller
- gpio-controller : Indicates this device is a GPIO controller
- interrupt-controller  : Marks the device node as an interrupt controller

The GPIO controller also acts as an interrupt controller. It uses the default
two cells specifier as described in Documentation/devicetree/bindings/
interrupt-controller/interrupts.txt.

Example:

	gpio_0: gpio_mediam@17040000 {
		compatible = "sirf,atlas7-gpio";
		reg = <0x17040000 0x1000>;
		interrupts = <0 13 0>, <0 14 0>;

		#gpio-cells = <2>;
		#interrupt-cells = <2>;

		gpio-controller;
		interrupt-controller;

		gpio-banks = <2>;
		gpio-ranges = <&pinctrl 0 0 0>,
				<&pinctrl 32 0 0>;
		gpio-ranges-group-names = "lvds_gpio_grp",
					"uart_nand_gpio_grp";
	};

	leds {
		compatible = "gpio-leds";

		led1 {
			gpios = <&gpio_1 15 0>;
			...
		};

		led2 {
			gpios = <&gpio_2 34 0>;
			...
		};
	};

Please refer to gpio.txt in this directory for details of the common
gpio properties used by devices.
+0 −7
Original line number Diff line number Diff line
ST-Ericsson COH 901 571/3 GPIO controller

Required properties:
- compatible: Compatible property value should be "stericsson,gpio-coh901"
- reg: Physical base address of the controller and length of memory mapped
  region.
- interrupts: the 0...n interrupts assigned to the different GPIO ports/banks.
+15 −2
Original line number Diff line number Diff line
@@ -53,6 +53,8 @@ properties:
      - allwinner,sun50i-h5-pinctrl
      - allwinner,sun50i-h6-pinctrl
      - allwinner,sun50i-h6-r-pinctrl
      - allwinner,sun50i-h616-pinctrl
      - allwinner,sun50i-h616-r-pinctrl
      - allwinner,suniv-f1c100s-pinctrl
      - nextthing,gr8-pinctrl

@@ -61,7 +63,7 @@ properties:

  interrupts:
    minItems: 1
    maxItems: 7
    maxItems: 8
    description:
      One interrupt per external interrupt bank supported on the
      controller, sorted by bank number ascending order.
@@ -91,7 +93,7 @@ properties:
      bank found in the controller
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 1
    maxItems: 5
    maxItems: 8

patternProperties:
  # It's pretty scary, but the basic idea is that:
@@ -145,6 +147,17 @@ allOf:
  # boards are defining it at the moment so it would generate a lot of
  # warnings.

  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun50i-h616-pinctrl

    then:
      properties:
        interrupts:
          minItems: 8

  - if:
      properties:
        compatible:
+5 −3
Original line number Diff line number Diff line
@@ -35,9 +35,11 @@ ioset settings. Use the macros from boot/dts/<soc>-pinfunc.h file to get the
right representation of the pin.

Optional properties:
- GENERIC_PINCONFIG: generic pinconfig options to use, bias-disable,
bias-pull-down, bias-pull-up, drive-open-drain, input-schmitt-enable,
input-debounce, output-low, output-high.
- GENERIC_PINCONFIG: generic pinconfig options to use:
	- bias-disable, bias-pull-down, bias-pull-up, drive-open-drain,
	  input-schmitt-enable, input-debounce, output-low, output-high.
	- for microchip,sama7g5-pinctrl only:
		- slew-rate: 0 - disabled, 1 - enabled (default)
- atmel,drive-strength: 0 or 1 for low drive, 2 for medium drive and 3 for
high drive. The default value is low drive.

+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ For example:
		      <0x660009b0 0x40>;

		pinctrl-names = "default";
		pinctrl-0 = <&nand_sel &uart3_rx &sdio0_d4>;
		pinctrl-0 = <&nand_sel>, <&uart3_rx>, <&sdio0_d4>;

		/* Select nand function */
		nand_sel: nand_sel {
Loading