Commit 909fd2b8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull mfd updates from Lee Jones:

 - Fix race in device_node_get_regmap() using more extensive locking

 - Remove unused platform driver support for syscon

 - Allow syscon nodes to be registered without a "syscon" compatible
   string

 - Make `platform_data` pointer const in struct mfd_cell

 - Revert support for multiple AXP PMICs to avoid regressions

 - Increase SoundWire attach timeout and use gpiod_set_raw() for GPIO
   operation

 - Store the result from fault_log() for use by other sub-components

 - Fix an invalid regmap-config max_register value

 - Add another Gemini Lake ISA bridge PCI device ID

 - Use devm_register_power_off_handler() to simplify code

 - Add support for QNAP microcontroller units, including LEDs, input,
   and hwmon

 - Use MFD_CELL macros and remove unused code

 - Add support for AAEON UP board FPGA

 - Remove unused includes

 - Fix various typos and compatibility issues in multiple bindings

 - Add new bindings for rk3562 QoS, LED1202, and qcom,tcsr-ipq5424

 - Convert several bindings to YAML schema

 - Update sprd,sc2731 bindings to reference sprd,sc2731-efuse bindings
   directly

 - Fix rohm,bd71815 bindings by correcting resistor values and typos

 - Documentation improvements:
    - Add documentation for LED1202 and qnap-mcu-hwmon
    - Adjust the file entry for the qnap-mcu header in MAINTAINERS

* tag 'mfd-next-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (35 commits)
  MAINTAINERS: Adjust the file entry for the qnap-mcu header
  dt-bindings: mfd: syscon: Fix ti,j784s4-acspcie-proxy-ctrl compatible
  dt-bindings: mfd: syscon: Fix al,alpine-sysfabric-service compatible
  Revert "mfd: axp20x: Allow multiple regulators"
  dt-bindings: mfd: syscon: Add rk3562 QoS register compatible
  mfd: syscon: Allow syscon nodes without a "syscon" compatible
  mfd: syscon: Remove the platform driver support
  mfd: syscon: Fix race in device_node_get_regmap()
  dt-bindings: mfd: atmel: Convert to YAML schema
  dt-bindings: mfd: atmel,at91sam9260: Convert to YAML schema
  dt-bindings: mfd: sprd,sc2731: Reference sprd,sc2731-efuse bindings
  mfd: tps65219: Remove unused macros & add regmap.h
  mfd: tps65219: Use MFD_CELL macros
  leds: Add LED1202 I2C driver
  dt-bindings: leds: Add LED1202 LED Controller
  Documentation:leds: Add leds-st1202.rst
  mfd: Add support for AAEON UP board FPGA
  mfd: da9052: Store result from fault_log
  mfd: intel_soc_pmic_chtdc_ti: Fix invalid regmap-config max_register value
  mfd: cs42l43: Use devres for remove as well
  ...
parents 38f5265e 2816b0c9
Loading
Loading
Loading
Loading
+132 −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/leds/st,led1202.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ST LED1202 LED controllers

maintainers:
  - Vicentiu Galanopulo <vicentiu.galanopulo@remote-tech.co.uk>

description: |
  The LED1202 is a 12-channel low quiescent current LED controller
  programmable via I2C; The output current can be adjusted separately
  for each channel by 8-bit analog and 12-bit digital dimming control.
  Datasheet available at
  https://www.st.com/en/power-management/led1202.html

properties:
  compatible:
    const: st,led1202

  reg:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^led@[0-9a-f]$":
    type: object
    $ref: common.yaml#
    unevaluatedProperties: false

    properties:
      reg:
        minimum: 0
        maximum: 11

    required:
      - reg

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"

additionalProperties: false

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

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

        led-controller@58 {
            compatible = "st,led1202";
            reg = <0x58>;
            #address-cells = <1>;
            #size-cells = <0>;

            led@0 {
                reg = <0x0>;
                function = LED_FUNCTION_STATUS;
                color = <LED_COLOR_ID_RED>;
                function-enumerator = <1>;
            };

            led@1 {
                reg = <0x1>;
                function = LED_FUNCTION_STATUS;
                color = <LED_COLOR_ID_GREEN>;
                function-enumerator = <2>;
            };

            led@2 {
                reg = <0x2>;
                function = LED_FUNCTION_STATUS;
                color = <LED_COLOR_ID_BLUE>;
                function-enumerator = <3>;
            };

            led@3 {
                reg = <0x3>;
                function = LED_FUNCTION_STATUS;
                color = <LED_COLOR_ID_RED>;
                function-enumerator = <4>;
            };

            led@4 {
                reg = <0x4>;
                function = LED_FUNCTION_STATUS;
                color = <LED_COLOR_ID_GREEN>;
                function-enumerator = <5>;
            };

            led@5 {
                reg = <0x5>;
                function = LED_FUNCTION_STATUS;
                color = <LED_COLOR_ID_BLUE>;
                function-enumerator = <6>;
            };

            led@6 {
                reg = <0x6>;
                function = LED_FUNCTION_STATUS;
                color = <LED_COLOR_ID_RED>;
                function-enumerator = <7>;
            };

            led@7 {
                reg = <0x7>;
                function = LED_FUNCTION_STATUS;
                color = <LED_COLOR_ID_GREEN>;
                function-enumerator = <8>;
            };

            led@8 {
                reg = <0x8>;
                function = LED_FUNCTION_STATUS;
                color = <LED_COLOR_ID_BLUE>;
                function-enumerator = <9>;
            };
        };
    };
