Commit Graph

907 Commits

Author SHA1 Message Date
Roger Quadros
e9f06bd428 dt-bindings: mfd: syscon: Add ti,am62-usb-phy-ctrl compatible
Add the compatible for TI AM62 USB PHY Control register. This
register is found in the TI AM62 WKUP_CTRL_MMR0 space [1]. It
is used to indicate the USB PHY PLL reference clock rate and
core voltage level to the USB controller.

[1] - https://www.ti.com/lit/pdf/spruiv7

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20240226-b4-for-v6-5-am62-usb-typec-dt-v6-1-acf77fff4344@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-29 17:16:19 +00:00
Geert Uytterhoeven
d3dc362b3a dt-bindings: mfd: dlg,da9063: Make #interrupt-cells required
'#interrupt-cells' is a required provided for interrupt providers,
hence make it required.

While at it, move '#interrupt-cells' in the example to match common sort
order.

Fixes: 361104b056 ("dt-bindings: mfd: Convert da9063 to yaml")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/f512045738d2102c771a171a514ed7cf612c6d6f.1708944455.git.geert+renesas@glider.be
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-29 17:15:26 +00:00
Balakrishnan Sambath
ec01319163 dt-bindings: mfd: Convert atmel-flexcom to json-schema
Convert the Atmel flexcom device tree bindings to json schema.

Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Balakrishnan Sambath <balakrishnan.s@microchip.com>
Link: https://lore.kernel.org/r/20240223-b4-sama5d2-flexcom-yaml-v2-2-7e96c60c7701@microchip.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-23 17:14:14 +00:00
Stephen Boyd
7b79740d42 dt-bindings: mfd: cros-ec: Add properties for GPIO controller
The ChromeOS embedded controller (EC) supports setting the state of
GPIOs when the system is unlocked, and getting the state of GPIOs in all
cases. The GPIOs are on the EC itself, so the EC acts similar to a GPIO
expander. Add the #gpio-cells and gpio-controller properties to the
cros-ec binding so that other devices described in DT can get the GPIOs
on the EC.

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240219202325.4095816-2-swboyd@chromium.org
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-23 17:14:08 +00:00
Andreas Kemnade
0c7cc7497f dt-bindings: mfd: ti,twl: Document system-power-controller
Add system-power-controller property because these chips
can power off the device.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240217082007.3238948-2-andreas@kemnade.info
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-23 16:11:34 +00:00
Andrew Davis
17bb3a9d34 dt-bindings: mfd: syscon: Add ti,am654-serdes-ctrl compatible
Add TI SERDES control registers compatible. This is a region found in the
TI AM65 CTRL_MMR0 register space[0]. Each instance is used to control a
SERDES clock and lane select mux.

[0] https://www.ti.com/lit/pdf/spruid7

Signed-off-by: Andrew Davis <afd@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240205174736.27749-1-afd@ti.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-23 14:58:02 +00:00
Siddharth Vadapalli
cc1965b02d dt-bindings: mfd: syscon: Add ti,j784s4-pcie-ctrl compatible
The PCIE_CTRL registers within the CTRL_MMR space of TI's J784S4 SoC
are used to configure the link speed, lane count and mode of operation
of the respective PCIe instance. Add compatible for allowing the PCIe
driver to obtain a regmap for the PCIE_CTRL register within the System
Controller device-tree node in order to configure the PCIe instance
accordingly.

The Technical Reference Manual for J784S4 SoC with details of the
PCIE_CTRL registers is available at: https://www.ti.com/lit/zip/spruj52

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240204090336.3209063-1-s-vadapalli@ti.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-23 14:58:02 +00:00
Dharma Balasubiramani
9fb7369cf5 dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format
Convert the atmel,hlcdc binding to DT schema format.

