Commit 3af49062 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD updates from Lee Jones:
 "New Drivers:
   - Add support for  Renesas RZ/G2L MTU3

  New Device Support:
   - Add support for Lenovo Yoga Book X90F to Intel CHT WC
   - Add support for MAX5970 and MAX5978 to Simple MFD (I2C)
   - Add support for Meteor Lake PCH-S LPSS PCI to Intel LPSS PCI
   - Add support for AXP15060 PMIC to X-Powers PMIC collection

  Remove Device Support:
   - Remove support for Samsung 5M8751 and S5M8763 PMIC devices

  New Functionality:
   - Convert deprecated QCOM IRQ Chip to config registers
   - Add support for 32-bit address spaces to Renesas SMUs

  Fix-ups:
   - Make use of APIs / MACROs designed to simplify and demystify
   - Add / improve Device Tree bindings
   - Memory saving struct layout optimisations
   - Remove old / deprecated functionality
   - Factor out unassigned register addresses from ranges
   - Trivial: Spelling fixes, renames and coding style fixes
   - Rid 'defined but not used' warnings
   - Remove ineffective casts and pointer stubs

  Bug Fixes:
   - Fix incorrectly non-inverted mask/unmask IRQs on QCOM platforms
   - Remove MODULE_*() helpers from non-tristate drivers
   - Do not attempt to use out-of-range memory addresses associated with io_base
   - Provide missing export helpers
   - Fix remap bulk read optimisation fallout
   - Fix memory leak issues in error paths"

* tag 'mfd-next-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (88 commits)
  dt-bindings: mfd: ti,j721e-system-controller: Add SoC chip ID
  leds: bd2606mvv: Driver for the Rohm 6 Channel i2c LED driver
  dt-bindings: mfd: qcom,spmi-pmic: Document flash LED controller
  dt-bindings: mfd: x-powers,axp152: Document the AXP15060 variant
  mfd: axp20x: Add support for AXP15060 PMIC
  dt-bindings: mfd: x-powers,axp152: Document the AXP313a variant
  counter: rz-mtu3-cnt: Unlock on error in rz_mtu3_count_ceiling_write()
  dt-bindings: mfd: dlg,da9063: Document voltage monitoring
  dt-bindings: mfd: stm32: Remove unnecessary blank lines
  dt-bindings: mfd: qcom,spmi-pmic: Use generic ADC node name in examples
  dt-bindings: mfd: syscon: Add nuvoton,ma35d1-sys compatible
  MAINTAINERS: Add entries for Renesas RZ/G2L MTU3a counter driver
  counter: Add Renesas RZ/G2L MTU3a counter driver
  Documentation: ABI: sysfs-bus-counter: add cascade_counts_enable and external_input_phase_clock_select
  mfd: Add Renesas RZ/G2L MTU3a core driver
  dt-bindings: timer: Document RZ/G2L MTU3a bindings
  mfd: rsmu_i2c: Convert to i2c's .probe_new() again
  mfd: intel-lpss: Add Intel Meteor Lake PCH-S LPSS PCI IDs
  mfd: dln2: Fix memory leak in dln2_probe()
  mfd: axp20x: Fix axp288 writable-ranges
  ...
parents c5eb8bf7 9e9ff392
Loading
Loading
Loading
Loading
+32 −0
Original line number Original line Diff line number Diff line
What:		/sys/bus/counter/devices/counterX/cascade_counts_enable
KernelVersion:	6.4
Contact:	linux-iio@vger.kernel.org
Description:
		Indicates the cascading of Counts on Counter X.

		Valid attribute values are boolean.

What:		/sys/bus/counter/devices/counterX/external_input_phase_clock_select
KernelVersion:	6.4
Contact:	linux-iio@vger.kernel.org
Description:
		Selects the external clock pin for phase counting mode of
		Counter X.

		MTCLKA-MTCLKB:
			MTCLKA and MTCLKB pins are selected for the external
			phase clock.

		MTCLKC-MTCLKD:
			MTCLKC and MTCLKD pins are selected for the external
			phase clock.

What:		/sys/bus/counter/devices/counterX/external_input_phase_clock_select_available
KernelVersion:  6.4
Contact:        linux-iio@vger.kernel.org
Description:
                Discrete set of available values for the respective device
                configuration are listed in this file.

