Commit 5e2e7383 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull pin control updates from Linus Walleij:
 "Outside the pinctrl driver and DT bindings we hit some Arm DT files,
  patched by the maintainers.

  Other than that it is business as usual.

  Core changes:

   - Add PINCTRL_PINGROUP() helper macro (and use it in the AMD driver).

  New drivers:

   - Intel Meteor Lake support.

   - Reneasas RZ/V2M and r8a779g0 (R-Car V4H).

   - AXP209 variants AXP221, AXP223 and AXP809.

   - Qualcomm MSM8909, PM8226, PMP8074 and SM6375.

   - Allwinner D1.

  Improvements:

   - Proper pin multiplexing in the AMD driver.

   - Mediatek MT8192 can use generic drive strength and pin bias, then
     fixes on top plus some I2C pin group fixes.

   - Have the Allwinner Sunplus SP7021 use the generic DT schema and
     make interrupts optional.

   - Handle Qualcomm SC7280 ADSP.

   - Handle Qualcomm MSM8916 CAMSS GP clock muxing.

   - High impedance bias on ZynqMP.

   - Serialize StarFive access to MMIO.

   - Immutable gpiochip for BCM2835, Ingenic, Qualcomm SPMI GPIO"

* tag 'pinctrl-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (117 commits)
  dt-bindings: pinctrl: qcom,pmic-gpio: add PM8226 constraints
  pinctrl: qcom: Make PINCTRL_SM8450 depend on PINCTRL_MSM
  pinctrl: qcom: sm8250: Fix PDC map
  pinctrl: amd: Fix an unused variable
  dt-bindings: pinctrl: mt8186: Add and use drive-strength-microamp
  dt-bindings: pinctrl: mt8186: Add gpio-line-names property
  ARM: dts: imxrt1170-pinfunc: Add pinctrl binding header
  pinctrl: amd: Use unicode for debugfs output
  pinctrl: amd: Fix newline declaration in debugfs output
  pinctrl: at91: Fix typo 'the the' in comment
  dt-bindings: pinctrl: st,stm32: Correct 'resets' property name
  pinctrl: mvebu: Missing a blank line after declarations.
  pinctrl: qcom: Add SM6375 TLMM driver
  dt-bindings: pinctrl: Add DT schema for SM6375 TLMM
  dt-bindings: pinctrl: mt8195: Use drive-strength-microamp in examples
  Revert "pinctrl: qcom: spmi-gpio: make the irqchip immutable"
  pinctrl: imx93: Add MODULE_DEVICE_TABLE()
  pinctrl: sunxi: Add driver for Allwinner D1
  pinctrl: sunxi: Make some layout parameters dynamic
  pinctrl: sunxi: Refactor register/offset calculation
  ...
parents 00aa9d0b 5b045200
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -19,7 +19,13 @@ properties:
    oneOf:
      - enum:
          - x-powers,axp209-gpio
          - x-powers,axp221-gpio
          - x-powers,axp813-gpio
      - items:
          - enum:
              - x-powers,axp223-gpio
              - x-powers,axp809-gpio
          - const: x-powers,axp221-gpio
      - items:
          - const: x-powers,axp803-gpio
          - const: x-powers,axp813-gpio
+13 −3
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ properties:
      - allwinner,sun8i-v3s-pinctrl
      - allwinner,sun9i-a80-pinctrl
      - allwinner,sun9i-a80-r-pinctrl
      - allwinner,sun20i-d1-pinctrl
      - allwinner,sun50i-a64-pinctrl
      - allwinner,sun50i-a64-r-pinctrl
      - allwinner,sun50i-a100-pinctrl
@@ -80,9 +81,6 @@ properties:
      - const: hosc
      - const: losc

  resets:
    maxItems: 1

  gpio-controller: true
  interrupt-controller: true
  gpio-line-names: true
@@ -181,6 +179,18 @@ allOf:
          minItems: 7
          maxItems: 7

  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun20i-d1-pinctrl

    then:
      properties:
        interrupts:
          minItems: 6
          maxItems: 6

  - if:
      properties:
        compatible:
