Commit d8723062 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull NFD updates from Lee Jones:
 "New Drivers:
   - Add support for the Cirrus Logic CS42L43 Audio CODEC

  Fix-ups:
   - Make use of specific printk() format tags for various optimisations
   - Kconfig / module modifications / tweaking
   - Simplify obtaining resources (memory, device data) using unified
     API helpers
   - Bunch of Device Tree additions, conversions and adaptions
   - Convert a bunch of Regmap configurations to use the Maple Tree
     cache
   - Ensure correct includes are present and remove some that are not
     required
   - Remove superfluous code
   - Reduce amount of cycles spent in critical sections
   - Omit the use of redundant casts and if relevant replace with better
     ones
   - Swap out raw_spin_{un}lock_irq{save,restore}() for
     spin_{un}lock_irq{save,restore}()

  Bug Fixes:
   - Repair theoretical deadlock situation
   - Fix some link-time dependencies
   - Use more appropriate datatype when casting"

* tag 'mfd-next-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (70 commits)
  mfd: mc13xxx: Simplify device data fetching in probe()
  mfd: rz-mtu3: Replace raw_spin_lock->spin_lock()
  mfd: rz-mtu3: Reduce critical sections
  mfd: mxs-lradc: Fix Wvoid-pointer-to-enum-cast warning
  mfd: wm31x: Fix Wvoid-pointer-to-enum-cast warning
  mfd: wm8994: Fix Wvoid-pointer-to-enum-cast warning
  mfd: tc3589: Fix Wvoid-pointer-to-enum-cast warning
  mfd: lp87565: Fix Wvoid-pointer-to-enum-cast warning
  mfd: hi6421-pmic: Fix Wvoid-pointer-to-enum-cast warning
  mfd: max77541: Fix Wvoid-pointer-to-enum-cast warning
  mfd: max14577: Fix Wvoid-pointer-to-enum-cast warning
  mfd: stmpe: Fix Wvoid-pointer-to-enum-cast warning
  mfd: rn5t618: Remove redundant of_match_ptr()
  mfd: lochnagar-i2c: Remove redundant of_match_ptr()
  mfd: stpmic1: Remove redundant of_match_ptr()
  mfd: act8945a: Remove redundant of_match_ptr()
  mfd: rsmu_spi: Remove redundant of_match_ptr()
  mfd: altera-a10sr: Remove redundant of_match_ptr()
  mfd: rsmu_i2c: Remove redundant of_match_ptr()
  mfd: tc3589x: Remove redundant of_match_ptr()
  ...
parents e3b85b07 9aab92bc
Loading
Loading
Loading
Loading
+0 −41
Original line number Diff line number Diff line
* STMPE Keypad

Required properties:
 - compatible               : "st,stmpe-keypad"
 - linux,keymap             : See ./matrix-keymap.txt

Optional properties:
 - debounce-interval        : Debouncing interval time in milliseconds
 - st,scan-count            : Scanning cycles elapsed before key data is updated
 - st,no-autorepeat         : If specified device will not autorepeat
 - keypad,num-rows          : See ./matrix-keymap.txt
 - keypad,num-columns       : See ./matrix-keymap.txt

Example:

	stmpe_keypad {
		compatible = "st,stmpe-keypad";

		debounce-interval = <64>;
		st,scan-count = <8>;
		st,no-autorepeat;

		linux,keymap = <0x205006b
				0x4010074
				0x3050072
				0x1030004
				0x502006a
				0x500000a
				0x5008b
				0x706001c
				0x405000b
				0x6070003
				0x3040067
				0x303006c
				0x60400e7
				0x602009e
				0x4020073
				0x5050002
				0x4030069
				0x3020008>;
	};
+0 −108
Original line number Diff line number Diff line
STMPE Touchscreen
----------------

Required properties:
 - compatible: "st,stmpe-ts"

Optional properties:
- st,ave-ctrl		: Sample average control
				0 -> 1 sample
				1 -> 2 samples
				2 -> 4 samples
				3 -> 8 samples
- st,touch-det-delay	: Touch detect interrupt delay (recommended is 3)
				0 -> 10 us
				1 -> 50 us
				2 -> 100 us
				3 -> 500 us
				4 -> 1 ms
				5 -> 5 ms
				6 -> 10 ms
				7 -> 50 ms
- st,settling		: Panel driver settling time (recommended is 2)
				0 -> 10 us
				1 -> 100 us
				2 -> 500 us
				3 -> 1 ms
				4 -> 5 ms
				5 -> 10 ms
				6 -> 50 ms
				7 -> 100 ms
- st,fraction-z		: Length of the fractional part in z (recommended is 7)
			  (fraction-z ([0..7]) = Count of the fractional part)
- st,i-drive		: current limit value of the touchscreen drivers
				0 -> 20 mA (typical 35mA max)
				1 -> 50 mA (typical 80 mA max)

Optional properties common with MFD (deprecated):
 - st,sample-time	: ADC conversion time in number of clock.
				0 -> 36 clocks
				1 -> 44 clocks
				2 -> 56 clocks
				3 -> 64 clocks
				4 -> 80 clocks (recommended)
				5 -> 96 clocks
				6 -> 124 clocks
 - st,mod-12b		: ADC Bit mode
				0 -> 10bit ADC
				1 -> 12bit ADC
 - st,ref-sel		: ADC reference source
				0 -> internal
				1 -> external
 - st,adc-freq		: ADC Clock speed
				0 -> 1.625 MHz
				1 -> 3.25 MHz
				2 || 3 -> 6.5 MHz