What:		/sys/bus/counter/devices/counterX/countY/count
What:		/sys/bus/counter/devices/counterX/countY/count
KernelVersion:	5.2
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Contact:	linux-iio@vger.kernel.org
@@ -215,6 +245,8 @@ Contact: linux-iio@vger.kernel.org
Description:
Description:
		This attribute indicates the number of overflows of count Y.
		This attribute indicates the number of overflows of count Y.


What:		/sys/bus/counter/devices/counterX/cascade_counts_enable_component_id
What:		/sys/bus/counter/devices/counterX/external_input_phase_clock_select_component_id
What:		/sys/bus/counter/devices/counterX/countY/capture_component_id
What:		/sys/bus/counter/devices/counterX/countY/capture_component_id
What:		/sys/bus/counter/devices/counterX/countY/ceiling_component_id
What:		/sys/bus/counter/devices/counterX/countY/ceiling_component_id
What:		/sys/bus/counter/devices/counterX/countY/floor_component_id
What:		/sys/bus/counter/devices/counterX/countY/floor_component_id
+3 −3
Original line number Original line Diff line number Diff line
@@ -36,7 +36,7 @@ properties:
  clock-controller:
  clock-controller:
    # Child node
    # Child node
    type: object
    type: object
    $ref: "../clock/canaan,k210-clk.yaml"
    $ref: ../clock/canaan,k210-clk.yaml
    description:
    description:
      Clock controller for the SoC clocks. This child node definition
      Clock controller for the SoC clocks. This child node definition
      should follow the bindings specified in
      should follow the bindings specified in
@@ -45,7 +45,7 @@ properties:
  reset-controller:
  reset-controller:
    # Child node
    # Child node
    type: object
    type: object
    $ref: "../reset/canaan,k210-rst.yaml"
    $ref: ../reset/canaan,k210-rst.yaml
    description:
    description:
      Reset controller for the SoC. This child node definition
      Reset controller for the SoC. This child node definition
      should follow the bindings specified in
      should follow the bindings specified in
@@ -54,7 +54,7 @@ properties:
  syscon-reboot:
  syscon-reboot:
    # Child node
    # Child node
    type: object
    type: object
    $ref: "../power/reset/syscon-reboot.yaml"
    $ref: ../power/reset/syscon-reboot.yaml
    description:
    description:
      Reboot method for the SoC. This child node definition
      Reboot method for the SoC. This child node definition
      should follow the bindings specified in
      should follow the bindings specified in
+11 −11
Original line number Original line Diff line number Diff line
@@ -65,7 +65,7 @@ properties:
      ARM Cortex M4 Co-processor. Contains the name of the rpmsg
      ARM Cortex M4 Co-processor. Contains the name of the rpmsg
      device. Used to match the subnode to the rpmsg device announced by
      device. Used to match the subnode to the rpmsg device announced by
      the SCP.
      the SCP.
    $ref: "/schemas/types.yaml#/definitions/string"
    $ref: /schemas/types.yaml#/definitions/string


  spi-max-frequency: true
  spi-max-frequency: true


@@ -94,23 +94,23 @@ properties:
    const: 0
    const: 0


  typec:
  typec:
    $ref: "/schemas/chrome/google,cros-ec-typec.yaml#"
    $ref: /schemas/chrome/google,cros-ec-typec.yaml#


  ec-pwm:
  ec-pwm:
    $ref: "/schemas/pwm/google,cros-ec-pwm.yaml#"
    $ref: /schemas/pwm/google,cros-ec-pwm.yaml#
    deprecated: true
    deprecated: true


  pwm:
  pwm:
    $ref: "/schemas/pwm/google,cros-ec-pwm.yaml#"
    $ref: /schemas/pwm/google,cros-ec-pwm.yaml#


  kbd-led-backlight:
  kbd-led-backlight:
    $ref: "/schemas/chrome/google,cros-kbd-led-backlight.yaml#"
    $ref: /schemas/chrome/google,cros-kbd-led-backlight.yaml#


  keyboard-controller:
  keyboard-controller:
    $ref: "/schemas/input/google,cros-ec-keyb.yaml#"
    $ref: /schemas/input/google,cros-ec-keyb.yaml#


  proximity:
  proximity:
    $ref: "/schemas/iio/proximity/google,cros-ec-mkbp-proximity.yaml#"
    $ref: /schemas/iio/proximity/google,cros-ec-mkbp-proximity.yaml#


  codecs:
  codecs:
    type: object
    type: object