Align clocks and clock-names properties to clearly indicate that the LCD
controller expects lvds_pll_clk when interfaced with the lvds display. This
alignment with the specific hardware requirements ensures accurate device tree
configuration for systems utilizing the HLCDC IP.

Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240202001733.91455-4-dharma.b@microchip.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-23 14:58:02 +00:00
Dmitry Baryshkov
5dce78032b dt-bindings: mfd: qcom,tcsr: Add compatibles for QCM2290 and SM6115
Add qcom,qcm2290-tcsr and qcom,sm6115-tcsr, compatibles for TCSR blocks
on the corresponding platforms.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240116-usbc-phy-vls-clamp-v1-1-73b2da7691c5@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-23 14:58:01 +00:00
Krzysztof Kozlowski
ed3cb341e4 dt-bindings: mfd: iqs62x: Do not override firmware-name $ref
dtschema package defines firmware-name as string-array, so individual
bindings should not make it a string but instead just narrow the number
of expected firmware file names.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Jeff LaBundy <jeff@labundy.com>
Link: https://lore.kernel.org/r/20240115182042.1610134-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-23 14:58:01 +00:00
Biju Das
f1eb64bf6d dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
Convert the da9062 PMIC device tree binding documentation to json-schema.

Document the missing gpio child node for da9062.

While at it, update description with link to product information and
example.

The missing child node with of_compatible defined in MFD_CELL_OF is
causing the below warning message:
da9062-gpio: Failed to locate of_node [id: -1]

So, make all child nodes with of_compatible defined in struct mfd_cell
as required property for da906{1,2} devices.

The "gpio-controller" and "#gpio-cells" properties are defined in the
parent instead of gpio child node as there are existing driver users
based on these parent properties.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20240131102656.3379-7-biju.das.jz@bp.renesas.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-08 13:06:03 +00:00
Biju Das
ae3a0d709c dt-bindings: mfd: dlg,da9063: Sort child devices
Sort child devices alphabetically.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240131102656.3379-6-biju.das.jz@bp.renesas.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-08 13:05:58 +00:00
Biju Das
fddee1e686 dt-bindings: thermal: Convert da906{1,2} thermal to json-schema
Convert the da906{1,2} thermal device tree binding documentation to
json-schema.

Update MAINTAINERS entries and description by referring to
dlg,da9062-thermal.yaml binding file.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20240131102656.3379-5-biju.das.jz@bp.renesas.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-08 13:05:52 +00:00
Biju Das
e2fcaf4c06 dt-bindings: input: Convert da906{1,2,3} onkey to json-schema
Convert the da906{1,2,3} onkey device tree binding documentation to
json-schema.

Update MAINTAINERS entries, description and onkey property by
referring to dlg,da9062-onkey binding file.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20240131102656.3379-4-biju.das.jz@bp.renesas.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-08 13:05:48 +00:00
Biju Das
19c993f29e dt-bindings: mfd: dlg,da9063: Update watchdog child node
Update watchdog child node by referring to dlg,da9062-watchdog binding
file and drop its definition from this file.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240131102656.3379-3-biju.das.jz@bp.renesas.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-08 13:05:43 +00:00
Biju Das
12f0a4cc84 dt-bindings: mfd: da9062: Update watchdog description
Update watchdog description by referring to dlg,da9062-watchdog binding
file.

Update MAINTAINERS entries.

Fixes: bd888a4377 ("dt-bindings: watchdog: da9062-wdt: convert txt to yaml")
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240131102656.3379-2-biju.das.jz@bp.renesas.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-02-08 13:05:32 +00:00
Linus Torvalds
2385018a4e Merge tag 'mfd-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull mfd updates from Lee Jones:
 "New Device Support:
   - Add support for Qualcomm PM8937 PMIC to QCOM SPMI PMIC

  Fix-ups:
   - Use/convert to new/better APIs/helpers/MACROs instead of
     hand-rolling implementations
   - Device Tree binding adaptions/conversions/creation
   - Improve error handling; return proper error values, simplify,
     avoid duplicates, etc
   - Continue work to remove superfluous platform .remove() call-backs
   - Move some exported symbols into private namespaces
   - Clean-up and staticify PM related operations
   - Trivial; spelling, whitespace, clean-ups, etc
   - Fix include lists; alphabetise, remove unused, explicitly add used

  Bug Fixes:
   - Use PLATFORM_DEVID_AUTO to ensure multiple duplicate devices can
     co-exist
   - Ensure debugfs register view is correctly presented
   - Fix ordering and value issues in current use of
     clk_register_fractional_divider()
   - Repair Kconfig based dependency lists"