Node should be child node of stmpe node to which it belongs.

Note that common ADC settings of stmpe_touchscreen (child) will take precedence
over the settings done in MFD.

Example:

stmpe811@41 {
	compatible = "st,stmpe811";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_touch_int>;
	#address-cells = <1>;
	#size-cells = <0>;
	reg = <0x41>;
	interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
	interrupt-parent = <&gpio4>;
	interrupt-controller;
	id = <0>;
	blocks = <0x5>;
	irq-trigger = <0x1>;
	/* Common ADC settings */
	/* 3.25 MHz ADC clock speed */
	st,adc-freq = <1>;
	/* 12-bit ADC */
	st,mod-12b = <1>;
	/* internal ADC reference */
	st,ref-sel = <0>;
	/* ADC converstion time: 80 clocks */
	st,sample-time = <4>;

	stmpe_touchscreen {
		compatible = "st,stmpe-ts";
		reg = <0>;
		/* 8 sample average control */
		st,ave-ctrl = <3>;
		/* 5 ms touch detect interrupt delay */
		st,touch-det-delay = <5>;
		/* 1 ms panel driver settling time */
		st,settling = <3>;
		/* 7 length fractional part in z */
		st,fraction-z = <7>;
		/*
		 * 50 mA typical 80 mA max touchscreen drivers
		 * current limit value
		 */
		st,i-drive = <1>;
	};
	stmpe_adc {
		compatible = "st,stmpe-adc";
		st,norequest-mask = <0x0F>;
	};
};
+3 −40
Original line number Diff line number Diff line
@@ -34,6 +34,9 @@ patternProperties:
          - allwinner,sun6i-a31-clock-reset
          - fixed-factor-clock

    required:
      - compatible

    allOf:
      - if:
          properties:
@@ -55,25 +58,17 @@ patternProperties:
            "#clock-cells":
              const: 0

            # Already checked in the main schema
            compatible: true

            clocks:
              maxItems: 2

            clock-output-names:
              maxItems: 1

            phandle: true

          required:
            - "#clock-cells"
            - compatible
            - clocks
            - clock-output-names

          additionalProperties: false

      - if:
          properties:
            compatible:
@@ -85,25 +80,17 @@ patternProperties:
            "#clock-cells":
              const: 0

            # Already checked in the main schema
            compatible: true

            clocks:
              maxItems: 1

            clock-output-names:
              maxItems: 1

            phandle: true

          required:
            - "#clock-cells"
            - compatible
            - clocks
            - clock-output-names

          additionalProperties: false

      - if:
          properties:
            compatible:
@@ -119,9 +106,6 @@ patternProperties:
                offset of the bit controlling this particular gate in
                the register.

            # Already checked in the main schema
            compatible: true

            clocks:
              maxItems: 1

@@ -129,16 +113,11 @@ patternProperties:
              minItems: 1
              maxItems: 32

            phandle: true

          required:
            - "#clock-cells"
            - compatible
            - clocks
            - clock-output-names

          additionalProperties: false

      - if:
          properties:
            compatible:
@@ -150,9 +129,6 @@ patternProperties:
            "#clock-cells":
              const: 0

            # Already checked in the main schema
            compatible: true

            clocks:
              maxItems: 4
              description: >
@@ -162,16 +138,11 @@ patternProperties:
            clock-output-names:
              maxItems: 1

            phandle: true

          required:
            - "#clock-cells"
            - compatible
            - clocks
            - clock-output-names

          additionalProperties: false

      - if:
          properties:
            compatible:
@@ -183,16 +154,8 @@ patternProperties:
            "#reset-cells":
              const: 1

            # Already checked in the main schema
            compatible: true

            phandle: true

          required:
            - "#reset-cells"
            - compatible

          additionalProperties: false

required:
  - compatible
+0 −42
Original line number Diff line number Diff line
@@ -57,25 +57,17 @@ patternProperties:
            "#clock-cells":
              const: 0

            # Already checked in the main schema
            compatible: true

            clocks:
              maxItems: 1

            clock-output-names:
              maxItems: 1

            phandle: true

          required:
            - "#clock-cells"
            - compatible
            - clocks
            - clock-output-names

          additionalProperties: false

      - if:
          properties:
            compatible:
@@ -91,9 +83,6 @@ patternProperties:
                offset of the bit controlling this particular gate in
                the register.

            # Already checked in the main schema
            compatible: true

            clocks:
              maxItems: 1

@@ -101,16 +90,11 @@ patternProperties:
              minItems: 1
              maxItems: 32

            phandle: true

          required:
            - "#clock-cells"
            - compatible
            - clocks
            - clock-output-names

          additionalProperties: false

      - if:
          properties:
            compatible:
@@ -122,34 +106,8 @@ patternProperties:
            "#reset-cells":
              const: 1

            # Already checked in the main schema
            compatible: true

            phandle: true

          required:
            - "#reset-cells"
            - compatible

          additionalProperties: false

      - if:
          properties:
            compatible:
              contains:
                const: allwinner,sun8i-a23-codec-analog

        then:
          properties:
            # Already checked in the main schema
            compatible: true

            phandle: true

          required:
            - compatible

          additionalProperties: false

required:
  - compatible
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ at boot time according to the device tree.

Required properties:
- compatible:		Should be "atmel,sama5d2-flexcom"
			or "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom"
- reg:			Should be the offset/length value for Flexcom dedicated
			I/O registers (without USART, TWI or SPI registers).
- clocks:		Should be the Flexcom peripheral clock from PMC.
Loading