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 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
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
@@ -215,6 +245,8 @@ Contact: linux-iio@vger.kernel.org
Description:
		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/ceiling_component_id
What:		/sys/bus/counter/devices/counterX/countY/floor_component_id
+3 −3
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ properties:
  clock-controller:
    # Child node
    type: object
    $ref: "../clock/canaan,k210-clk.yaml"
    $ref: ../clock/canaan,k210-clk.yaml
    description:
      Clock controller for the SoC clocks. This child node definition
      should follow the bindings specified in
@@ -45,7 +45,7 @@ properties:
  reset-controller:
    # Child node
    type: object
    $ref: "../reset/canaan,k210-rst.yaml"
    $ref: ../reset/canaan,k210-rst.yaml
    description:
      Reset controller for the SoC. This child node definition
      should follow the bindings specified in
@@ -54,7 +54,7 @@ properties:
  syscon-reboot:
    # Child node
    type: object
    $ref: "../power/reset/syscon-reboot.yaml"
    $ref: ../power/reset/syscon-reboot.yaml
    description:
      Reboot method for the SoC. This child node definition
      should follow the bindings specified in
+11 −11
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ properties:
      ARM Cortex M4 Co-processor. Contains the name of the rpmsg
      device. Used to match the subnode to the rpmsg device announced by
      the SCP.
    $ref: "/schemas/types.yaml#/definitions/string"
    $ref: /schemas/types.yaml#/definitions/string

  spi-max-frequency: true

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

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

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

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

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

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

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

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

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

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

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

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

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

        unevaluatedProperties: false

+151 −0
Original line number 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