* tag 'mfd-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (50 commits)
  mfd: ti_am335x_tscadc: Fix TI SoC dependencies
  dt-bindings: mfd: sprd: Add support for UMS9620
  mfd: ab8500-sysctrl: Drop ancient charger
  mfd: intel-lpss: Fix the fractional clock divider flags
  mfd: tps6594: Add null pointer check to tps6594_device_init()
  dt-bindings: mfd: pm8008: Clean up example node names
  dt-bindings: mfd: hisilicon,hi6421-spmi-pmic: Clean up example
  dt-bindings: mfd: hisilicon,hi6421-spmi-pmic: Fix regulator binding
  dt-bindings: mfd: hisilicon,hi6421-spmi-pmic: Fix up binding reference
  mfd: da9062: Simplify obtaining I2C match data
  mfd: syscon: Fix null pointer dereference in of_syscon_register()
  mfd: intel-lpss: Don't fail probe on success of pci_alloc_irq_vectors()
  mfd: twl6030-irq: Revert to use of_match_device()
  mfd: cs42l43: Correct order of include files to be alphabetical
  mfd: cs42l43: Correct SoundWire port list
  mfd: Fix a few spelling mistakes in PMIC header file comments
  mfd: intel-lpss: Provide Intel LPSS PM ops structure
  mfd: intel-lpss: Move exported symbols to INTEL_LPSS namespace
  mfd: intel-lpss: Adjust header inclusions
  mfd: intel-lpss: Use device_get_match_data()
  ...
2024-01-17 15:21:21 -08:00
Chunyan Zhang
64fe64f920 dt-bindings: mfd: sprd: Add support for UMS9620
Add bindings for Unisoc UMS9620 system global registers which provide
register maps for clocks.

Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231215085630.984892-2-chunyan.zhang@unisoc.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-01-10 11:26:05 +00:00
Johan Hovold
4f9b632e1b dt-bindings: mfd: pm8008: Clean up example node names
Devicetree node names should be generic; fix up the pm8008 binding
example accordingly.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20231206111754.7410-5-johan+linaro@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-12-13 11:44:37 +00:00
Johan Hovold
1aa77a7ed0 dt-bindings: mfd: hisilicon,hi6421-spmi-pmic: Clean up example
The SPMI PMIC sits on an SPMI bus which and has two address cells with
no size.

Clean up the example by adding a parent SPMI bus node with proper
'#address-cells' and '#size-cells' properties, using a define for the
second register value, dropping the unnecessary label and increasing the
indentation to four spaces.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231206111754.7410-4-johan+linaro@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-12-07 17:01:49 +00:00
Johan Hovold
d5c005ff9f dt-bindings: mfd: hisilicon,hi6421-spmi-pmic: Fix regulator binding
The regulator child nodes do not have unit addresses so drop the
incorrect '#address-cells' and '#size-cells' properties from the parent
'regulators' node.

Fixes: 352335a6ac ("staging: hikey9xx: hisilicon, hi6421-spmi-pmic.yaml: simplify props")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231206111754.7410-3-johan+linaro@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-12-07 17:01:38 +00:00
Johan Hovold
e23f1530ea dt-bindings: mfd: hisilicon,hi6421-spmi-pmic: Fix up binding reference
Fix up the SPMI PMIC binding document free text reference which
erroneously referred to itself rather than the parent SPMI controller
binding as intended.