...
+44 −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/atmel,at91sam9260-gpbr.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip AT91 General Purpose Backup Registers

maintainers:
  - Nicolas Ferre <nicolas.ferre@microchip.com>

description:
  The system controller embeds 256 bits of General Purpose Backup
  registers organized as 8 32-bit registers.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - atmel,at91sam9260-gpbr
          - const: syscon
      - items:
          - enum:
              - microchip,sam9x60-gpbr
              - microchip,sam9x7-gpbr
          - const: atmel,at91sam9260-gpbr
          - const: syscon

  reg:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    syscon@fffffd50 {
        compatible = "atmel,at91sam9260-gpbr", "syscon";
        reg = <0xfffffd50 0x10>;
    };
+52 −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/atmel,at91sam9260-matrix.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip AT91 Bus Matrix

maintainers:
  - Nicolas Ferre <nicolas.ferre@microchip.com>

description:
  The Bus Matrix (MATRIX) implements a multi-layer AHB, based on the
  AHB-Lite protocol, that enables parallel access paths between multiple
  masters and slaves in a system, thus increasing the overall bandwidth.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - atmel,at91sam9260-matrix
              - atmel,at91sam9261-matrix
              - atmel,at91sam9263-matrix
              - atmel,at91sam9rl-matrix
              - atmel,at91sam9g45-matrix
              - atmel,at91sam9n12-matrix
              - atmel,at91sam9x5-matrix
              - atmel,sama5d3-matrix
          - const: syscon
      - items:
          - enum:
              - microchip,sam9x60-matrix
              - microchip,sam9x7-matrix
          - const: atmel,at91sam9x5-matrix
          - const: syscon

  reg:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    syscon@ffffec00 {
        compatible = "atmel,sama5d3-matrix", "syscon";
        reg = <0xffffec00 0x200>;
    };
+0 −18
Original line number Diff line number Diff line
* Device tree bindings for Atmel GPBR (General Purpose Backup Registers)

The GPBR are a set of battery-backed registers.

Required properties:
- compatible:		Should be one of the following:
			"atmel,at91sam9260-gpbr", "syscon"
			"microchip,sam9x60-gpbr", "syscon"
			"microchip,sam9x7-gpbr", "microchip,sam9x60-gpbr", "syscon"
- reg:			contains offset/length value of the GPBR memory
			region.

Example:

gpbr: gpbr@fffffd50 {
	compatible = "atmel,at91sam9260-gpbr", "syscon";
	reg = <0xfffffd50 0x10>;
};
+0 −26
Original line number Diff line number Diff line
* Device tree bindings for Atmel Bus Matrix

The Bus Matrix registers are used to configure Atmel SoCs internal bus
behavior (master/slave priorities, undefined burst length type, ...)

Required properties:
- compatible:		Should be one of the following
			"atmel,at91sam9260-matrix", "syscon"
			"atmel,at91sam9261-matrix", "syscon"
			"atmel,at91sam9263-matrix", "syscon"
			"atmel,at91sam9rl-matrix", "syscon"
			"atmel,at91sam9g45-matrix", "syscon"
			"atmel,at91sam9n12-matrix", "syscon"
			"atmel,at91sam9x5-matrix", "syscon"
			"atmel,sama5d3-matrix", "syscon"
			"microchip,sam9x60-matrix", "syscon"
			"microchip,sam9x7-matrix", "atmel,at91sam9x5-matrix", "syscon"
- reg:			Contains offset/length value of the Bus Matrix
			memory region.

Example:

matrix: matrix@ffffec00 {
	compatible = "atmel,sama5d3-matrix", "syscon";
	reg = <0xffffec00 0x200>;
};
Loading