- 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 -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmT14v8ACgkQUa+KL4f8 d2F+jw/+MqR0pdOuHiwRAWkPB+Zpk1+aOySF/gZynViSv0aVA/IGXvdTiXSvueut toCcA5LvfrEHzo4wOHF2NeHIs9ogGjuCPRhYTEnBWv8pRkD3fLI2x9nDCxrr6uje 6vvCoDZ8klHcjNw8AJTM/37UFCiqrN9EYb4aoKFVhc1331Fxhc3vYxPbCWr7MZyn A3AVpM5pHeS0+/huwwCwX44azYc8wdBMrqQ5t0FB/YNyndz2Sd0WBUbxqiSn+i94 p6J7xhP8mG2JveCcezxX7ixVta4rkinGnlSNjt3ej41OTr4rbMCY55CHuyR3KnL2 KtRm8MqFofnOUqMGr8LH21mVm6QgLEel19QsG4HVkIKSAJ7xWnPS9Gw7RzUhKGJP gHPqrwjgbzqyPBj5oCnVHiSuqjpnzYyMG1zUSYFzMY1eTe98fdHwAKHqsAQO9Zgp lFACynrGIFfcjbV2PKbmshBUdpX2rk5aM/QdOFN4/8X6oaxgzFndWBhKTJew5Jir ZRoTFONzdZRCK23YB7k4AncEYwy0fdsbNLuOJFHk3nHxmrTllpnXn1fcDL/H+vsF 3CGe7RBxRkzU06Sq4SlLBbqj5H4eeyyq8pP3kRF7y7KsI9G3GLeEW69LNkqYANxf 3tkC7MKt3qZp6UHx47gAqNaCS/cniF3rsLe7LgwTaxqg1+LNIbU= =MNYe -----END PGP SIGNATURE----- Merge tag 'mfd-next-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd 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() ...
This commit is contained in:
commit
d8723062a2
@ -1,41 +0,0 @@
|
|||||||
* 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>;
|
|
||||||
};
|
|
@ -1,108 +0,0 @@
|
|||||||
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>;
|
|
||||||
};
|
|
||||||
};
|
|
@ -34,6 +34,9 @@ patternProperties:
|
|||||||
- allwinner,sun6i-a31-clock-reset
|
- allwinner,sun6i-a31-clock-reset
|
||||||
- fixed-factor-clock
|
- fixed-factor-clock
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
@ -55,25 +58,17 @@ patternProperties:
|
|||||||
"#clock-cells":
|
"#clock-cells":
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
# Already checked in the main schema
|
|
||||||
compatible: true
|
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
phandle: true
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#clock-cells"
|
- "#clock-cells"
|
||||||
- compatible
|
|
||||||
- clocks
|
- clocks
|
||||||
- clock-output-names
|
- clock-output-names
|
||||||
|
|
||||||
additionalProperties: false
|
|
||||||
|
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -85,25 +80,17 @@ patternProperties:
|
|||||||
"#clock-cells":
|
"#clock-cells":
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
# Already checked in the main schema
|
|
||||||
compatible: true
|
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
phandle: true
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#clock-cells"
|
- "#clock-cells"
|
||||||
- compatible
|
|
||||||
- clocks
|
- clocks
|
||||||
- clock-output-names
|
- clock-output-names
|
||||||
|
|
||||||
additionalProperties: false
|
|
||||||
|
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -119,9 +106,6 @@ patternProperties:
|
|||||||
offset of the bit controlling this particular gate in
|
offset of the bit controlling this particular gate in
|
||||||
the register.
|
the register.
|
||||||
|
|
||||||
# Already checked in the main schema
|
|
||||||
compatible: true
|
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
@ -129,16 +113,11 @@ patternProperties:
|
|||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 32
|
maxItems: 32
|
||||||
|
|
||||||
phandle: true
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#clock-cells"
|
- "#clock-cells"
|
||||||
- compatible
|
|
||||||
- clocks
|
- clocks
|
||||||
- clock-output-names
|
- clock-output-names
|
||||||
|
|
||||||
additionalProperties: false
|
|
||||||
|
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -150,9 +129,6 @@ patternProperties:
|
|||||||
"#clock-cells":
|
"#clock-cells":
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
# Already checked in the main schema
|
|
||||||
compatible: true
|
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
maxItems: 4
|
maxItems: 4
|
||||||
description: >
|
description: >
|
||||||
@ -162,16 +138,11 @@ patternProperties:
|
|||||||
clock-output-names:
|
clock-output-names:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
phandle: true
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#clock-cells"
|
- "#clock-cells"
|
||||||
- compatible
|
|
||||||
- clocks
|
- clocks
|
||||||
- clock-output-names
|
- clock-output-names
|
||||||
|
|
||||||
additionalProperties: false
|
|
||||||
|
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -183,16 +154,8 @@ patternProperties:
|
|||||||
"#reset-cells":
|
"#reset-cells":
|
||||||
const: 1
|
const: 1
|
||||||
|
|
||||||
# Already checked in the main schema
|
|
||||||
compatible: true
|
|
||||||
|
|
||||||
phandle: true
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#reset-cells"
|
- "#reset-cells"
|
||||||
- compatible
|
|
||||||
|
|
||||||
additionalProperties: false
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
@ -57,25 +57,17 @@ patternProperties:
|
|||||||
"#clock-cells":
|
"#clock-cells":
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
# Already checked in the main schema
|
|
||||||
compatible: true
|
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
phandle: true
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#clock-cells"
|
- "#clock-cells"
|
||||||
- compatible
|
|
||||||
- clocks
|
- clocks
|
||||||
- clock-output-names
|
- clock-output-names
|
||||||
|
|
||||||
additionalProperties: false
|
|
||||||
|
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -91,9 +83,6 @@ patternProperties:
|
|||||||
offset of the bit controlling this particular gate in
|
offset of the bit controlling this particular gate in
|
||||||
the register.
|
the register.
|
||||||
|
|
||||||
# Already checked in the main schema
|
|
||||||
compatible: true
|
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
@ -101,16 +90,11 @@ patternProperties:
|
|||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 32
|
maxItems: 32
|
||||||
|
|
||||||
phandle: true
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#clock-cells"
|
- "#clock-cells"
|
||||||
- compatible
|
|
||||||
- clocks
|
- clocks
|
||||||
- clock-output-names
|
- clock-output-names
|
||||||
|
|
||||||
additionalProperties: false
|
|
||||||
|
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -122,34 +106,8 @@ patternProperties:
|
|||||||
"#reset-cells":
|
"#reset-cells":
|
||||||
const: 1
|
const: 1
|
||||||
|
|
||||||
# Already checked in the main schema
|
|
||||||
compatible: true
|
|
||||||
|
|
||||||
phandle: true
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#reset-cells"
|
- "#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:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
@ -6,6 +6,7 @@ at boot time according to the device tree.
|
|||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: Should be "atmel,sama5d2-flexcom"
|
- compatible: Should be "atmel,sama5d2-flexcom"
|
||||||
|
or "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom"
|
||||||
- reg: Should be the offset/length value for Flexcom dedicated
|
- reg: Should be the offset/length value for Flexcom dedicated
|
||||||
I/O registers (without USART, TWI or SPI registers).
|
I/O registers (without USART, TWI or SPI registers).
|
||||||
- clocks: Should be the Flexcom peripheral clock from PMC.
|
- clocks: Should be the Flexcom peripheral clock from PMC.
|
||||||
|
@ -6,6 +6,7 @@ Required properties:
|
|||||||
- compatible: Should be one of the following:
|
- compatible: Should be one of the following:
|
||||||
"atmel,at91sam9260-gpbr", "syscon"
|
"atmel,at91sam9260-gpbr", "syscon"
|
||||||
"microchip,sam9x60-gpbr", "syscon"
|
"microchip,sam9x60-gpbr", "syscon"
|
||||||
|
"microchip,sam9x7-gpbr", "microchip,sam9x60-gpbr", "syscon"
|
||||||
- reg: contains offset/length value of the GPBR memory
|
- reg: contains offset/length value of the GPBR memory
|
||||||
region.
|
region.
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ Required properties:
|
|||||||
"atmel,sama5d3-hlcdc"
|
"atmel,sama5d3-hlcdc"
|
||||||
"atmel,sama5d4-hlcdc"
|
"atmel,sama5d4-hlcdc"
|
||||||
"microchip,sam9x60-hlcdc"
|
"microchip,sam9x60-hlcdc"
|
||||||
|
"microchip,sam9x75-xlcdc"
|
||||||
- reg: base address and size of the HLCDC device registers.
|
- reg: base address and size of the HLCDC device registers.
|
||||||
- clock-names: the name of the 3 clocks requested by the HLCDC device.
|
- clock-names: the name of the 3 clocks requested by the HLCDC device.
|
||||||
Should contain "periph_clk", "sys_clk" and "slow_clk".
|
Should contain "periph_clk", "sys_clk" and "slow_clk".
|
||||||
|
@ -14,6 +14,7 @@ Required properties:
|
|||||||
"atmel,at91sam9x5-matrix", "syscon"
|
"atmel,at91sam9x5-matrix", "syscon"
|
||||||
"atmel,sama5d3-matrix", "syscon"
|
"atmel,sama5d3-matrix", "syscon"
|
||||||
"microchip,sam9x60-matrix", "syscon"
|
"microchip,sam9x60-matrix", "syscon"
|
||||||
|
"microchip,sam9x7-matrix", "atmel,at91sam9x5-matrix", "syscon"
|
||||||
- reg: Contains offset/length value of the Bus Matrix
|
- reg: Contains offset/length value of the Bus Matrix
|
||||||
memory region.
|
memory region.
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ Required properties:
|
|||||||
"atmel,sama5d3-smc", "syscon"
|
"atmel,sama5d3-smc", "syscon"
|
||||||
"atmel,sama5d2-smc", "syscon"
|
"atmel,sama5d2-smc", "syscon"
|
||||||
"microchip,sam9x60-smc", "syscon"
|
"microchip,sam9x60-smc", "syscon"
|
||||||
|
"microchip,sam9x7-smc", "atmel,at91sam9260-smc", "syscon"
|
||||||
- reg: Contains offset/length value of the SMC memory
|
- reg: Contains offset/length value of the SMC memory
|
||||||
region.
|
region.
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ patternProperties:
|
|||||||
"^gpio@[0-9a-f]+$":
|
"^gpio@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../gpio/brcm,bcm63xx-gpio.yaml"
|
$ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml
|
||||||
description:
|
description:
|
||||||
GPIO controller for the SoC GPIOs. This child node definition
|
GPIO controller for the SoC GPIOs. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
@ -44,7 +44,7 @@ patternProperties:
|
|||||||
"^pinctrl@[0-9a-f]+$":
|
"^pinctrl@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../pinctrl/brcm,bcm6318-pinctrl.yaml"
|
$ref: /schemas/pinctrl/brcm,bcm6318-pinctrl.yaml
|
||||||
description:
|
description:
|
||||||
Pin controller for the SoC pins. This child node definition
|
Pin controller for the SoC pins. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
|
@ -35,7 +35,7 @@ patternProperties:
|
|||||||
"^gpio@[0-9a-f]+$":
|
"^gpio@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../gpio/brcm,bcm63xx-gpio.yaml"
|
$ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml
|
||||||
description:
|
description:
|
||||||
GPIO controller for the SoC GPIOs. This child node definition
|
GPIO controller for the SoC GPIOs. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
@ -44,7 +44,7 @@ patternProperties:
|
|||||||
"^pinctrl@[0-9a-f]+$":
|
"^pinctrl@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../pinctrl/brcm,bcm63268-pinctrl.yaml"
|
$ref: /schemas/pinctrl/brcm,bcm63268-pinctrl.yaml
|
||||||
description:
|
description:
|
||||||
Pin controller for the SoC pins. This child node definition
|
Pin controller for the SoC pins. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
|
@ -35,7 +35,7 @@ patternProperties:
|
|||||||
"^gpio@[0-9a-f]+$":
|
"^gpio@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../gpio/brcm,bcm63xx-gpio.yaml"
|
$ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml
|
||||||
description:
|
description:
|
||||||
GPIO controller for the SoC GPIOs. This child node definition
|
GPIO controller for the SoC GPIOs. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
@ -44,7 +44,7 @@ patternProperties:
|
|||||||
"^pinctrl@[0-9a-f]+$":
|
"^pinctrl@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../pinctrl/brcm,bcm6328-pinctrl.yaml"
|
$ref: /schemas/pinctrl/brcm,bcm6328-pinctrl.yaml
|
||||||
description:
|
description:
|
||||||
Pin controller for the SoC pins. This child node definition
|
Pin controller for the SoC pins. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
|
@ -35,7 +35,7 @@ patternProperties:
|
|||||||
"^gpio@[0-9a-f]+$":
|
"^gpio@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../gpio/brcm,bcm63xx-gpio.yaml"
|
$ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml
|
||||||
description:
|
description:
|
||||||
GPIO controller for the SoC GPIOs. This child node definition
|
GPIO controller for the SoC GPIOs. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
@ -44,7 +44,7 @@ patternProperties:
|
|||||||
"^pinctrl@[0-9a-f]+$":
|
"^pinctrl@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../pinctrl/brcm,bcm6358-pinctrl.yaml"
|
$ref: /schemas/pinctrl/brcm,bcm6358-pinctrl.yaml
|
||||||
description:
|
description:
|
||||||
Pin controller for the SoC pins. This child node definition
|
Pin controller for the SoC pins. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
|
@ -35,7 +35,7 @@ patternProperties:
|
|||||||
"^gpio@[0-9a-f]+$":
|
"^gpio@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../gpio/brcm,bcm63xx-gpio.yaml"
|
$ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml
|
||||||
description:
|
description:
|
||||||
GPIO controller for the SoC GPIOs. This child node definition
|
GPIO controller for the SoC GPIOs. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
@ -44,7 +44,7 @@ patternProperties:
|
|||||||
"^pinctrl@[0-9a-f]+$":
|
"^pinctrl@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../pinctrl/brcm,bcm6362-pinctrl.yaml"
|
$ref: /schemas/pinctrl/brcm,bcm6362-pinctrl.yaml
|
||||||
description:
|
description:
|
||||||
Pin controller for the SoC pins. This child node definition
|
Pin controller for the SoC pins. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
|
@ -35,7 +35,7 @@ patternProperties:
|
|||||||
"^gpio@[0-9a-f]+$":
|
"^gpio@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../gpio/brcm,bcm63xx-gpio.yaml"
|
$ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml
|
||||||
description:
|
description:
|
||||||
GPIO controller for the SoC GPIOs. This child node definition
|
GPIO controller for the SoC GPIOs. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
@ -44,7 +44,7 @@ patternProperties:
|
|||||||
"^pinctrl@[0-9a-f]+$":
|
"^pinctrl@[0-9a-f]+$":
|
||||||
# Child node
|
# Child node
|
||||||
type: object
|
type: object
|
||||||
$ref: "../pinctrl/brcm,bcm6368-pinctrl.yaml"
|
$ref: /schemas/pinctrl/brcm,bcm6368-pinctrl.yaml
|
||||||
description:
|
description:
|
||||||
Pin controller for the SoC pins. This child node definition
|
Pin controller for the SoC pins. This child node definition
|
||||||
should follow the bindings specified in
|
should follow the bindings specified in
|
||||||
|
@ -31,12 +31,17 @@ properties:
|
|||||||
charger:
|
charger:
|
||||||
$ref: /schemas/power/supply/maxim,max77693.yaml
|
$ref: /schemas/power/supply/maxim,max77693.yaml
|
||||||
|
|
||||||
|
connector:
|
||||||
|
$ref: /schemas/connector/usb-connector.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
led:
|
led:
|
||||||
$ref: /schemas/leds/maxim,max77693.yaml
|
$ref: /schemas/leds/maxim,max77693.yaml
|
||||||
|
|
||||||
max77693-muic:
|
max77693-muic:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
deprecated: true
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -45,6 +50,21 @@ properties:
|
|||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
|
||||||
|
muic:
|
||||||
|
type: object
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: maxim,max77693-muic
|
||||||
|
|
||||||
|
connector:
|
||||||
|
$ref: /schemas/connector/usb-connector.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
motor-driver:
|
motor-driver:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
@ -107,6 +127,38 @@ examples:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
muic {
|
||||||
|
compatible = "maxim,max77693-muic";
|
||||||
|
|
||||||
|
connector {
|
||||||
|
compatible = "samsung,usb-connector-11pin",
|
||||||
|
"usb-b-connector";
|
||||||
|
label = "micro-USB";
|
||||||
|
type = "micro";
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
muic_to_usb: endpoint {
|
||||||
|
remote-endpoint = <&usb_to_muic>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
port@3 {
|
||||||
|
reg = <3>;
|
||||||
|
|
||||||
|
muic_to_mhl: endpoint {
|
||||||
|
remote-endpoint = <&mhl_to_muic>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
motor-driver {
|
motor-driver {
|
||||||
compatible = "maxim,max77693-haptic";
|
compatible = "maxim,max77693-haptic";
|
||||||
haptic-supply = <&ldo26_reg>;
|
haptic-supply = <&ldo26_reg>;
|
||||||
|
@ -41,6 +41,7 @@ properties:
|
|||||||
- qcom,pm660
|
- qcom,pm660
|
||||||
- qcom,pm660l
|
- qcom,pm660l
|
||||||
- qcom,pm7250b
|
- qcom,pm7250b
|
||||||
|
- qcom,pm7550ba
|
||||||
- qcom,pm7325
|
- qcom,pm7325
|
||||||
- qcom,pm8004
|
- qcom,pm8004
|
||||||
- qcom,pm8005
|
- qcom,pm8005
|
||||||
@ -70,6 +71,8 @@ properties:
|
|||||||
- qcom,pm8994
|
- qcom,pm8994
|
||||||
- qcom,pm8998
|
- qcom,pm8998
|
||||||
- qcom,pma8084
|
- qcom,pma8084
|
||||||
|
- qcom,pmc8180
|
||||||
|
- qcom,pmc8180c
|
||||||
- qcom,pmd9635
|
- qcom,pmd9635
|
||||||
- qcom,pmi632
|
- qcom,pmi632
|
||||||
- qcom,pmi8950
|
- qcom,pmi8950
|
||||||
@ -88,6 +91,7 @@ properties:
|
|||||||
- qcom,pms405
|
- qcom,pms405
|
||||||
- qcom,pmx55
|
- qcom,pmx55
|
||||||
- qcom,pmx65
|
- qcom,pmx65
|
||||||
|
- qcom,pmx75
|
||||||
- qcom,smb2351
|
- qcom,smb2351
|
||||||
- const: qcom,spmi-pmic
|
- const: qcom,spmi-pmic
|
||||||
|
|
||||||
@ -127,7 +131,7 @@ patternProperties:
|
|||||||
|
|
||||||
"^audio-codec@[0-9a-f]+$":
|
"^audio-codec@[0-9a-f]+$":
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: true # FIXME qcom,pm8916-wcd-analog-codec binding not converted yet
|
$ref: /schemas/sound/qcom,pm8916-wcd-analog-codec.yaml#
|
||||||
|
|
||||||
"^charger@[0-9a-f]+$":
|
"^charger@[0-9a-f]+$":
|
||||||
type: object
|
type: object
|
||||||
|
@ -130,7 +130,6 @@ dependencies:
|
|||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
#include <dt-bindings/interrupt-controller/irq.h>
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
#include <dt-bindings/leds/common.h>
|
|
||||||
|
|
||||||
i2c {
|
i2c {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
|
297
Documentation/devicetree/bindings/mfd/st,stmpe.yaml
Normal file
297
Documentation/devicetree/bindings/mfd/st,stmpe.yaml
Normal file
@ -0,0 +1,297 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/mfd/st,stmpe.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: STMicroelectonics Port Expander (STMPE)
|
||||||
|
|
||||||
|
description: STMicroelectronics Port Expander (STMPE) is a series of slow
|
||||||
|
bus controllers for various expanded peripherals such as GPIO, keypad,
|
||||||
|
touchscreen, ADC, PWM or rotator. It can contain one or several different
|
||||||
|
peripherals connected to SPI or I2C.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Linus Walleij <linus.walleij@linaro.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- st,stmpe601
|
||||||
|
- st,stmpe801
|
||||||
|
- st,stmpe811
|
||||||
|
- st,stmpe1600
|
||||||
|
- st,stmpe1601
|
||||||
|
- st,stmpe2401
|
||||||
|
- st,stmpe2403
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vcc-supply: true
|
||||||
|
|
||||||
|
vio-supply: true
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
wakeup-source: true
|
||||||
|
|
||||||
|
st,autosleep-timeout:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 4, 16, 32, 64, 128, 256, 512, 1024 ]
|
||||||
|
description: Time idle before going to automatic sleep to save power
|
||||||
|
|
||||||
|
st,sample-time:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 0, 1, 2, 3, 4, 5, 6 ]
|
||||||
|
description: |
|
||||||
|
Sample time per iteration
|
||||||
|
0 = 36 clock ticks
|
||||||
|
1 = 44 clock ticks
|
||||||
|
2 = 56 clock ticks
|
||||||
|
3 = 64 clock ticks
|
||||||
|
4 = 80 clock ticks - recommended
|
||||||
|
5 = 96 clock ticks
|
||||||
|
6 = 124 clock ticks
|
||||||
|
|
||||||
|
st,mod-12b:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 0, 1 ]
|
||||||
|
description: ADC bit mode 0 = 10bit ADC, 1 = 12bit ADC
|
||||||
|
|
||||||
|
st,ref-sel:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 0, 1 ]
|
||||||
|
description: ADC reference source 0 = internal, 1 = external
|
||||||
|
|
||||||
|
st,adc-freq:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 0, 1, 2, 3 ]
|
||||||
|
description: |
|
||||||
|
ADC clock speed
|
||||||
|
0 = 1.625 MHz
|
||||||
|
1 = 3.25 MHz
|
||||||
|
2, 3 = 6.5 MHz
|
||||||
|
|
||||||
|
adc:
|
||||||
|
type: object
|
||||||
|
$ref: /schemas/iio/adc/st,stmpe-adc.yaml#
|
||||||
|
|
||||||
|
gpio:
|
||||||
|
type: object
|
||||||
|
$ref: /schemas/gpio/st,stmpe-gpio.yaml#
|
||||||
|
|
||||||
|
keyboard-controller:
|
||||||
|
type: object
|
||||||
|
$ref: /schemas/input/matrix-keymap.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: st,stmpe-keypad
|
||||||
|
|
||||||
|
debounce-interval:
|
||||||
|
description: Debouncing interval in milliseconds
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
st,no-autorepeat:
|
||||||
|
description: If present, the keys will not autorepeat when pressed
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
st,scan-count:
|
||||||
|
description: Scanning cycles elapsed before key data is updated
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- linux,keymap
|
||||||
|
|
||||||
|
pwm:
|
||||||
|
type: object
|
||||||
|
$ref: /schemas/pwm/pwm.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: st,stmpe-pwm
|
||||||
|
|
||||||
|
"#pwm-cells":
|
||||||
|
const: 2
|
||||||
|
|
||||||
|
touchscreen:
|
||||||
|
type: object
|
||||||
|
$ref: /schemas/input/touchscreen/touchscreen.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: st,stmpe-ts
|
||||||
|
|
||||||
|
st,ave-ctrl:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 0, 1, 2, 3 ]
|
||||||
|
description: |
|
||||||
|
Sample average control
|
||||||
|
0 = 1 sample
|
||||||
|
1 = 2 samples
|
||||||
|
2 = 4 samples
|
||||||
|
3 = 8 samples
|
||||||
|
|
||||||
|
st,touch-det-delay:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
|
||||||
|
description: |
|
||||||
|
Touch detection delay
|
||||||
|
0 = 10 us
|
||||||
|
1 = 50 us
|
||||||
|
2 = 100 us
|
||||||
|
3 = 500 us - recommended
|
||||||
|
4 = 1 ms
|
||||||
|
5 = 5 ms
|
||||||
|
6 = 10 ms
|
||||||
|
7 = 50 ms
|
||||||
|
|
||||||
|
st,settling:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
|
||||||
|
description: |
|
||||||
|
Panel driver settling time
|
||||||
|
0 = 10 us
|
||||||
|
1 = 100 us
|
||||||
|
2 = 500 us - recommended
|
||||||
|
3 = 1 ms
|
||||||
|
4 = 5 ms
|
||||||
|
5 = 10 ms
|
||||||
|
6 = 50 ms
|
||||||
|
7 = 100 ms
|
||||||
|
|
||||||
|
st,fraction-z:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
|
||||||
|
description: Length of the fractional part in z, recommended is 7
|
||||||
|
(fraction-z ([0..7]) = Count of the fractional part)
|
||||||
|
|
||||||
|
st,i-drive:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [ 0, 1 ]
|
||||||
|
description: |
|
||||||
|
current limit value of the touchscreen drivers
|
||||||
|
0 = 20 mA (typical 35 mA max)
|
||||||
|
1 = 50 mA (typical 80 mA max)
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port-expander@43 {
|
||||||
|
compatible = "st,stmpe2401";
|
||||||
|
reg = <0x43>;
|
||||||
|
reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||||
|
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
interrupt-parent = <&gpio>;
|
||||||
|
vcc-supply = <&db8500_vsmps2_reg>;
|
||||||
|
vio-supply = <&db8500_vsmps2_reg>;
|
||||||
|
wakeup-source;
|
||||||
|
st,autosleep-timeout = <1024>;
|
||||||
|
|
||||||
|
gpio {
|
||||||
|
compatible = "st,stmpe-gpio";
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
|
st,norequest-mask = <0xf0f002>;
|
||||||
|
};
|
||||||
|
|
||||||
|
keyboard-controller {
|
||||||
|
compatible = "st,stmpe-keypad";
|
||||||
|
debounce-interval = <64>;
|
||||||
|
st,scan-count = <8>;
|
||||||
|
st,no-autorepeat;
|
||||||
|
keypad,num-rows = <8>;
|
||||||
|
keypad,num-columns = <8>;
|
||||||
|
linux,keymap = <
|
||||||
|
MATRIX_KEY(0x00, 0x00, KEY_1)
|
||||||
|
MATRIX_KEY(0x00, 0x01, KEY_2)
|
||||||
|
MATRIX_KEY(0x00, 0x02, KEY_3)
|
||||||
|
MATRIX_KEY(0x00, 0x03, KEY_4)
|
||||||
|
MATRIX_KEY(0x00, 0x04, KEY_5)
|
||||||
|
MATRIX_KEY(0x00, 0x05, KEY_6)
|
||||||
|
MATRIX_KEY(0x00, 0x06, KEY_7)
|
||||||
|
MATRIX_KEY(0x00, 0x07, KEY_8)
|
||||||
|
MATRIX_KEY(0x00, 0x08, KEY_9)
|
||||||
|
MATRIX_KEY(0x00, 0x09, KEY_0)
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm {
|
||||||
|
compatible = "st,stmpe-pwm";
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
port-expander@41 {
|
||||||
|
compatible = "st,stmpe811";
|
||||||
|
reg = <0x41>;
|
||||||
|
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
interrupt-parent = <&gpio>;
|
||||||
|
st,adc-freq = <1>;
|
||||||
|
st,mod-12b = <1>;
|
||||||
|
st,ref-sel = <0>;
|
||||||
|
st,sample-time = <4>;
|
||||||
|
|
||||||
|
adc {
|
||||||
|
compatible = "st,stmpe-adc";
|
||||||
|
st,norequest-mask = <0x0f>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio {
|
||||||
|
compatible = "st,stmpe-gpio";
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm {
|
||||||
|
compatible = "st,stmpe-pwm";
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
touchscreen {
|
||||||
|
compatible = "st,stmpe-ts";
|
||||||
|
st,ave-ctrl = <3>;
|
||||||
|
st,touch-det-delay = <5>;
|
||||||
|
st,settling = <3>;
|
||||||
|
st,fraction-z = <7>;
|
||||||
|
st,i-drive = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
@ -106,6 +106,7 @@ properties:
|
|||||||
const: st,stpmic1-regulators
|
const: st,stpmic1-regulators
|
||||||
|
|
||||||
ldo3:
|
ldo3:
|
||||||
|
$ref: /schemas/regulator/regulator.yaml
|
||||||
type: object
|
type: object
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
@ -128,6 +129,7 @@ properties:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
ldo4:
|
ldo4:
|
||||||
|
$ref: /schemas/regulator/regulator.yaml
|
||||||
type: object
|
type: object
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
@ -142,11 +144,14 @@ properties:
|
|||||||
regulator-name: true
|
regulator-name: true
|
||||||
regulator-boot-on: true
|
regulator-boot-on: true
|
||||||
regulator-always-on: true
|
regulator-always-on: true
|
||||||
|
regulator-min-microvolt: true
|
||||||
|
regulator-max-microvolt: true
|
||||||
regulator-over-current-protection: true
|
regulator-over-current-protection: true
|
||||||
|
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
vref_ddr:
|
vref_ddr:
|
||||||
|
$ref: /schemas/regulator/regulator.yaml
|
||||||
type: object
|
type: object
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
@ -165,6 +170,7 @@ properties:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
boost:
|
boost:
|
||||||
|
$ref: /schemas/regulator/regulator.yaml
|
||||||
type: object
|
type: object
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
@ -187,10 +193,8 @@ properties:
|
|||||||
"^(buck[1-4]|ldo[1-6]|vref_ddr|boost|pwr_sw[1-2])-supply$":
|
"^(buck[1-4]|ldo[1-6]|vref_ddr|boost|pwr_sw[1-2])-supply$":
|
||||||
description: STPMIC1 voltage regulators supplies
|
description: STPMIC1 voltage regulators supplies
|
||||||
|
|
||||||
"^(buck[1-4]|ldo[1-6]|boost|vref_ddr|pwr_sw[1-2])$":
|
|
||||||
$ref: ../regulator/regulator.yaml
|
|
||||||
|
|
||||||
"^ldo[1-2,5-6]$":
|
"^ldo[1-2,5-6]$":
|
||||||
|
$ref: /schemas/regulator/regulator.yaml
|
||||||
type: object
|
type: object
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
@ -213,6 +217,7 @@ properties:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
"^buck[1-4]$":
|
"^buck[1-4]$":
|
||||||
|
$ref: /schemas/regulator/regulator.yaml
|
||||||
type: object
|
type: object
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
@ -237,6 +242,7 @@ properties:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
"^pwr_sw[1-2]$":
|
"^pwr_sw[1-2]$":
|
||||||
|
$ref: /schemas/regulator/regulator.yaml
|
||||||
type: object
|
type: object
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
|
@ -72,44 +72,52 @@ properties:
|
|||||||
main voltage domain for the chip.
|
main voltage domain for the chip.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_varm:
|
db8500_varm:
|
||||||
description: The voltage for the ARM Cortex A-9 CPU.
|
description: The voltage for the ARM Cortex A-9 CPU.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_vmodem:
|
db8500_vmodem:
|
||||||
description: The voltage for the modem subsystem.
|
description: The voltage for the modem subsystem.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_vpll:
|
db8500_vpll:
|
||||||
description: The voltage for the phase locked loop clocks.
|
description: The voltage for the phase locked loop clocks.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_vsmps1:
|
db8500_vsmps1:
|
||||||
description: Also known as VIO12, is a step-down voltage regulator
|
description: Also known as VIO12, is a step-down voltage regulator
|
||||||
for 1.2V I/O. SMPS means System Management Power Source.
|
for 1.2V I/O. SMPS means System Management Power Source.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_vsmps2:
|
db8500_vsmps2:
|
||||||
description: Also known as VIO18, is a step-down voltage regulator
|
description: Also known as VIO18, is a step-down voltage regulator
|
||||||
for 1.8V I/O. SMPS means System Management Power Source.
|
for 1.8V I/O. SMPS means System Management Power Source.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_vsmps3:
|
db8500_vsmps3:
|
||||||
description: This is a step-down voltage regulator
|
description: This is a step-down voltage regulator
|
||||||
for 0.87 thru 1.875V I/O. SMPS means System Management Power Source.
|
for 0.87 thru 1.875V I/O. SMPS means System Management Power Source.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_vrf1:
|
db8500_vrf1:
|
||||||
description: RF transceiver voltage regulator.
|
description: RF transceiver voltage regulator.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_sva_mmdsp:
|
db8500_sva_mmdsp:
|
||||||
description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
|
description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
|
||||||
@ -117,18 +125,21 @@ properties:
|
|||||||
for video encoding and decoding.
|
for video encoding and decoding.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_sva_mmdsp_ret:
|
db8500_sva_mmdsp_ret:
|
||||||
description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
|
description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
|
||||||
voltage regulator for retention mode.
|
voltage regulator for retention mode.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_sva_pipe:
|
db8500_sva_pipe:
|
||||||
description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
|
description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
|
||||||
voltage regulator for the data pipe.
|
voltage regulator for the data pipe.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_sia_mmdsp:
|
db8500_sia_mmdsp:
|
||||||
description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
|
description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
|
||||||
@ -136,18 +147,21 @@ properties:
|
|||||||
for image encoding and decoding.
|
for image encoding and decoding.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_sia_mmdsp_ret:
|
db8500_sia_mmdsp_ret:
|
||||||
description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
|
description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
|
||||||
voltage regulator for retention mode.
|
voltage regulator for retention mode.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_sia_pipe:
|
db8500_sia_pipe:
|
||||||
description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
|
description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
|
||||||
voltage regulator for the data pipe.
|
voltage regulator for the data pipe.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_sga:
|
db8500_sga:
|
||||||
description: Smart Graphics Accelerator (SGA) voltage regulator.
|
description: Smart Graphics Accelerator (SGA) voltage regulator.
|
||||||
@ -155,6 +169,7 @@ properties:
|
|||||||
accelerator block.
|
accelerator block.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_b2r2_mcde:
|
db8500_b2r2_mcde:
|
||||||
description: Blit Blend Rotate and Rescale (B2R2), and Multi-Channel
|
description: Blit Blend Rotate and Rescale (B2R2), and Multi-Channel
|
||||||
@ -162,28 +177,33 @@ properties:
|
|||||||
blocks.
|
blocks.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_esram12:
|
db8500_esram12:
|
||||||
description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator.
|
description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_esram12_ret:
|
db8500_esram12_ret:
|
||||||
description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator for
|
description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator for
|
||||||
retention mode.
|
retention mode.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_esram34:
|
db8500_esram34:
|
||||||
description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator.
|
description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
db8500_esram34_ret:
|
db8500_esram34_ret:
|
||||||
description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator for
|
description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator for
|
||||||
retention mode.
|
retention mode.
|
||||||
type: object
|
type: object
|
||||||
$ref: ../regulator/regulator.yaml#
|
$ref: ../regulator/regulator.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
* ST Microelectronics STMPE Multi-Functional Device
|
|
||||||
|
|
||||||
STMPE is an MFD device which may expose the following inbuilt devices: gpio,
|
|
||||||
keypad, touchscreen, adc, pwm, rotator.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : "st,stmpe[610|801|811|1600|1601|2401|2403]"
|
|
||||||
- reg : I2C/SPI address of the device
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- interrupts : The interrupt outputs from the controller
|
|
||||||
- interrupt-controller : Marks the device node as an interrupt controller
|
|
||||||
- wakeup-source : Marks the input device as wakable
|
|
||||||
- st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 1024
|
|
||||||
- irq-gpio : If present, which GPIO to use for event IRQ
|
|
||||||
|
|
||||||
Optional properties for devices with touch and ADC (STMPE811|STMPE610):
|
|
||||||
- st,sample-time : ADC conversion time in number of clock.
|
|
||||||
0 -> 36 clocks 4 -> 80 clocks (recommended)
|
|
||||||
1 -> 44 clocks 5 -> 96 clocks
|
|
||||||
2 -> 56 clocks 6 -> 124 clocks
|
|
||||||
3 -> 64 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 2 || 3 -> 6.5 MHz
|
|
||||||
1 -> 3.25 MHz
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
stmpe1601: stmpe1601@40 {
|
|
||||||
compatible = "st,stmpe1601";
|
|
||||||
reg = <0x40>;
|
|
||||||
interrupts = <26 0x4>;
|
|
||||||
interrupt-parent = <&gpio6>;
|
|
||||||
interrupt-controller;
|
|
||||||
|
|
||||||
wakeup-source;
|
|
||||||
st,autosleep-timeout = <1024>;
|
|
||||||
};
|
|
14
MAINTAINERS
14
MAINTAINERS
@ -21796,6 +21796,20 @@ S: Maintained
|
|||||||
F: Documentation/hwmon/tps546d24.rst
|
F: Documentation/hwmon/tps546d24.rst
|
||||||
F: drivers/hwmon/pmbus/tps546d24.c
|
F: drivers/hwmon/pmbus/tps546d24.c
|
||||||
|
|
||||||
|
TQ SYSTEMS BOARD & DRIVER SUPPORT
|
||||||
|
L: linux@ew.tq-group.com
|
||||||
|
S: Supported
|
||||||
|
W: https://www.tq-group.com/en/products/tq-embedded/
|
||||||
|
F: arch/arm/boot/dts/imx*mba*.dts*
|
||||||
|
F: arch/arm/boot/dts/imx*tqma*.dts*
|
||||||
|
F: arch/arm/boot/dts/mba*.dtsi
|
||||||
|
F: arch/arm64/boot/dts/freescale/imx*mba*.dts*
|
||||||
|
F: arch/arm64/boot/dts/freescale/imx*tqma*.dts*
|
||||||
|
F: arch/arm64/boot/dts/freescale/mba*.dtsi
|
||||||
|
F: drivers/gpio/gpio-tqmx86.c
|
||||||
|
F: drivers/mfd/tqmx86.c
|
||||||
|
F: drivers/watchdog/tqmx86_wdt.c
|
||||||
|
|
||||||
TRACING
|
TRACING
|
||||||
M: Steven Rostedt <rostedt@goodmis.org>
|
M: Steven Rostedt <rostedt@goodmis.org>
|
||||||
M: Masami Hiramatsu <mhiramat@kernel.org>
|
M: Masami Hiramatsu <mhiramat@kernel.org>
|
||||||
|
@ -92,7 +92,7 @@ config MICROCHIP_TCB_CAPTURE
|
|||||||
|
|
||||||
config RZ_MTU3_CNT
|
config RZ_MTU3_CNT
|
||||||
tristate "Renesas RZ/G2L MTU3a counter driver"
|
tristate "Renesas RZ/G2L MTU3a counter driver"
|
||||||
depends on RZ_MTU3 || COMPILE_TEST
|
depends on RZ_MTU3
|
||||||
help
|
help
|
||||||
Enable support for MTU3a counter driver found on Renesas RZ/G2L alike
|
Enable support for MTU3a counter driver found on Renesas RZ/G2L alike
|
||||||
SoCs. This IP supports both 16-bit and 32-bit phase counting mode
|
SoCs. This IP supports both 16-bit and 32-bit phase counting mode
|
||||||
|
@ -1220,7 +1220,7 @@ config MFD_RC5T583
|
|||||||
different functionality of the device.
|
different functionality of the device.
|
||||||
|
|
||||||
config MFD_RK8XX
|
config MFD_RK8XX
|
||||||
bool
|
tristate
|
||||||
select MFD_CORE
|
select MFD_CORE
|
||||||
|
|
||||||
config MFD_RK8XX_I2C
|
config MFD_RK8XX_I2C
|
||||||
@ -1371,8 +1371,9 @@ config MFD_SC27XX_PMIC
|
|||||||
and it also adds the irq_chip parts for handling the PMIC chip events.
|
and it also adds the irq_chip parts for handling the PMIC chip events.
|
||||||
|
|
||||||
config RZ_MTU3
|
config RZ_MTU3
|
||||||
bool "Renesas RZ/G2L MTU3a core driver"
|
tristate "Renesas RZ/G2L MTU3a core driver"
|
||||||
depends on (ARCH_RZG2L && OF) || COMPILE_TEST
|
depends on (ARCH_RZG2L && OF) || COMPILE_TEST
|
||||||
|
select MFD_CORE
|
||||||
help
|
help
|
||||||
Select this option to enable Renesas RZ/G2L MTU3a core driver for
|
Select this option to enable Renesas RZ/G2L MTU3a core driver for
|
||||||
the Multi-Function Timer Pulse Unit 3 (MTU3a) hardware available
|
the Multi-Function Timer Pulse Unit 3 (MTU3a) hardware available
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
#include <linux/mfd/abx500/ab8500.h>
|
#include <linux/mfd/abx500/ab8500.h>
|
||||||
#include <linux/mfd/dbx500-prcmu.h>
|
#include <linux/mfd/dbx500-prcmu.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Interrupt register offsets
|
* Interrupt register offsets
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/reboot.h>
|
#include <linux/reboot.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
|
||||||
static const struct mfd_cell act8945a_devs[] = {
|
static const struct mfd_cell act8945a_devs[] = {
|
||||||
@ -68,7 +68,7 @@ MODULE_DEVICE_TABLE(of, act8945a_of_match);
|
|||||||
static struct i2c_driver act8945a_i2c_driver = {
|
static struct i2c_driver act8945a_i2c_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "act8945a",
|
.name = "act8945a",
|
||||||
.of_match_table = of_match_ptr(act8945a_of_match),
|
.of_match_table = act8945a_of_match,
|
||||||
},
|
},
|
||||||
.probe = act8945a_i2c_probe,
|
.probe = act8945a_i2c_probe,
|
||||||
.id_table = act8945a_i2c_id,
|
.id_table = act8945a_i2c_id,
|
||||||
|
@ -163,7 +163,7 @@ static struct spi_driver altr_a10sr_spi_driver = {
|
|||||||
.probe = altr_a10sr_spi_probe,
|
.probe = altr_a10sr_spi_probe,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "altr_a10sr",
|
.name = "altr_a10sr",
|
||||||
.of_match_table = of_match_ptr(altr_a10sr_spi_of_match),
|
.of_match_table = altr_a10sr_spi_of_match,
|
||||||
},
|
},
|
||||||
.id_table = altr_a10sr_spi_ids,
|
.id_table = altr_a10sr_spi_ids,
|
||||||
};
|
};
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
#include <linux/mfd/syscon.h>
|
#include <linux/mfd/syscon.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_address.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/of_platform.h>
|
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/regulator/consumer.h>
|
#include <linux/regulator/consumer.h>
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
|
||||||
#define ATC260X_CHIP_REV_MAX 31
|
#define ATC260X_CHIP_REV_MAX 31
|
||||||
|
@ -83,7 +83,6 @@ static int atmel_hlcdc_probe(struct platform_device *pdev)
|
|||||||
struct atmel_hlcdc_regmap *hregmap;
|
struct atmel_hlcdc_regmap *hregmap;
|
||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
struct atmel_hlcdc *hlcdc;
|
struct atmel_hlcdc *hlcdc;
|
||||||
struct resource *res;
|
|
||||||
|
|
||||||
hregmap = devm_kzalloc(dev, sizeof(*hregmap), GFP_KERNEL);
|
hregmap = devm_kzalloc(dev, sizeof(*hregmap), GFP_KERNEL);
|
||||||
if (!hregmap)
|
if (!hregmap)
|
||||||
@ -93,8 +92,7 @@ static int atmel_hlcdc_probe(struct platform_device *pdev)
|
|||||||
if (!hlcdc)
|
if (!hlcdc)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
hregmap->regs = devm_platform_ioremap_resource(pdev, 0);
|
||||||
hregmap->regs = devm_ioremap_resource(dev, res);
|
|
||||||
if (IS_ERR(hregmap->regs))
|
if (IS_ERR(hregmap->regs))
|
||||||
return PTR_ERR(hregmap->regs);
|
return PTR_ERR(hregmap->regs);
|
||||||
|
|
||||||
|
@ -342,7 +342,7 @@ static const struct regmap_config axp152_regmap_config = {
|
|||||||
.wr_table = &axp152_writeable_table,
|
.wr_table = &axp152_writeable_table,
|
||||||
.volatile_table = &axp152_volatile_table,
|
.volatile_table = &axp152_volatile_table,
|
||||||
.max_register = AXP152_PWM1_DUTY_CYCLE,
|
.max_register = AXP152_PWM1_DUTY_CYCLE,
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regmap_config axp192_regmap_config = {
|
static const struct regmap_config axp192_regmap_config = {
|
||||||
@ -360,7 +360,7 @@ static const struct regmap_config axp20x_regmap_config = {
|
|||||||
.wr_table = &axp20x_writeable_table,
|
.wr_table = &axp20x_writeable_table,
|
||||||
.volatile_table = &axp20x_volatile_table,
|
.volatile_table = &axp20x_volatile_table,
|
||||||
.max_register = AXP20X_OCV(AXP20X_OCV_MAX),
|
.max_register = AXP20X_OCV(AXP20X_OCV_MAX),
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regmap_config axp22x_regmap_config = {
|
static const struct regmap_config axp22x_regmap_config = {
|
||||||
@ -369,7 +369,7 @@ static const struct regmap_config axp22x_regmap_config = {
|
|||||||
.wr_table = &axp22x_writeable_table,
|
.wr_table = &axp22x_writeable_table,
|
||||||
.volatile_table = &axp22x_volatile_table,
|
.volatile_table = &axp22x_volatile_table,
|
||||||
.max_register = AXP22X_BATLOW_THRES1,
|
.max_register = AXP22X_BATLOW_THRES1,
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regmap_config axp288_regmap_config = {
|
static const struct regmap_config axp288_regmap_config = {
|
||||||
@ -378,7 +378,7 @@ static const struct regmap_config axp288_regmap_config = {
|
|||||||
.wr_table = &axp288_writeable_table,
|
.wr_table = &axp288_writeable_table,
|
||||||
.volatile_table = &axp288_volatile_table,
|
.volatile_table = &axp288_volatile_table,
|
||||||
.max_register = AXP288_FG_TUNE5,
|
.max_register = AXP288_FG_TUNE5,
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regmap_config axp313a_regmap_config = {
|
static const struct regmap_config axp313a_regmap_config = {
|
||||||
@ -396,7 +396,7 @@ static const struct regmap_config axp806_regmap_config = {
|
|||||||
.wr_table = &axp806_writeable_table,
|
.wr_table = &axp806_writeable_table,
|
||||||
.volatile_table = &axp806_volatile_table,
|
.volatile_table = &axp806_volatile_table,
|
||||||
.max_register = AXP806_REG_ADDR_EXT,
|
.max_register = AXP806_REG_ADDR_EXT,
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regmap_config axp15060_regmap_config = {
|
static const struct regmap_config axp15060_regmap_config = {
|
||||||
@ -405,7 +405,7 @@ static const struct regmap_config axp15060_regmap_config = {
|
|||||||
.wr_table = &axp15060_writeable_table,
|
.wr_table = &axp15060_writeable_table,
|
||||||
.volatile_table = &axp15060_volatile_table,
|
.volatile_table = &axp15060_volatile_table,
|
||||||
.max_register = AXP15060_IRQ2_STATE,
|
.max_register = AXP15060_IRQ2_STATE,
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define INIT_REGMAP_IRQ(_variant, _irq, _off, _mask) \
|
#define INIT_REGMAP_IRQ(_variant, _irq, _off, _mask) \
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/moduleparam.h>
|
#include <linux/moduleparam.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/mod_devicetable.h>
|
#include <linux/mod_devicetable.h>
|
||||||
#include <linux/of_platform.h>
|
#include <linux/of.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/platform_data/cros_ec_chardev.h>
|
#include <linux/platform_data/cros_ec_chardev.h>
|
||||||
#include <linux/platform_data/cros_ec_commands.h>
|
#include <linux/platform_data/cros_ec_commands.h>
|
||||||
|
@ -1249,7 +1249,7 @@ const struct regmap_config cs47l15_16bit_spi_regmap = {
|
|||||||
.readable_reg = &cs47l15_16bit_readable_register,
|
.readable_reg = &cs47l15_16bit_readable_register,
|
||||||
.volatile_reg = &cs47l15_16bit_volatile_register,
|
.volatile_reg = &cs47l15_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l15_reg_default,
|
.reg_defaults = cs47l15_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l15_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l15_reg_default),
|
||||||
};
|
};
|
||||||
@ -1264,7 +1264,7 @@ const struct regmap_config cs47l15_16bit_i2c_regmap = {
|
|||||||
.readable_reg = &cs47l15_16bit_readable_register,
|
.readable_reg = &cs47l15_16bit_readable_register,
|
||||||
.volatile_reg = &cs47l15_16bit_volatile_register,
|
.volatile_reg = &cs47l15_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l15_reg_default,
|
.reg_defaults = cs47l15_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l15_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l15_reg_default),
|
||||||
};
|
};
|
||||||
@ -1281,7 +1281,7 @@ const struct regmap_config cs47l15_32bit_spi_regmap = {
|
|||||||
.readable_reg = &cs47l15_32bit_readable_register,
|
.readable_reg = &cs47l15_32bit_readable_register,
|
||||||
.volatile_reg = &cs47l15_32bit_volatile_register,
|
.volatile_reg = &cs47l15_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l15_32bit_spi_regmap);
|
EXPORT_SYMBOL_GPL(cs47l15_32bit_spi_regmap);
|
||||||
|
|
||||||
@ -1295,6 +1295,6 @@ const struct regmap_config cs47l15_32bit_i2c_regmap = {
|
|||||||
.readable_reg = &cs47l15_32bit_readable_register,
|
.readable_reg = &cs47l15_32bit_readable_register,
|
||||||
.volatile_reg = &cs47l15_32bit_volatile_register,
|
.volatile_reg = &cs47l15_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l15_32bit_i2c_regmap);
|
EXPORT_SYMBOL_GPL(cs47l15_32bit_i2c_regmap);
|
||||||
|
@ -1616,7 +1616,7 @@ const struct regmap_config cs47l24_spi_regmap = {
|
|||||||
.readable_reg = cs47l24_readable_register,
|
.readable_reg = cs47l24_readable_register,
|
||||||
.volatile_reg = cs47l24_volatile_register,
|
.volatile_reg = cs47l24_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l24_reg_default,
|
.reg_defaults = cs47l24_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l24_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l24_reg_default),
|
||||||
};
|
};
|
||||||
|
@ -1498,7 +1498,7 @@ const struct regmap_config cs47l35_16bit_spi_regmap = {
|
|||||||
.readable_reg = cs47l35_16bit_readable_register,
|
.readable_reg = cs47l35_16bit_readable_register,
|
||||||
.volatile_reg = cs47l35_16bit_volatile_register,
|
.volatile_reg = cs47l35_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l35_reg_default,
|
.reg_defaults = cs47l35_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l35_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l35_reg_default),
|
||||||
};
|
};
|
||||||
@ -1515,7 +1515,7 @@ const struct regmap_config cs47l35_16bit_i2c_regmap = {
|
|||||||
.readable_reg = cs47l35_16bit_readable_register,
|
.readable_reg = cs47l35_16bit_readable_register,
|
||||||
.volatile_reg = cs47l35_16bit_volatile_register,
|
.volatile_reg = cs47l35_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l35_reg_default,
|
.reg_defaults = cs47l35_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l35_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l35_reg_default),
|
||||||
};
|
};
|
||||||
@ -1534,7 +1534,7 @@ const struct regmap_config cs47l35_32bit_spi_regmap = {
|
|||||||
.readable_reg = cs47l35_32bit_readable_register,
|
.readable_reg = cs47l35_32bit_readable_register,
|
||||||
.volatile_reg = cs47l35_32bit_volatile_register,
|
.volatile_reg = cs47l35_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l35_32bit_spi_regmap);
|
EXPORT_SYMBOL_GPL(cs47l35_32bit_spi_regmap);
|
||||||
|
|
||||||
@ -1550,6 +1550,6 @@ const struct regmap_config cs47l35_32bit_i2c_regmap = {
|
|||||||
.readable_reg = cs47l35_32bit_readable_register,
|
.readable_reg = cs47l35_32bit_readable_register,
|
||||||
.volatile_reg = cs47l35_32bit_volatile_register,
|
.volatile_reg = cs47l35_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l35_32bit_i2c_regmap);
|
EXPORT_SYMBOL_GPL(cs47l35_32bit_i2c_regmap);
|
||||||
|
@ -2836,7 +2836,7 @@ const struct regmap_config cs47l85_16bit_spi_regmap = {
|
|||||||
.readable_reg = cs47l85_16bit_readable_register,
|
.readable_reg = cs47l85_16bit_readable_register,
|
||||||
.volatile_reg = cs47l85_16bit_volatile_register,
|
.volatile_reg = cs47l85_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l85_reg_default,
|
.reg_defaults = cs47l85_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default),
|
||||||
};
|
};
|
||||||
@ -2853,7 +2853,7 @@ const struct regmap_config cs47l85_16bit_i2c_regmap = {
|
|||||||
.readable_reg = cs47l85_16bit_readable_register,
|
.readable_reg = cs47l85_16bit_readable_register,
|
||||||
.volatile_reg = cs47l85_16bit_volatile_register,
|
.volatile_reg = cs47l85_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l85_reg_default,
|
.reg_defaults = cs47l85_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default),
|
||||||
};
|
};
|
||||||
@ -2872,7 +2872,7 @@ const struct regmap_config cs47l85_32bit_spi_regmap = {
|
|||||||
.readable_reg = cs47l85_32bit_readable_register,
|
.readable_reg = cs47l85_32bit_readable_register,
|
||||||
.volatile_reg = cs47l85_32bit_volatile_register,
|
.volatile_reg = cs47l85_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l85_32bit_spi_regmap);
|
EXPORT_SYMBOL_GPL(cs47l85_32bit_spi_regmap);
|
||||||
|
|
||||||
@ -2888,6 +2888,6 @@ const struct regmap_config cs47l85_32bit_i2c_regmap = {
|
|||||||
.readable_reg = cs47l85_32bit_readable_register,
|
.readable_reg = cs47l85_32bit_readable_register,
|
||||||
.volatile_reg = cs47l85_32bit_volatile_register,
|
.volatile_reg = cs47l85_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l85_32bit_i2c_regmap);
|
EXPORT_SYMBOL_GPL(cs47l85_32bit_i2c_regmap);
|
||||||
|
@ -2539,7 +2539,7 @@ const struct regmap_config cs47l90_16bit_spi_regmap = {
|
|||||||
.readable_reg = cs47l90_16bit_readable_register,
|
.readable_reg = cs47l90_16bit_readable_register,
|
||||||
.volatile_reg = cs47l90_16bit_volatile_register,
|
.volatile_reg = cs47l90_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l90_reg_default,
|
.reg_defaults = cs47l90_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l90_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l90_reg_default),
|
||||||
};
|
};
|
||||||
@ -2556,7 +2556,7 @@ const struct regmap_config cs47l90_16bit_i2c_regmap = {
|
|||||||
.readable_reg = cs47l90_16bit_readable_register,
|
.readable_reg = cs47l90_16bit_readable_register,
|
||||||
.volatile_reg = cs47l90_16bit_volatile_register,
|
.volatile_reg = cs47l90_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l90_reg_default,
|
.reg_defaults = cs47l90_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l90_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l90_reg_default),
|
||||||
};
|
};
|
||||||
@ -2575,7 +2575,7 @@ const struct regmap_config cs47l90_32bit_spi_regmap = {
|
|||||||
.readable_reg = cs47l90_32bit_readable_register,
|
.readable_reg = cs47l90_32bit_readable_register,
|
||||||
.volatile_reg = cs47l90_32bit_volatile_register,
|
.volatile_reg = cs47l90_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l90_32bit_spi_regmap);
|
EXPORT_SYMBOL_GPL(cs47l90_32bit_spi_regmap);
|
||||||
|
|
||||||
@ -2591,6 +2591,6 @@ const struct regmap_config cs47l90_32bit_i2c_regmap = {
|
|||||||
.readable_reg = cs47l90_32bit_readable_register,
|
.readable_reg = cs47l90_32bit_readable_register,
|
||||||
.volatile_reg = cs47l90_32bit_volatile_register,
|
.volatile_reg = cs47l90_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l90_32bit_i2c_regmap);
|
EXPORT_SYMBOL_GPL(cs47l90_32bit_i2c_regmap);
|
||||||
|
@ -1890,7 +1890,7 @@ const struct regmap_config cs47l92_16bit_spi_regmap = {
|
|||||||
.readable_reg = &cs47l92_16bit_readable_register,
|
.readable_reg = &cs47l92_16bit_readable_register,
|
||||||
.volatile_reg = &cs47l92_16bit_volatile_register,
|
.volatile_reg = &cs47l92_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l92_reg_default,
|
.reg_defaults = cs47l92_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l92_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l92_reg_default),
|
||||||
};
|
};
|
||||||
@ -1907,7 +1907,7 @@ const struct regmap_config cs47l92_16bit_i2c_regmap = {
|
|||||||
.readable_reg = &cs47l92_16bit_readable_register,
|
.readable_reg = &cs47l92_16bit_readable_register,
|
||||||
.volatile_reg = &cs47l92_16bit_volatile_register,
|
.volatile_reg = &cs47l92_16bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
.reg_defaults = cs47l92_reg_default,
|
.reg_defaults = cs47l92_reg_default,
|
||||||
.num_reg_defaults = ARRAY_SIZE(cs47l92_reg_default),
|
.num_reg_defaults = ARRAY_SIZE(cs47l92_reg_default),
|
||||||
};
|
};
|
||||||
@ -1926,7 +1926,7 @@ const struct regmap_config cs47l92_32bit_spi_regmap = {
|
|||||||
.readable_reg = &cs47l92_32bit_readable_register,
|
.readable_reg = &cs47l92_32bit_readable_register,
|
||||||
.volatile_reg = &cs47l92_32bit_volatile_register,
|
.volatile_reg = &cs47l92_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l92_32bit_spi_regmap);
|
EXPORT_SYMBOL_GPL(cs47l92_32bit_spi_regmap);
|
||||||
|
|
||||||
@ -1942,6 +1942,6 @@ const struct regmap_config cs47l92_32bit_i2c_regmap = {
|
|||||||
.readable_reg = &cs47l92_32bit_readable_register,
|
.readable_reg = &cs47l92_32bit_readable_register,
|
||||||
.volatile_reg = &cs47l92_32bit_volatile_register,
|
.volatile_reg = &cs47l92_32bit_volatile_register,
|
||||||
|
|
||||||
.cache_type = REGCACHE_RBTREE,
|
.cache_type = REGCACHE_MAPLE,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(cs47l92_32bit_i2c_regmap);
|
EXPORT_SYMBOL_GPL(cs47l92_32bit_i2c_regmap);
|
||||||
|
@ -13,14 +13,11 @@
|
|||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
#include <linux/of.h>
|
||||||
|
|
||||||
#include <linux/mfd/da9052/da9052.h>
|
#include <linux/mfd/da9052/da9052.h>
|
||||||
#include <linux/mfd/da9052/reg.h>
|
#include <linux/mfd/da9052/reg.h>
|
||||||
|
|
||||||
#ifdef CONFIG_OF
|
|
||||||
#include <linux/of.h>
|
|
||||||
#include <linux/of_device.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* I2C safe register check */
|
/* I2C safe register check */
|
||||||
static inline bool i2c_safe_reg(unsigned char reg)
|
static inline bool i2c_safe_reg(unsigned char reg)
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
|
|
||||||
#include <linux/mfd/da9055/core.h>
|
#include <linux/mfd/da9055/core.h>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
|
@ -109,14 +109,12 @@ static int exynos_lpass_probe(struct platform_device *pdev)
|
|||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
struct exynos_lpass *lpass;
|
struct exynos_lpass *lpass;
|
||||||
void __iomem *base_top;
|
void __iomem *base_top;
|
||||||
struct resource *res;
|
|
||||||
|
|
||||||
lpass = devm_kzalloc(dev, sizeof(*lpass), GFP_KERNEL);
|
lpass = devm_kzalloc(dev, sizeof(*lpass), GFP_KERNEL);
|
||||||
if (!lpass)
|
if (!lpass)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
base_top = devm_platform_ioremap_resource(pdev, 0);
|
||||||
base_top = devm_ioremap_resource(dev, res);
|
|
||||||
if (IS_ERR(base_top))
|
if (IS_ERR(base_top))
|
||||||
return PTR_ERR(base_top);
|
return PTR_ERR(base_top);
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ static int hi6421_pmic_probe(struct platform_device *pdev)
|
|||||||
id = of_match_device(of_hi6421_pmic_match, &pdev->dev);
|
id = of_match_device(of_hi6421_pmic_match, &pdev->dev);
|
||||||
if (!id)
|
if (!id)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
type = (enum hi6421_type)id->data;
|
type = (uintptr_t)id->data;
|
||||||
|
|
||||||
pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL);
|
pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL);
|
||||||
if (!pmic)
|
if (!pmic)
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#include <linux/mfd/hi655x-pmic.h>
|
#include <linux/mfd/hi655x-pmic.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/gpio/consumer.h>
|
#include <linux/gpio/consumer.h>
|
||||||
#include <linux/of_platform.h>
|
#include <linux/mod_devicetable.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
|
||||||
@ -100,8 +100,7 @@ static int hi655x_pmic_probe(struct platform_device *pdev)
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
pmic->dev = dev;
|
pmic->dev = dev;
|
||||||
|
|
||||||
pmic->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
base = devm_platform_ioremap_resource(pdev, 0);
|
||||||
base = devm_ioremap_resource(dev, pmic->res);
|
|
||||||
if (IS_ERR(base))
|
if (IS_ERR(base))
|
||||||
return PTR_ERR(base);
|
return PTR_ERR(base);
|
||||||
|
|
||||||
@ -163,7 +162,7 @@ MODULE_DEVICE_TABLE(of, hi655x_pmic_match);
|
|||||||
static struct platform_driver hi655x_pmic_driver = {
|
static struct platform_driver hi655x_pmic_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "hi655x-pmic",
|
.name = "hi655x-pmic",
|
||||||
.of_match_table = of_match_ptr(hi655x_pmic_match),
|
.of_match_table = hi655x_pmic_match,
|
||||||
},
|
},
|
||||||
.probe = hi655x_pmic_probe,
|
.probe = hi655x_pmic_probe,
|
||||||
.remove = hi655x_pmic_remove,
|
.remove = hi655x_pmic_remove,
|
||||||
|
@ -78,8 +78,6 @@ EXPORT_SYMBOL(ipaq_micro_tx_msg);
|
|||||||
|
|
||||||
static void micro_rx_msg(struct ipaq_micro *micro, u8 id, int len, u8 *data)
|
static void micro_rx_msg(struct ipaq_micro *micro, u8 id, int len, u8 *data)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
|
|
||||||
dev_dbg(micro->dev, "RX msg: %02x, %d bytes\n", id, len);
|
dev_dbg(micro->dev, "RX msg: %02x, %d bytes\n", id, len);
|
||||||
|
|
||||||
spin_lock(µ->lock);
|
spin_lock(µ->lock);
|
||||||
@ -131,10 +129,7 @@ static void micro_rx_msg(struct ipaq_micro *micro, u8 id, int len, u8 *data)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
dev_err(micro->dev,
|
dev_err(micro->dev,
|
||||||
"unknown msg %d [%d] ", id, len);
|
"unknown msg %d [%d] %*ph\n", id, len, len, data);
|
||||||
for (i = 0; i < len; ++i)
|
|
||||||
pr_cont("0x%02x ", data[i]);
|
|
||||||
pr_cont("\n");
|
|
||||||
}
|
}
|
||||||
spin_unlock(µ->lock);
|
spin_unlock(µ->lock);
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#include <linux/mfd/iqs62x.h>
|
#include <linux/mfd/iqs62x.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/notifier.h>
|
#include <linux/notifier.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/property.h>
|
#include <linux/property.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
@ -379,7 +379,7 @@ static int lochnagar_i2c_probe(struct i2c_client *i2c)
|
|||||||
static struct i2c_driver lochnagar_i2c_driver = {
|
static struct i2c_driver lochnagar_i2c_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "lochnagar",
|
.name = "lochnagar",
|
||||||
.of_match_table = of_match_ptr(lochnagar_of_match),
|
.of_match_table = lochnagar_of_match,
|
||||||
.suppress_bind_attrs = true,
|
.suppress_bind_attrs = true,
|
||||||
},
|
},
|
||||||
.probe = lochnagar_i2c_probe,
|
.probe = lochnagar_i2c_probe,
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
|
#include <linux/mod_devicetable.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
|
||||||
#include <linux/mfd/lp873x.h>
|
#include <linux/mfd/lp873x.h>
|
||||||
|
@ -92,7 +92,7 @@ static int lp87565_probe(struct i2c_client *client)
|
|||||||
|
|
||||||
of_id = of_match_device(of_lp87565_match_table, &client->dev);
|
of_id = of_match_device(of_lp87565_match_table, &client->dev);
|
||||||
if (of_id)
|
if (of_id)
|
||||||
lp87565->dev_type = (enum lp87565_device_type)of_id->data;
|
lp87565->dev_type = (uintptr_t)of_id->data;
|
||||||
|
|
||||||
i2c_set_clientdata(client, lp87565);
|
i2c_set_clientdata(client, lp87565);
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
|
||||||
#include <linux/mfd/madera/core.h>
|
#include <linux/mfd/madera/core.h>
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
|
|
||||||
|
@ -402,8 +402,7 @@ static int max14577_i2c_probe(struct i2c_client *i2c)
|
|||||||
|
|
||||||
of_id = of_match_device(max14577_dt_match, &i2c->dev);
|
of_id = of_match_device(max14577_dt_match, &i2c->dev);
|
||||||
if (of_id)
|
if (of_id)
|
||||||
max14577->dev_type =
|
max14577->dev_type = (uintptr_t)of_id->data;
|
||||||
(enum maxim_device_type)of_id->data;
|
|
||||||
} else {
|
} else {
|
||||||
max14577->dev_type = id->driver_data;
|
max14577->dev_type = id->driver_data;
|
||||||
}
|
}
|
||||||
|
@ -173,7 +173,7 @@ static int max77541_probe(struct i2c_client *client)
|
|||||||
i2c_set_clientdata(client, max77541);
|
i2c_set_clientdata(client, max77541);
|
||||||
max77541->i2c = client;
|
max77541->i2c = client;
|
||||||
|
|
||||||
max77541->id = (enum max7754x_ids)device_get_match_data(dev);
|
max77541->id = (uintptr_t)device_get_match_data(dev);
|
||||||
if (!max77541->id)
|
if (!max77541->id)
|
||||||
max77541->id = (enum max7754x_ids)id->driver_data;
|
max77541->id = (enum max7754x_ids)id->driver_data;
|
||||||
|
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
#include <linux/mfd/max77620.h>
|
#include <linux/mfd/max77620.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
#include <linux/mfd/max77686-private.h>
|
#include <linux/mfd/max77686-private.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
|
|
||||||
static const struct mfd_cell max77686_devs[] = {
|
static const struct mfd_cell max77686_devs[] = {
|
||||||
{ .name = "max77686-pmic", },
|
{ .name = "max77686-pmic", },
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/max77693-common.h>
|
#include <linux/mfd/max77693-common.h>
|
||||||
#include <linux/mfd/max77843-private.h>
|
#include <linux/mfd/max77843-private.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/mod_devicetable.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
static const struct mfd_cell max77843_devs[] = {
|
static const struct mfd_cell max77843_devs[] = {
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
#include <linux/mfd/max8907.h>
|
#include <linux/mfd/max8907.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/max8925.h>
|
#include <linux/mfd/max8925.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_platform.h>
|
|
||||||
|
|
||||||
static const struct resource bk_resources[] = {
|
static const struct resource bk_resources[] = {
|
||||||
{ 0x84, 0x84, "mode control", IORESOURCE_REG, },
|
{ 0x84, 0x84, "mode control", IORESOURCE_REG, },
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/of_irq.h>
|
#include <linux/of_irq.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/of_irq.h>
|
#include <linux/of_irq.h>
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
|
@ -53,7 +53,6 @@ static const struct regmap_config mc13xxx_regmap_i2c_config = {
|
|||||||
|
|
||||||
static int mc13xxx_i2c_probe(struct i2c_client *client)
|
static int mc13xxx_i2c_probe(struct i2c_client *client)
|
||||||
{
|
{
|
||||||
const struct i2c_device_id *id = i2c_client_get_device_id(client);
|
|
||||||
struct mc13xxx *mc13xxx;
|
struct mc13xxx *mc13xxx;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -73,13 +72,7 @@ static int mc13xxx_i2c_probe(struct i2c_client *client)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (client->dev.of_node) {
|
mc13xxx->variant = i2c_get_match_data(client);
|
||||||
const struct of_device_id *of_id =
|
|
||||||
of_match_device(mc13xxx_dt_ids, &client->dev);
|
|
||||||
mc13xxx->variant = of_id->data;
|
|
||||||
} else {
|
|
||||||
mc13xxx->variant = (void *)id->driver_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
return mc13xxx_common_init(&client->dev);
|
return mc13xxx_common_init(&client->dev);
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
// Copyright (c) 2020 MediaTek Inc.
|
// Copyright (c) 2020 MediaTek Inc.
|
||||||
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
|
#include <linux/irq.h>
|
||||||
|
#include <linux/irqdomain.h>
|
||||||
#include <linux/mfd/mt6357/core.h>
|
#include <linux/mfd/mt6357/core.h>
|
||||||
#include <linux/mfd/mt6357/registers.h>
|
#include <linux/mfd/mt6357/registers.h>
|
||||||
#include <linux/mfd/mt6358/core.h>
|
#include <linux/mfd/mt6358/core.h>
|
||||||
@ -11,9 +13,6 @@
|
|||||||
#include <linux/mfd/mt6359/registers.h>
|
#include <linux/mfd/mt6359/registers.h>
|
||||||
#include <linux/mfd/mt6397/core.h>
|
#include <linux/mfd/mt6397/core.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/of_irq.h>
|
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
|
||||||
|
@ -6,9 +6,10 @@
|
|||||||
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
|
#include <linux/irqdomain.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_irq.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/mt6323/core.h>
|
#include <linux/mfd/mt6323/core.h>
|
||||||
|
@ -3,10 +3,9 @@
|
|||||||
// Copyright (c) 2019 MediaTek Inc.
|
// Copyright (c) 2019 MediaTek Inc.
|
||||||
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
|
#include <linux/irq.h>
|
||||||
|
#include <linux/irqdomain.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/of_irq.h>
|
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/suspend.h>
|
#include <linux/suspend.h>
|
||||||
|
@ -142,7 +142,7 @@ static int mxs_lradc_probe(struct platform_device *pdev)
|
|||||||
if (!of_id)
|
if (!of_id)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
lradc->soc = (enum mxs_lradc_id)of_id->data;
|
lradc->soc = (uintptr_t)of_id->data;
|
||||||
|
|
||||||
lradc->clk = devm_clk_get(&pdev->dev, NULL);
|
lradc->clk = devm_clk_get(&pdev->dev, NULL);
|
||||||
if (IS_ERR(lradc->clk)) {
|
if (IS_ERR(lradc->clk)) {
|
||||||
|
@ -534,7 +534,6 @@ static int usbhs_omap_probe(struct platform_device *pdev)
|
|||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
struct usbhs_omap_platform_data *pdata = dev_get_platdata(dev);
|
struct usbhs_omap_platform_data *pdata = dev_get_platdata(dev);
|
||||||
struct usbhs_hcd_omap *omap;
|
struct usbhs_hcd_omap *omap;
|
||||||
struct resource *res;
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
int i;
|
int i;
|
||||||
bool need_logic_fck;
|
bool need_logic_fck;
|
||||||
@ -569,8 +568,7 @@ static int usbhs_omap_probe(struct platform_device *pdev)
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
omap->uhh_base = devm_platform_ioremap_resource(pdev, 0);
|
||||||
omap->uhh_base = devm_ioremap_resource(dev, res);
|
|
||||||
if (IS_ERR(omap->uhh_base))
|
if (IS_ERR(omap->uhh_base))
|
||||||
return PTR_ERR(omap->uhh_base);
|
return PTR_ERR(omap->uhh_base);
|
||||||
|
|
||||||
|
@ -200,15 +200,13 @@ static unsigned ohci_omap3_fslsmode(enum usbhs_omap_port_mode mode)
|
|||||||
static int usbtll_omap_probe(struct platform_device *pdev)
|
static int usbtll_omap_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
struct resource *res;
|
|
||||||
struct usbtll_omap *tll;
|
struct usbtll_omap *tll;
|
||||||
void __iomem *base;
|
void __iomem *base;
|
||||||
int i, nch, ver;
|
int i, nch, ver;
|
||||||
|
|
||||||
dev_dbg(dev, "starting TI HSUSB TLL Controller\n");
|
dev_dbg(dev, "starting TI HSUSB TLL Controller\n");
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
base = devm_platform_ioremap_resource(pdev, 0);
|
||||||
base = devm_ioremap_resource(dev, res);
|
|
||||||
if (IS_ERR(base))
|
if (IS_ERR(base))
|
||||||
return PTR_ERR(base);
|
return PTR_ERR(base);
|
||||||
|
|
||||||
|
@ -18,7 +18,8 @@
|
|||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/palmas.h>
|
#include <linux/mfd/palmas.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
|
#include <linux/of_platform.h>
|
||||||
|
|
||||||
static const struct regmap_config palmas_regmap_config[PALMAS_NUM_CLIENTS] = {
|
static const struct regmap_config palmas_regmap_config[PALMAS_NUM_CLIENTS] = {
|
||||||
{
|
{
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/irqdomain.h>
|
#include <linux/irqdomain.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_platform.h>
|
#include <linux/of_platform.h>
|
||||||
#include <linux/pinctrl/consumer.h>
|
#include <linux/pinctrl/consumer.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
@ -103,8 +103,9 @@ static int
|
|||||||
pm8xxx_config_irq(struct pm_irq_chip *chip, unsigned int bp, unsigned int cp)
|
pm8xxx_config_irq(struct pm_irq_chip *chip, unsigned int bp, unsigned int cp)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
unsigned long flags;
|
||||||
|
|
||||||
spin_lock(&chip->pm_irq_lock);
|
spin_lock_irqsave(&chip->pm_irq_lock, flags);
|
||||||
rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, bp);
|
rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, bp);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
pr_err("Failed Selecting Block %d rc=%d\n", bp, rc);
|
pr_err("Failed Selecting Block %d rc=%d\n", bp, rc);
|
||||||
@ -116,7 +117,7 @@ pm8xxx_config_irq(struct pm_irq_chip *chip, unsigned int bp, unsigned int cp)
|
|||||||
if (rc)
|
if (rc)
|
||||||
pr_err("Failed Configuring IRQ rc=%d\n", rc);
|
pr_err("Failed Configuring IRQ rc=%d\n", rc);
|
||||||
bail:
|
bail:
|
||||||
spin_unlock(&chip->pm_irq_lock);
|
spin_unlock_irqrestore(&chip->pm_irq_lock, flags);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,6 +322,7 @@ static int pm8xxx_irq_get_irqchip_state(struct irq_data *d,
|
|||||||
struct pm_irq_chip *chip = irq_data_get_irq_chip_data(d);
|
struct pm_irq_chip *chip = irq_data_get_irq_chip_data(d);
|
||||||
unsigned int pmirq = irqd_to_hwirq(d);
|
unsigned int pmirq = irqd_to_hwirq(d);
|
||||||
unsigned int bits;
|
unsigned int bits;
|
||||||
|
unsigned long flags;
|
||||||
int irq_bit;
|
int irq_bit;
|
||||||
u8 block;
|
u8 block;
|
||||||
int rc;
|
int rc;
|
||||||
@ -331,7 +333,7 @@ static int pm8xxx_irq_get_irqchip_state(struct irq_data *d,
|
|||||||
block = pmirq / 8;
|
block = pmirq / 8;
|
||||||
irq_bit = pmirq % 8;
|
irq_bit = pmirq % 8;
|
||||||
|
|
||||||
spin_lock(&chip->pm_irq_lock);
|
spin_lock_irqsave(&chip->pm_irq_lock, flags);
|
||||||
rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, block);
|
rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, block);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
pr_err("Failed Selecting Block %d rc=%d\n", block, rc);
|
pr_err("Failed Selecting Block %d rc=%d\n", block, rc);
|
||||||
@ -346,7 +348,7 @@ static int pm8xxx_irq_get_irqchip_state(struct irq_data *d,
|
|||||||
|
|
||||||
*state = !!(bits & BIT(irq_bit));
|
*state = !!(bits & BIT(irq_bit));
|
||||||
bail:
|
bail:
|
||||||
spin_unlock(&chip->pm_irq_lock);
|
spin_unlock_irqrestore(&chip->pm_irq_lock, flags);
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#include <linux/mfd/rave-sp.h>
|
#include <linux/mfd/rave-sp.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of_platform.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/serdev.h>
|
#include <linux/serdev.h>
|
||||||
#include <asm/unaligned.h>
|
#include <asm/unaligned.h>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include <linux/mfd/rk808.h>
|
#include <linux/mfd/rk808.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/property.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/reboot.h>
|
#include <linux/reboot.h>
|
||||||
|
|
||||||
|
@ -277,7 +277,7 @@ static SIMPLE_DEV_PM_OPS(rn5t618_i2c_dev_pm_ops,
|
|||||||
static struct i2c_driver rn5t618_i2c_driver = {
|
static struct i2c_driver rn5t618_i2c_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "rn5t618",
|
.name = "rn5t618",
|
||||||
.of_match_table = of_match_ptr(rn5t618_of_match),
|
.of_match_table = rn5t618_of_match,
|
||||||
.pm = &rn5t618_i2c_dev_pm_ops,
|
.pm = &rn5t618_i2c_dev_pm_ops,
|
||||||
},
|
},
|
||||||
.probe = rn5t618_i2c_probe,
|
.probe = rn5t618_i2c_probe,
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#include <linux/mfd/rohm-bd71828.h>
|
#include <linux/mfd/rohm-bd71828.h>
|
||||||
#include <linux/mfd/rohm-generic.h>
|
#include <linux/mfd/rohm-generic.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include <linux/mfd/rohm-bd718x7.h>
|
#include <linux/mfd/rohm-bd718x7.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#include <linux/mfd/rohm-bd957x.h>
|
#include <linux/mfd/rohm-bd957x.h>
|
||||||
#include <linux/mfd/rohm-generic.h>
|
#include <linux/mfd/rohm-generic.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
@ -277,7 +277,7 @@ MODULE_DEVICE_TABLE(of, rsmu_i2c_of_match);
|
|||||||
static struct i2c_driver rsmu_i2c_driver = {
|
static struct i2c_driver rsmu_i2c_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "rsmu-i2c",
|
.name = "rsmu-i2c",
|
||||||
.of_match_table = of_match_ptr(rsmu_i2c_of_match),
|
.of_match_table = rsmu_i2c_of_match,
|
||||||
},
|
},
|
||||||
.probe = rsmu_i2c_probe,
|
.probe = rsmu_i2c_probe,
|
||||||
.remove = rsmu_i2c_remove,
|
.remove = rsmu_i2c_remove,
|
||||||
|
@ -262,7 +262,7 @@ MODULE_DEVICE_TABLE(of, rsmu_spi_of_match);
|
|||||||
static struct spi_driver rsmu_spi_driver = {
|
static struct spi_driver rsmu_spi_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "rsmu-spi",
|
.name = "rsmu-spi",
|
||||||
.of_match_table = of_match_ptr(rsmu_spi_of_match),
|
.of_match_table = rsmu_spi_of_match,
|
||||||
},
|
},
|
||||||
.probe = rsmu_spi_probe,
|
.probe = rsmu_spi_probe,
|
||||||
.remove = rsmu_spi_remove,
|
.remove = rsmu_spi_remove,
|
||||||
|
@ -10,9 +10,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
#include <linux/mod_devicetable.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/rt5033.h>
|
#include <linux/mfd/rt5033.h>
|
||||||
#include <linux/mfd/rt5033-private.h>
|
#include <linux/mfd/rt5033-private.h>
|
||||||
|
@ -11,7 +11,9 @@
|
|||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/rz-mtu3.h>
|
#include <linux/mfd/rz-mtu3.h>
|
||||||
#include <linux/of_platform.h>
|
#include <linux/module.h>
|
||||||
|
#include <linux/mod_devicetable.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
#include <linux/reset.h>
|
#include <linux/reset.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
|
|
||||||
@ -20,7 +22,7 @@
|
|||||||
struct rz_mtu3_priv {
|
struct rz_mtu3_priv {
|
||||||
void __iomem *mmio;
|
void __iomem *mmio;
|
||||||
struct reset_control *rstc;
|
struct reset_control *rstc;
|
||||||
raw_spinlock_t lock;
|
spinlock_t lock;
|
||||||
};
|
};
|
||||||
|
|
||||||
/******* MTU3 registers (original offset is +0x1200) *******/
|
/******* MTU3 registers (original offset is +0x1200) *******/
|
||||||
@ -174,11 +176,11 @@ void rz_mtu3_shared_reg_update_bit(struct rz_mtu3_channel *ch, u16 offset,
|
|||||||
struct rz_mtu3_priv *priv = mtu->priv_data;
|
struct rz_mtu3_priv *priv = mtu->priv_data;
|
||||||
unsigned long tmdr, flags;
|
unsigned long tmdr, flags;
|
||||||
|
|
||||||
raw_spin_lock_irqsave(&priv->lock, flags);
|
spin_lock_irqsave(&priv->lock, flags);
|
||||||
tmdr = rz_mtu3_shared_reg_read(ch, offset);
|
tmdr = rz_mtu3_shared_reg_read(ch, offset);
|
||||||
__assign_bit(pos, &tmdr, !!val);
|
__assign_bit(pos, &tmdr, !!val);
|
||||||
rz_mtu3_shared_reg_write(ch, offset, tmdr);
|
rz_mtu3_shared_reg_write(ch, offset, tmdr);
|
||||||
raw_spin_unlock_irqrestore(&priv->lock, flags);
|
spin_unlock_irqrestore(&priv->lock, flags);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(rz_mtu3_shared_reg_update_bit);
|
EXPORT_SYMBOL_GPL(rz_mtu3_shared_reg_update_bit);
|
||||||
|
|
||||||
@ -250,16 +252,17 @@ static void rz_mtu3_start_stop_ch(struct rz_mtu3_channel *ch, bool start)
|
|||||||
u16 offset;
|
u16 offset;
|
||||||
u8 bitpos;
|
u8 bitpos;
|
||||||
|
|
||||||
/* start stop register shared by multiple timer channels */
|
|
||||||
raw_spin_lock_irqsave(&priv->lock, flags);
|
|
||||||
|
|
||||||
offset = rz_mtu3_get_tstr_offset(ch);
|
offset = rz_mtu3_get_tstr_offset(ch);
|
||||||
bitpos = rz_mtu3_get_tstr_bit_pos(ch);
|
bitpos = rz_mtu3_get_tstr_bit_pos(ch);
|
||||||
|
|
||||||
|
/* start stop register shared by multiple timer channels */
|
||||||
|
spin_lock_irqsave(&priv->lock, flags);
|
||||||
|
|
||||||
tstr = rz_mtu3_shared_reg_read(ch, offset);
|
tstr = rz_mtu3_shared_reg_read(ch, offset);
|
||||||
__assign_bit(bitpos, &tstr, start);
|
__assign_bit(bitpos, &tstr, start);
|
||||||
rz_mtu3_shared_reg_write(ch, offset, tstr);
|
rz_mtu3_shared_reg_write(ch, offset, tstr);
|
||||||
|
|
||||||
raw_spin_unlock_irqrestore(&priv->lock, flags);
|
spin_unlock_irqrestore(&priv->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool rz_mtu3_is_enabled(struct rz_mtu3_channel *ch)
|
bool rz_mtu3_is_enabled(struct rz_mtu3_channel *ch)
|
||||||
@ -267,21 +270,18 @@ bool rz_mtu3_is_enabled(struct rz_mtu3_channel *ch)
|
|||||||
struct rz_mtu3 *mtu = dev_get_drvdata(ch->dev->parent);
|
struct rz_mtu3 *mtu = dev_get_drvdata(ch->dev->parent);
|
||||||
struct rz_mtu3_priv *priv = mtu->priv_data;
|
struct rz_mtu3_priv *priv = mtu->priv_data;
|
||||||
unsigned long flags, tstr;
|
unsigned long flags, tstr;
|
||||||
bool ret = false;
|
|
||||||
u16 offset;
|
u16 offset;
|
||||||
u8 bitpos;
|
u8 bitpos;
|
||||||
|
|
||||||
/* start stop register shared by multiple timer channels */
|
|
||||||
raw_spin_lock_irqsave(&priv->lock, flags);
|
|
||||||
|
|
||||||
offset = rz_mtu3_get_tstr_offset(ch);
|
offset = rz_mtu3_get_tstr_offset(ch);
|
||||||
bitpos = rz_mtu3_get_tstr_bit_pos(ch);
|
bitpos = rz_mtu3_get_tstr_bit_pos(ch);
|
||||||
|
|
||||||
|
/* start stop register shared by multiple timer channels */
|
||||||
|
spin_lock_irqsave(&priv->lock, flags);
|
||||||
tstr = rz_mtu3_shared_reg_read(ch, offset);
|
tstr = rz_mtu3_shared_reg_read(ch, offset);
|
||||||
ret = tstr & BIT(bitpos);
|
spin_unlock_irqrestore(&priv->lock, flags);
|
||||||
|
|
||||||
raw_spin_unlock_irqrestore(&priv->lock, flags);
|
return tstr & BIT(bitpos);
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(rz_mtu3_is_enabled);
|
EXPORT_SYMBOL_GPL(rz_mtu3_is_enabled);
|
||||||
|
|
||||||
@ -349,7 +349,7 @@ static int rz_mtu3_probe(struct platform_device *pdev)
|
|||||||
return PTR_ERR(ddata->clk);
|
return PTR_ERR(ddata->clk);
|
||||||
|
|
||||||
reset_control_deassert(priv->rstc);
|
reset_control_deassert(priv->rstc);
|
||||||
raw_spin_lock_init(&priv->lock);
|
spin_lock_init(&priv->lock);
|
||||||
platform_set_drvdata(pdev, ddata);
|
platform_set_drvdata(pdev, ddata);
|
||||||
|
|
||||||
for (i = 0; i < RZ_MTU_NUM_CHANNELS; i++) {
|
for (i = 0; i < RZ_MTU_NUM_CHANNELS; i++) {
|
||||||
|
@ -10,8 +10,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/of_irq.h>
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/sc27xx-pmic.h>
|
#include <linux/mfd/sc27xx-pmic.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_platform.h>
|
#include <linux/of_platform.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
|
@ -14,12 +14,12 @@
|
|||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
#include <linux/of.h>
|
||||||
|
#include <linux/of_platform.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/ssbi.h>
|
#include <linux/ssbi.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/of.h>
|
|
||||||
#include <linux/of_device.h>
|
|
||||||
|
|
||||||
/* SSBI 2.0 controller registers */
|
/* SSBI 2.0 controller registers */
|
||||||
#define SSBI2_CMD 0x0008
|
#define SSBI2_CMD 0x0008
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include <linux/mfd/stm32-lptimer.h>
|
#include <linux/mfd/stm32-lptimer.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_platform.h>
|
#include <linux/of_platform.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
#define STM32_LPTIM_MAX_REGISTER 0x3fc
|
#define STM32_LPTIM_MAX_REGISTER 0x3fc
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#include <linux/mfd/stm32-timers.h>
|
#include <linux/mfd/stm32-timers.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_platform.h>
|
#include <linux/of_platform.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
#include <linux/reset.h>
|
#include <linux/reset.h>
|
||||||
|
|
||||||
#define STM32_TIMERS_MAX_REGISTERS 0x3fc
|
#define STM32_TIMERS_MAX_REGISTERS 0x3fc
|
||||||
@ -226,8 +227,7 @@ static int stm32_timers_probe(struct platform_device *pdev)
|
|||||||
if (!ddata)
|
if (!ddata)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
mmio = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
|
||||||
mmio = devm_ioremap_resource(dev, res);
|
|
||||||
if (IS_ERR(mmio))
|
if (IS_ERR(mmio))
|
||||||
return PTR_ERR(mmio);
|
return PTR_ERR(mmio);
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ stmpe_i2c_probe(struct i2c_client *i2c)
|
|||||||
dev_info(&i2c->dev, "matching on node name, compatible is preferred\n");
|
dev_info(&i2c->dev, "matching on node name, compatible is preferred\n");
|
||||||
partnum = id->driver_data;
|
partnum = id->driver_data;
|
||||||
} else
|
} else
|
||||||
partnum = (enum stmpe_partnum)of_id->data;
|
partnum = (uintptr_t)of_id->data;
|
||||||
|
|
||||||
return stmpe_probe(&i2c_ci, partnum);
|
return stmpe_probe(&i2c_ci, partnum);
|
||||||
}
|
}
|
||||||
|
@ -219,7 +219,7 @@ MODULE_DEVICE_TABLE(of, stpmic1_of_match);
|
|||||||
static struct i2c_driver stpmic1_driver = {
|
static struct i2c_driver stpmic1_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "stpmic1",
|
.name = "stpmic1",
|
||||||
.of_match_table = of_match_ptr(stpmic1_of_match),
|
.of_match_table = stpmic1_of_match,
|
||||||
.pm = pm_sleep_ptr(&stpmic1_pm),
|
.pm = pm_sleep_ptr(&stpmic1_pm),
|
||||||
},
|
},
|
||||||
.probe = stpmic1_probe,
|
.probe = stpmic1_probe,
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_irq.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
|
||||||
#include <linux/mfd/sun4i-gpadc.h>
|
#include <linux/mfd/sun4i-gpadc.h>
|
||||||
|
@ -340,7 +340,7 @@ tc3589x_of_probe(struct device *dev, enum tc3589x_version *version)
|
|||||||
of_id = of_match_device(tc3589x_match, dev);
|
of_id = of_match_device(tc3589x_match, dev);
|
||||||
if (!of_id)
|
if (!of_id)
|
||||||
return ERR_PTR(-ENODEV);
|
return ERR_PTR(-ENODEV);
|
||||||
*version = (enum tc3589x_version) of_id->data;
|
*version = (uintptr_t) of_id->data;
|
||||||
|
|
||||||
for_each_child_of_node(np, child) {
|
for_each_child_of_node(np, child) {
|
||||||
if (of_device_is_compatible(child, "toshiba,tc3589x-gpio"))
|
if (of_device_is_compatible(child, "toshiba,tc3589x-gpio"))
|
||||||
@ -483,7 +483,7 @@ static struct i2c_driver tc3589x_driver = {
|
|||||||
.driver = {
|
.driver = {
|
||||||
.name = "tc3589x",
|
.name = "tc3589x",
|
||||||
.pm = pm_sleep_ptr(&tc3589x_dev_pm_ops),
|
.pm = pm_sleep_ptr(&tc3589x_dev_pm_ops),
|
||||||
.of_match_table = of_match_ptr(tc3589x_match),
|
.of_match_table = tc3589x_match,
|
||||||
},
|
},
|
||||||
.probe = tc3589x_probe,
|
.probe = tc3589x_probe,
|
||||||
.remove = tc3589x_remove,
|
.remove = tc3589x_remove,
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include <linux/mfd/ti-lmu-register.h>
|
#include <linux/mfd/ti-lmu-register.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|
||||||
struct ti_lmu_data {
|
struct ti_lmu_data {
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
|
|
||||||
#include <linux/mfd/ti_am335x_tscadc.h>
|
#include <linux/mfd/ti_am335x_tscadc.h>
|
||||||
@ -201,8 +201,7 @@ static int ti_tscadc_probe(struct platform_device *pdev)
|
|||||||
else
|
else
|
||||||
tscadc->irq = err;
|
tscadc->irq = err;
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
tscadc->tscadc_base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
|
||||||
tscadc->tscadc_base = devm_ioremap_resource(&pdev->dev, res);
|
|
||||||
if (IS_ERR(tscadc->tscadc_base))
|
if (IS_ERR(tscadc->tscadc_base))
|
||||||
return PTR_ERR(tscadc->tscadc_base);
|
return PTR_ERR(tscadc->tscadc_base);
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/tps6507x.h>
|
#include <linux/mfd/tps6507x.h>
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/tps65090.h>
|
#include <linux/mfd/tps65090.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
#define NUM_INT_REG 2
|
#define NUM_INT_REG 2
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_device.h>
|
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of.h>
|
||||||
|
|
||||||
#include <linux/mfd/core.h>
|
#include <linux/mfd/core.h>
|
||||||
#include <linux/mfd/tps6594.h>
|
#include <linux/mfd/tps6594.h>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user