Fixes: 9e59172885 ("dt: document HiSilicon SPMI controller and mfd/regulator properties")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231206111754.7410-2-johan+linaro@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-12-07 17:01:22 +00:00
Santhosh Kumar K
d19e5510c8 dt-bindings: mfd: ti,am3359-tscadc: Allow dmas property to be optional
ADC module can function without DMA, so there may not be dma channel
always associated with device. Hence, remove "dmas", "dma-names" from list
of required properties.

Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20231124045019.21003-1-s-k6@ti.com
Signed-off-by: Lee Jones <lee@kernel.org>
2023-12-07 13:50:29 +00:00
Nikita Travkin
7ac5241eae dt-bindings: mfd: qcom,spmi-pmic: Add pm8916 vm-bms and lbc
PM8916 (and probably some other similar pmics) have hardware blocks for
battery monitoring and charging. Add patterns for respecive nodes so the
devicetree for those blocks can be validated properly.

Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231120-pm8916-dtsi-bms-lbc-v4-1-4f91056c8252@trvn.ru
Signed-off-by: Lee Jones <lee@kernel.org>
2023-12-07 13:50:28 +00:00
Dang Huynh
2f7cae5583 dt-bindings: mfd: qcom-spmi-pmic: Document PM8937 PMIC
Add bindings for PM8937 PMIC (qcom,pm8937). This PMIC is found in
boards with MSM8917, MSM8937, MSM8940 and APQ variants.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Dang Huynh <danct12@riseup.net>
Link: https://lore.kernel.org/r/20231121-pm8937-v2-2-b0171ab62075@riseup.net
Signed-off-by: Lee Jones <lee@kernel.org>
2023-12-07 13:50:28 +00:00
Mukesh Ojha
33455f8da1 dt-bindings: mfd: qcom,tcsr: Add compatible for sm8250/sm8350
Document the compatible for both sm8250 and sm8350 SoCs.

Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/1698253601-11957-1-git-send-email-quic_mojha@quicinc.com
Signed-off-by: Lee Jones <lee@kernel.org>
2023-12-07 13:50:25 +00:00
Geert Uytterhoeven
a89c3d8327 dt-bindings: mfd: ams,as3711: Convert to json-schema
Convert the Austria MicroSystems AS3711 Quad Buck High Current PMIC with
Charger Device Tree binding documentation to json-schema.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/56a5ebee588696f9022fa29fa8e266c8bdee6fd7.1698228043.git.geert+renesas@glider.be
Signed-off-by: Lee Jones <lee@kernel.org>
2023-12-07 13:50:25 +00:00
Krzysztof Kozlowski
cb931ee571 ASoC: dt-bindings: samsung-i2s: add specific compatibles for existing SoC
Samsung Exynos SoC reuses several devices from older designs, thus
historically we kept the old (block's) compatible only.  This works fine
and there is no bug here, however guidelines expressed in
Documentation/devicetree/bindings/writing-bindings.rst state that:
1. Compatibles should be specific.
2. We should add new compatibles in case of bugs or features.

Add compatibles specific to each SoC in front of all old-SoC-like
compatibles.

Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Lee Jones <lee@kernel.org>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20231108104343.24192-12-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2023-11-15 12:50:20 +01:00
Linus Torvalds
90b0c2b2ed Merge tag 'pinctrl-v6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij:
 "No pin control core changes this time.

  New drivers:

   - Realtek RTD family pin control driver and RTD1619B, RTD1319D and
     RTD1315E subdrivers

   - Nuvoton NPCM8xx combined pin control and GPIO driver

   - Amlogic T7 pin control driver

   - Renesas RZ/G3S pin control driver

  Improvements:

   - A number of additional UART groups added to the Mediatek MT7981
     driver

   - MPM pin maps added for Qualcomm MSM8996, SM6115, SM6125 and SDM660

   - Extra GPIO banks for the Sunxi H616

   - MLSP I2C6 function support in Qualcomm MSM8226

   - Some __counted_by() annotations for dynamic arrays

   - Ongoing work to make remove() return void

   - LSBC groups and functions in the Renesas R8A7778"

* tag 'pinctrl-v6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (110 commits)
  pinctrl: Use device_get_match_data()
  dt-bindings: pinctrl: qcom,sa8775p-tlmm: add missing wakeup-parent
  dt-bindings: pinctrl: nuvoton,npcm845: Add missing additionalProperties on gpio child nodes
  dt-bindings: pinctrl: brcm: Ensure all child node properties are documented
  pinctrl: renesas: rzn1: Convert to platform remove callback returning void
  pinctrl: renesas: rzg2l: Add RZ/G3S support
  dt-bindings: pinctrl: renesas: Document RZ/G3S SoC
  pinctrl: renesas: rzg2l: Add support for different DS values on different groups
  pinctrl: renesas: rzg2l: Move DS and OI to SoC-specific configuration
  pinctrl: renesas: rzg2l: Adapt function number for RZ/G3S
  pinctrl: renesas: rzg2l: Adapt for different SD/PWPR register offsets
  pinctrl: renesas: rzg2l: Index all registers based on port offset
  pinctrl: renesas: rzg2l: Add validation of GPIO pin in rzg2l_gpio_request()
  pinctrl: renesas: r8a7778: Add LBSC pins, groups, and functions
  pinctrl: intel: fetch community only when we need it
  pinctrl: cherryview: reduce scope of PIN_CONFIG_BIAS_HIGH_IMPEDANCE case
  pinctrl: cherryview: Convert to platform remove callback returning void
  pinctrl: sprd-sc9860: Convert to platform remove callback returning void
  pinctrl: qcom/msm: Convert to platform remove callback returning void
  pinctrl: qcom/lpi: Convert to platform remove callback returning void
  ...
2023-11-03 19:15:19 -10:00
Linus Torvalds
27bc0782ef Merge tag 'mfd-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones:
 "Core Frameworks:
   - Allow all MFD Cell properties to be filled in dynamically at
     runtime
   - Skip disabled device nodes and continue to look for subsequent
     devices

  New Device Support:
   - Add support for Lunar Lake-M PCI to Intel LPSS PCI
   - Add support for Denverton to Intel ICH LPC

  New Functionality:
   - Add support for Clocks to Texas Instruments TWL* Core
   - Add support for Interrupts to STMicroelectronics STM32 Timers

  Fix-ups:
   - Convert to new devm-* (managed) power-off API
   - Remove superfluous code
   - Bunch of Device Tree additions, conversions and adaptions
   - Simplify obtaining resources (memory, device data) using unified
     API helpers
   - Trivial coding-style / spelling type clean-ups
   - Constify / staticify changes
   - Expand or edit on existing documentation
   - Convert some Regmap configurations to use the Maple Tree cache
   - Apply new __counted_by() annotation to several data structures
     containing flexible arrays
   - Replace strncpy() with strscpy()

  Bug Fixes:
   - Remove double put creating reference imbalances
   - Ensure headphone/lineout detection gets set when booting with ACPI"

* tag 'mfd-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (73 commits)
  mfd: lpc_ich: Mark *_gpio_offsets data with const
  spmi: rename spmi device lookup helper
  spmi: document spmi_device_from_of() refcounting
  dt-bindings: mfd: armltd: Move Arm board syscon's to separate schema
  mfd: rk8xx: Add support for RK806 power off
  mfd: rk8xx: Add support for standard system-power-controller property
  dt-bindings: mfd: rk806: Allow system-power-controller property
  dt-bindings: mfd: rk8xx: Deprecate rockchip,system-power-controller
  dt-bindings: mfd: max8925: Convert to DT schema format
  mfd: Use i2c_get_match_data() in a selection of drivers
  mfd: Use device_get_match_data() in a bunch of drivers
  mfd: mc13xxx-spi/wm831x-spi: Use spi_get_device_match_data()
  mfd: motorola-cpcap: Drop unnecessary of_match_device() call
  mfd: arizona-spi: Set pdata.hpdet_channel for ACPI enumerated devs
  mfd: qcom-spmi-pmic: Switch to EXPORT_SYMBOL_GPL()
  mfd: qcom-spmi-pmic: Fix revid implementation
  mfd: qcom-spmi-pmic: Fix reference leaks in revid helper
  mfd: intel-m10-bmc: Change contact for ABI docs
  mfd: max8907: Convert to use maple tree register cache
  mfd: max77686: Convert to use maple tree register cache
  ...
2023-11-02 14:40:51 -10:00
Rob Herring
36af195f7f dt-bindings: mfd: armltd: Move Arm board syscon's to separate schema
The Arm Ltd board bindings are a bit unusual in that they define child
nodes for various syscon's. The schemas are also incomplete as they lack
constraints on having additional properties and some properties are
missing. As the bindings for the different platforms only vary by
compatibles, combine them into a single schema doc.

Add the "arm,im-pd1-syscon" compatible which was not documented. Add
"ranges", "#address-cells", and "#size-cells properties which were
missing.

With this, fix the error exposed in the register-bit-led binding.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20231020142252.3113716-2-robh@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:18 +00:00
Ondrej Jirman
f0eb624455 dt-bindings: mfd: rk806: Allow system-power-controller property
Declare support for this property.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20231019165732.3818789-3-megi@xff.cz
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:17 +00:00
Ondrej Jirman
961748bb15 dt-bindings: mfd: rk8xx: Deprecate rockchip,system-power-controller
Deprecate support for this property in favor of standard
system-power-controller one.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20231019165732.3818789-2-megi@xff.cz
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:17 +00:00
Sebastian Reichel
93fae36e03 dt-bindings: mfd: max8925: Convert to DT schema format
Convert the binding to DT schema format.

The sub-functions of this MFD device do not have their own compatible
string and are thus described directly in the MFD binding document
after being converted to YAML.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231023131409.1796451-1-sebastian.reichel@collabora.com
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:17 +00:00
Luca Weiss
aaca37ae36 dt-bindings: mfd: qcom,spmi-pmic: Drop unused labels from examples
There's not much point in having unused labels in the binding example,
so drop them.

This patch was originally motivated by ea25d61b44 ("arm64: dts: qcom:
Use plural _gpios node label for PMIC gpios") updating all dts files to
use the plural _gpios label instead of the singular _gpio as label but
this example wasn't updated. But since we should just drop the label
alltogether, do that.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231002-pm7250b-gpio-fixup-v2-1-debb8b599989@fairphone.com
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:15 +00:00
Chen-Yu Tsai
61fdd1f1d2 dt-bindings: mfd: mt6397: Split out compatible for MediaTek MT6366 PMIC
The MT6366 PMIC is mostly, but not fully, compatible with MT6358. It has
a different set of regulators. Specifically, it lacks the camera related
VCAM* LDOs and VLDO28, but has additional VM18, VMDDR, and VSRAM_CORE LDOs.

The PMICs contain a chip ID register that can be used to detect which
exact model is preset, so it is possible to share a common base
compatible string.

Add a separate compatible for the MT6366 PMIC, with a fallback to the
MT6358 PMIC.

Fixes: 49be163055 ("dt-bindings: mfd: Add compatible for the MediaTek MT6366 PMIC")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230928085537.3246669-2-wenst@chromium.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:14 +00:00
Rob Herring
8cdbe51c2d dt-bindings: mfd: Add missing unevaluatedProperties on child node schemas
Just as unevaluatedProperties or additionalProperties are required at
the top level of schemas, they should (and will) also be required for
child node schemas. That ensures only documented properties are
present for any node.

Add unevaluatedProperties as needed, and then add any missing properties
flagged by the addition.

Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230925212729.1976117-1-robh@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:13 +00:00
Andre Przywara
fd7a0ecf4e dt-bindings: mfd: x-powers,axp152: Make interrupt optional for more chips
All X-Powers PMICs described by this binding have an IRQ pin, and so
far (almost) all boards connected this to some NMI pin or GPIO on the SoC
they are connected to.
However we start to see boards that omit this connection, and technically
the IRQ pin is not essential to the basic PMIC operation.

The existing Linux driver allows skipping the IRQ pin setup for two chips
already, so update the binding to also make the DT property optional for
the missing chip. And while we are at it, add the AXP313a to that list,
as they are actually boards out there not connecting the IRQ pin.

This allows to have DTs correctly describing those boards not wiring up
the interrupt.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230919103913.463156-2-andre.przywara@arm.com
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:13 +00:00
Andreas Kemnade
b06545fcb3 dt-bindings: mfd: ti,twl: Add clock provider properties
Since these devices provide clock outputs, add the corresponding
property.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230916100515.1650336-3-andreas@kemnade.info
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:12 +00:00
Andreas Kemnade
611ed1a5f3 dt-bindings: mfd: Convert twl-family.txt to json-schema
Convert the TWL[46]030 binding to DT schema format. To do it as a step by
step work, do not include / handle nodes for subdevices yet, just convert
things with minimal corrections. There are already some bindings for its
subdevices in the tree.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230916100515.1650336-2-andreas@kemnade.info
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:11 +00:00
Andrew Davis
cb523495ee dt-bindings: mfd: syscon: Add ti,am654-dss-oldi-io-ctrl compatible
Add TI DSS OLDI-IO control registers compatible. This is a region of 5
32bit registers found in the TI AM65 CTRL_MMR0 register space[0]. They
are used to control the characteristics of the OLDI DATA/CLK IO as needed
by the DSS display controller node.

[0] https://www.ti.com/lit/pdf/spruid7

Signed-off-by: Andrew Davis <afd@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Aradhya Bhatia <a-bhatia1@ti.com>
Link: https://lore.kernel.org/r/20230911142556.64108-1-afd@ti.com
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:11 +00:00
Krzysztof Kozlowski
a8e498368d dt-bindings: mfd: maxim,max8998: Convert to DT schema
Convert the bindings for Maxim MAX8998, National/TI LP3974 Power
Management IC to DT schema.  Adjust example to real DTS and make second
interrupt optional (like on s5pv210-aries.dtsi).

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230911120135.37528-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:11 +00:00
Tengfei Fan
917991aae6 dt-bindings: mfd: qcom,tcsr: Add compatible for sm4450
Document the qcom,sm4450-tcsr compatible.

Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230908065847.28382-3-quic_tengfan@quicinc.com
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:11 +00:00
Geert Uytterhoeven
e7df2d7c83 dt-bindings: mfd: stericsson,db8500-prcmu: Spelling s/Cortex A-/Cortex-A/
Fix a misspelling of "Cortex-A9".

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/0789000f012122a7fa27ef709c738101b00cd834.1693407196.git.geert+renesas@glider.be
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:10 +00:00
Alex Bee
719a205707 dt-bindings: mfd: syscon: Add rockchip,rk3128-qos compatible
Document Rockchip RK3128 SoC compatible for qos registers.

Signed-off-by: Alex Bee <knaerzche@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230829171647.187787-2-knaerzche@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:10 +00:00
Bryan O'Donoghue
0202e408fa dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types
Add the PMIC Type-C port driver to the list of devices.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230816115151.501736-2-bryan.odonoghue@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:09 +00:00
Dmitry Baryshkov
26329c97fb dt-bindings: mfd: qcom-pm8xxx: Add missing child nodes
Add gpio, keypad, led, mpps, pwrkey, vibrator and xoadc as possible
child nodes of qcom,pm8xxx, referencing existint schema files.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230827132525.951475-3-dmitry.baryshkov@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:09 +00:00
Dmitry Baryshkov
ea927f1909 dt-bindings: mfd: qcom-spmi-pmic: Add pm8450 entry
Add bindings for the PM8450 PMIC (qcom,pm8450). No driver changes are
necessary, since the PMIC is handled by the generic qcom,spmi-pmic
entry.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230821232532.3110607-1-dmitry.baryshkov@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
2023-11-01 10:02:09 +00:00
Rob Herring
caf963efd4 dt-bindings: pinctrl: brcm: Ensure all child node properties are documented
The Broadcom pinctrl bindings are incomplete for child nodes as they are
missing 'unevaluatedProperties: false' to prevent unknown properties.
Fixing this reveals many warnings including having grandchild nodes in some
cases. Many cases in the examples use 'group' property which is
undocumented and not used by the driver. As the schemas define 'pins', I
assume that is the correct name except for the one case, 6358, using
'groups' which is documented.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231020185203.3941590-2-robh@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-23 10:22:23 +02:00
Jakub Kicinski
2606cf059c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR.

No conflicts (or adjacent changes of note).

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-10-05 13:16:47 -07:00