Commit dcab75a3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD updates from Lee Jones:
 "Maxim MAX77705:
   - Added core MFD driver.
   - Added charger driver.
   - Added devicetree bindings for the charger and MFD core.
   - Added Haptic controller support via the input subsystem.
   - Added LED support.
   - Added support to simple-mfd-i2c for fuel gauge and hwmon.

  Samsung S2MPU05 (Exynos7870 PMIC):
   - Added core MFD support.
   - Added Regulator support for 21 LDOs and 5 BUCKs.
   - Added devicetree bindings for regulators and the PMIC core.

  TI TPS65215 & TPS65214:
   - Added support to the existing TPS65219 driver.
   - Added devicetree bindings.

  STMicroelectronics STM32MP25:
   - Added support to the stm32-timers MFD driver.
   - Added devicetree bindings.

  Congatec Board Controller (CGBC):
   - Added HWMON support for internal sensors.
   - Added support for the conga-SA8 module.

  Microchip LAN969X:
   - Enabled the at91-usart MFD driver for this architecture.

  MediaTek MT6359:
   - Added mfd_cell for mt6359-accdet to allow its driver to probe.

  Other misc driver updates:
   - AXP20X (AXP717): Added AXP717_TS_PIN_CFG register to writeable regs
     for temperature sensor configuration.
   - SM501: Switched to using BIT() macro to mitigate potential integer
     overflows in GPIO functions.
   - ENE KB3930: Added a NULL pointer check for off_gpios during probe
     to prevent potential dereference.
   - SYSCON: Added a check for invalid resource size to prevent issues
     from DT misconfiguration.
   - CGBC: Corrected signedness issues in cgbc_session_request
   - intel_soc_pmic_chtdc_ti / intel_soc_pmic_crc: Removed unneeded
     explicit assignment to REGCACHE_NONE.
   - ipaq-micro / tps65010: Switched to using str_enable_disable()
     helpers for clarity and potential size reduction.
   - upboard-fpga: Removed unnecessary ACPI_PTR() annotation.
   - max8997: Removed unused max8997_irq_exit() function, using devm_*
     helpers instead.
   - lp3943: Dropped unused #include <linux/pwm.h> from the header file.
   - db8500-prcmu: Removed needless return statements in void APIs.
   - qnap-mcu: Replaced commas with semicolons between expressions for
     correctness.
   - STA2X11: Removed the core MFD driver as the underlying platform
     support was removed.
   - EZX-PCAP: Removed the unused pcap_adc_sync function.
   - PCF50633 (OpenMoko PMIC): Removed the entire driver (core, adc,
     gpio, irq) as the underlying s3c24xx platform support was removed.

  Devicetree updates:
   - Converted fsl,mcu-mpc8349emitx binding to YAML
   - Added qcom,msm8937-tcsr compatible
   - Added microchip,sama7d65-flexcom compatible
   - Added rockchip,rk3528-qos syscon compatible
   - Added airoha,en7581-pbus-csr syscon compatible
   - Added microchip,sama7d65-ddr3phy syscon compatible
   - Added microchip,sama7d65-sfrbu syscon compatible"

* tag 'mfd-next-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (49 commits)
  mfd: cgbc-core: Add support for conga-SA8
  dt-bindings: mfd: syscon: Add microchip,sama7d65-sfrbu
  dt-bindings: mfd: syscon: Add microchip,sama7d65-ddr3phy
  mfd: cgbc: Add support for HWMON
  dt-bindings: mfd: syscon: Add the pbus-csr node for Airoha EN7581 SoC
  mfd: cgbc-core: Cleanup signedness in cgbc_session_request()
  mfd: pcf50633: Remove remaining PCF50633 support
  mfd: pcf50633: Remove unused platform IRQ code
  mfd: pcF50633-gpio: Remove unused driver
  mfd: pcf50633-adc: Remove unused driver
  mfd: qnap-mcu: Convert commas to semicolons in qnap_mcu_exec()
  mfd: mt6397-core: Add mfd_cell for mt6359-accdet
  dt-bindings: mfd: syscon: Add rk3528 QoS register compatible
  dt-bindings: mfd: atmel,sama5d2-flexcom: Add microchip,sama7d65-flexcom
  mfd: ezx-pcap: Remove unused pcap_adc_sync
  mfd: db8500-prcmu: Remove needless return in three void APIs
  mfd: Remove STA2x11 core driver
  mfd: max77620: Allow building as a module
  mfd: ene-kb3930: Fix a potential NULL pointer dereference
  dt-bindings: mfd: qcom,tcsr: Add compatible for MSM8937
  ...