+1 −1
Original line number Diff line number Diff line
@@ -152,7 +152,7 @@ examples:
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_uid>, <&pinmux_uid>;

      uid {
      button-uid {
        label = "UID";
        linux,code = <102>;
        gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+5 −26
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ properties:
  gpio-ranges:
    maxItems: 1

  gpio-line-names: true

  reg:
    description: |
      Physical address base for gpio base registers. There are 8 different GPIO
@@ -105,31 +107,8 @@ patternProperties:
          drive-strength:
            enum: [2, 4, 6, 8, 10, 12, 14, 16]

          mediatek,drive-strength-adv:
            description: |
              Describe the specific driving setup property.
              For I2C pins, the existing generic driving setup can only support
              2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they
              can support 0.125/0.25/0.5/1mA adjustment. If we enable specific
              driving setup, the existing generic setup will be disabled.
              The specific driving setup is controlled by E1E0EN.
              When E1=0/E0=0, the strength is 0.125mA.
              When E1=0/E0=1, the strength is 0.25mA.
              When E1=1/E0=0, the strength is 0.5mA.
              When E1=1/E0=1, the strength is 1mA.
              EN is used to enable or disable the specific driving setup.
              Valid arguments are described as below:
              0: (E1, E0, EN) = (0, 0, 0)
              1: (E1, E0, EN) = (0, 0, 1)
              2: (E1, E0, EN) = (0, 1, 0)
              3: (E1, E0, EN) = (0, 1, 1)
              4: (E1, E0, EN) = (1, 0, 0)
              5: (E1, E0, EN) = (1, 0, 1)
              6: (E1, E0, EN) = (1, 1, 0)
              7: (E1, E0, EN) = (1, 1, 1)
              So the valid arguments are from 0 to 7.
            $ref: /schemas/types.yaml#/definitions/uint32
            enum: [0, 1, 2, 3, 4, 5, 6, 7]
          drive-strength-microamp:
            enum: [125, 250, 500, 1000]

          bias-pull-down:
            oneOf:
@@ -291,7 +270,7 @@ examples:
          pinmux = <PINMUX_GPIO127__FUNC_SCL0>,
                   <PINMUX_GPIO128__FUNC_SDA0>;
          bias-pull-up = <MTK_PULL_SET_RSEL_001>;
          mediatek,drive-strength-adv = <7>;
          drive-strength-microamp = <1000>;
        };
      };
    };
+24 −40
Original line number Diff line number Diff line
@@ -80,46 +80,30 @@ patternProperties:
              dt-bindings/pinctrl/mt65xx.h. It can only support 2/4/6/8/10/12/14/16mA in mt8192.
            enum: [2, 4, 6, 8, 10, 12, 14, 16]

          mediatek,drive-strength-adv:
            description: |
              Describe the specific driving setup property.
              For I2C pins, the existing generic driving setup can only support
              2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they
              can support 0.125/0.25/0.5/1mA adjustment. If we enable specific
              driving setup, the existing generic setup will be disabled.
              The specific driving setup is controlled by E1E0EN.
              When E1=0/E0=0, the strength is 0.125mA.
              When E1=0/E0=1, the strength is 0.25mA.
              When E1=1/E0=0, the strength is 0.5mA.
              When E1=1/E0=1, the strength is 1mA.
              EN is used to enable or disable the specific driving setup.
              Valid arguments are described as below:
              0: (E1, E0, EN) = (0, 0, 0)
              1: (E1, E0, EN) = (0, 0, 1)
              2: (E1, E0, EN) = (0, 1, 0)
              3: (E1, E0, EN) = (0, 1, 1)
              4: (E1, E0, EN) = (1, 0, 0)
              5: (E1, E0, EN) = (1, 0, 1)
              6: (E1, E0, EN) = (1, 1, 0)
              7: (E1, E0, EN) = (1, 1, 1)
              So the valid arguments are from 0 to 7.
            $ref: /schemas/types.yaml#/definitions/uint32
            enum: [0, 1, 2, 3, 4, 5, 6, 7]

          mediatek,pull-up-adv:
            description: |
              Pull up settings for 2 pull resistors, R0 and R1. User can
              configure those special pins. Valid arguments are described as below:
              0: (R1, R0) = (0, 0) which means R1 disabled and R0 disabled.
              1: (R1, R0) = (0, 1) which means R1 disabled and R0 enabled.
              2: (R1, R0) = (1, 0) which means R1 enabled and R0 disabled.
              3: (R1, R0) = (1, 1) which means R1 enabled and R0 enabled.
            $ref: /schemas/types.yaml#/definitions/uint32
            enum: [0, 1, 2, 3]

          bias-pull-down: true

          bias-pull-up: true
          drive-strength-microamp:
            enum: [125, 250, 500, 1000]

          bias-pull-down:
            oneOf:
              - type: boolean
                description: normal pull down.
              - enum: [100, 101, 102, 103]
                description: PUPD/R1/R0 pull down type. See MTK_PUPD_SET_R1R0_
                  defines in dt-bindings/pinctrl/mt65xx.h.
              - enum: [200, 201, 202, 203]
                description: RSEL pull down type. See MTK_PULL_SET_RSEL_
                  defines in dt-bindings/pinctrl/mt65xx.h.

          bias-pull-up:
            oneOf:
              - type: boolean
                description: normal pull up.
              - enum: [100, 101, 102, 103]
                description: PUPD/R1/R0 pull up type. See MTK_PUPD_SET_R1R0_
                  defines in dt-bindings/pinctrl/mt65xx.h.
              - enum: [200, 201, 202, 203]
                description: RSEL pull up type. See MTK_PULL_SET_RSEL_
                  defines in dt-bindings/pinctrl/mt65xx.h.

          bias-disable: true

Loading