@@ -126,7 +126,7 @@ properties:
    patternProperties:
    patternProperties:
      "^ec-codec@[a-f0-9]+$":
      "^ec-codec@[a-f0-9]+$":
        type: object
        type: object
        $ref: "/schemas/sound/google,cros-ec-codec.yaml#"
        $ref: /schemas/sound/google,cros-ec-codec.yaml#


    required:
    required:
      - "#address-cells"
      - "#address-cells"
@@ -151,15 +151,15 @@ properties:
patternProperties:
patternProperties:
  "^i2c-tunnel[0-9]*$":
  "^i2c-tunnel[0-9]*$":
    type: object
    type: object
    $ref: "/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#"
    $ref: /schemas/i2c/google,cros-ec-i2c-tunnel.yaml#


  "^regulator@[0-9]+$":
  "^regulator@[0-9]+$":
    type: object
    type: object
    $ref: "/schemas/regulator/google,cros-ec-regulator.yaml#"
    $ref: /schemas/regulator/google,cros-ec-regulator.yaml#


  "^extcon[0-9]*$":
  "^extcon[0-9]*$":
    type: object
    type: object
    $ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#"
    $ref: /schemas/extcon/extcon-usbc-cros-ec.yaml#


required:
required:
  - compatible
  - compatible
+1 −1
Original line number Original line Diff line number Diff line
@@ -53,7 +53,7 @@ properties:
      '^ldo[0-9]+$':
      '^ldo[0-9]+$':
        type: object
        type: object


        $ref: "/schemas/regulator/regulator.yaml#"
        $ref: /schemas/regulator/regulator.yaml#


        unevaluatedProperties: false
        unevaluatedProperties: false


+151 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/maxim,max5970.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Regulator for MAX5970 Smart Switch from Maxim Integrated

maintainers:
  - Patrick Rudolph <patrick.rudolph@9elements.com>

description: |
  The smart switch provides no output regulation, but independent fault protection
  and voltage and current sensing.
  Programming is done through I2C bus.

  Datasheets:
    https://datasheets.maximintegrated.com/en/ds/MAX5970.pdf
    https://datasheets.maximintegrated.com/en/ds/MAX5978.pdf

properties:
  compatible:
    enum:
      - maxim,max5970
      - maxim,max5978

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  leds:
    type: object
    description:
      Properties for four LEDS.

    properties:
      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

    patternProperties:
      "^led@[0-3]$":
        $ref: /schemas/leds/common.yaml#
        type: object

    additionalProperties: false

  vss1-supply:
    description: Supply of the first channel.

  vss2-supply:
    description: Supply of the second channel.

  regulators:
    type: object
    description:
      Properties for both hot swap control/switch.

    patternProperties:
      "^sw[0-1]$":
        $ref: /schemas/regulator/regulator.yaml#
        type: object
        properties:
          shunt-resistor-micro-ohms:
            description: |
              The value of current sense resistor in microohms.

        required:
          - shunt-resistor-micro-ohms

        unevaluatedProperties: false

    additionalProperties: false

required:
  - compatible
  - reg
  - regulators
  - vss1-supply

allOf:
  - if:
      properties:
        compatible:
          enum:
            - maxim,max5970
    then:
      required:
        - vss2-supply

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        regulator@3a {
            compatible = "maxim,max5978";
            reg = <0x3a>;
            vss1-supply = <&p3v3>;

            regulators {
                sw0_ref_0: sw0 {
                    shunt-resistor-micro-ohms = <12000>;
                };
            };

            leds {
                #address-cells = <1>;
                #size-cells = <0>;
                led@0 {
                    reg = <0>;
                    label = "led0";
                    default-state = "on";
                };
                led@1 {
                    reg = <1>;
                    label = "led1";
                    default-state = "on";
                };
            };
        };
    };

  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        regulator@3a {
            compatible = "maxim,max5970";
            reg = <0x3a>;
            vss1-supply = <&p3v3>;
            vss2-supply = <&p5v>;

            regulators {
                sw0_ref_1: sw0 {
                    shunt-resistor-micro-ohms = <12000>;
                };
                sw1_ref_1: sw1 {
                    shunt-resistor-micro-ohms = <10000>;
                };
            };
        };
    };
...
Loading