parents 054b7477 a8d13765
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -19,12 +19,11 @@ properties:
    oneOf:
      - const: atmel,sama5d2-flexcom
      - items:
          - const: microchip,sam9x7-flexcom
          - enum:
              - microchip,sam9x7-flexcom
              - microchip,sama7d65-flexcom
              - microchip,sama7g5-flexcom
          - const: atmel,sama5d2-flexcom
      - items:
          - const: microchip,sama7g5-flexcom
          - const: atmel,sama5d2-flexcom


  reg:
    maxItems: 1
+53 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/fsl,mcu-mpc8349emitx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale MPC8349E-mITX-compatible Power Management Micro Controller Unit (MCU)

maintainers:
  - J. Neuschäfer <j.ne@posteo.net>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - fsl,mc9s08qg8-mpc8315erdb
              - fsl,mc9s08qg8-mpc8349emitx
              - fsl,mc9s08qg8-mpc8377erdb
              - fsl,mc9s08qg8-mpc8378erdb
              - fsl,mc9s08qg8-mpc8379erdb
          - const: fsl,mcu-mpc8349emitx

  reg:
    maxItems: 1

  "#gpio-cells":
    const: 2

  gpio-controller: true

required:
  - compatible
  - reg
  - "#gpio-cells"
  - gpio-controller

additionalProperties: false

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

        mcu@a {
            #gpio-cells = <2>;
            compatible = "fsl,mc9s08qg8-mpc8349emitx",
                         "fsl,mcu-mpc8349emitx";
            reg = <0x0a>;
            gpio-controller;
        };
    };
+158 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/maxim,max77705.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Maxim MAX77705 Companion Power Management and USB Type-C interface

maintainers:
  - Dzmitry Sankouski <dsankouski@gmail.com>

description: |
  This is a part of device tree bindings for Maxim MAX77705.

  Maxim MAX77705 is a Companion Power Management and Type-C
  interface IC which includes charger, fuelgauge, LED, haptic motor driver and
  Type-C management.

properties:
  compatible:
    const: maxim,max77705

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  haptic:
    type: object
    additionalProperties: false

    properties:
      compatible:
        const: maxim,max77705-haptic

      haptic-supply: true

      pwms:
        maxItems: 1

    required:
      - compatible
      - haptic-supply
      - pwms

  leds:
    type: object
    additionalProperties: false
    description:
      Up to 4 LED channels supported.

    properties:
      compatible:
        const: maxim,max77705-rgb

      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

      multi-led:
        type: object
        $ref: /schemas/leds/leds-class-multicolor.yaml#
        unevaluatedProperties: false

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

          "#size-cells":
            const: 0

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

            properties:
              reg:
                maxItems: 1

            required:
              - reg

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

        properties:
          reg:
            maxItems: 1

        required:
          - reg

    required:
      - compatible

required:
  - compatible

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/common.h>

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

        pmic@66 {
            compatible = "maxim,max77705";
            reg = <0x66>;
            interrupt-parent = <&pm8998_gpios>;
            interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
            pinctrl-0 = <&chg_int_default>;
            pinctrl-names = "default";

            leds {
                compatible = "maxim,max77705-rgb";

                multi-led {
                    color = <LED_COLOR_ID_RGB>;
                    function = LED_FUNCTION_STATUS;
                    #address-cells = <1>;
                    #size-cells = <0>;

                    led@1 {
                        reg = <1>;
                        color = <LED_COLOR_ID_RED>;
                    };

                    led@2 {
                        reg = <2>;
                        color = <LED_COLOR_ID_GREEN>;
                    };

                    led@3 {
                        reg = <3>;
                        color = <LED_COLOR_ID_BLUE>;
                    };
                };
            };

            haptic {
                compatible = "maxim,max77705-haptic";
                haptic-supply = <&vib_regulator>;
                pwms = <&vib_pwm 0 50000>;
            };
        };
    };
+1 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ properties:
          - qcom,tcsr-msm8660
          - qcom,tcsr-msm8916
          - qcom,tcsr-msm8917
          - qcom,tcsr-msm8937
          - qcom,tcsr-msm8953
          - qcom,tcsr-msm8960
          - qcom,tcsr-msm8974
+13 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ properties:
      - samsung,s2mps14-pmic
      - samsung,s2mps15-pmic
      - samsung,s2mpu02-pmic
      - samsung,s2mpu05-pmic

  clocks:
    $ref: /schemas/clock/samsung,s2mps11.yaml
@@ -125,6 +126,18 @@ allOf:
        samsung,s2mps11-acokb-ground: false
        samsung,s2mps11-wrstbi-ground: false

  - if:
      properties:
        compatible:
          contains:
            const: samsung,s2mpu05-pmic
    then:
      properties:
        regulators:
          $ref: /schemas/regulator/samsung,s2mpu05.yaml
        samsung,s2mps11-acokb-ground: false
        samsung,s2mps11-wrstbi-ground: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
Loading