linux/drivers/soc/ti
Dave Gerlach ea082040fe soc: ti: wkup_m3_ipc: Add support for i2c voltage scaling
Allow loading of a binary containing i2c scaling sequences to be
provided to the wkup_m3 firmware in order to properly scale voltage
rails on the PMIC during low power modes like DeepSleep0. Proper binary
format is determined by the FW in use.

Code expects firmware to have 0x0C57 present as the first two bytes
followed by one byte defining offset to sleep sequence followed by one
byte defining offset to wake sequence and then lastly both sequences.
Each sequence is a series of I2C transfers in the form:

u8 length | u8 chip address | u8 byte0/reg address | u8 byte1 | u8 byteN
..

The length indicates the number of bytes to transfer, including the
register address. The length of each transfer is limited by the I2C
buffer size of 32 bytes.

Based on previous work by Russ Dill.

[dfustini: replace FW_ACTION_HOTPLUG with FW_ACTION_UEVENT]

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
[dfustini: add NULL argument to rproc_da_to_va() call]
Signed-off-by: Drew Fustini <dfustini@baylibre.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220426200741.712842-3-dfustini@baylibre.com
2022-05-03 08:02:09 -05:00
..
k3-ringacc.c soc: ti: k3-ringacc: Use devm_bitmap_zalloc() when applicable 2022-02-02 13:06:21 -06:00
k3-socinfo.c soc: ti: k3-socinfo: Add AM62x JTAG ID 2022-02-28 05:35:19 -06:00
Kconfig soc: ti: Kconfig: Drop ARM64 SoC specific configs 2020-11-21 19:22:01 -08:00
knav_dma.c soc: ti: knav_dma: Use pm_runtime_resume_and_get instead of pm_runtime_get_sync 2022-04-15 15:04:53 -05:00
knav_qmss_acc.c soc: TI knav_qmss: make symbol 'knav_acc_range_ops' static 2020-07-24 14:47:10 -07:00
knav_qmss_queue.c soc: ti: knav_qmss_queue: Use IS_ERR instead of IS_ERR_OR_NULL when checking knav_queue_open() result 2022-05-03 08:02:05 -05:00
knav_qmss.h soc: ti: Replace zero-length array with flexible-array 2020-06-15 23:08:32 -05:00
Makefile ARM: SoC-related driver updates 2020-10-24 10:39:22 -07:00
omap_prm.c soc: ti: omap_prm: Use of_device_get_match_data() 2022-04-15 14:31:03 -05:00
pm33xx.c soc: ti: pm33xx: using pm_runtime_resume_and_get instead of pm_runtime_get_sync 2022-05-03 06:58:10 -05:00
pruss.c soc: ti: pruss: using pm_runtime_resume_and_get instead of pm_runtime_get_sync 2022-04-11 08:46:09 -05:00
smartreflex.c soc: ti: smartreflex: Use platform_get_irq_optional() to get the interrupt 2022-02-02 13:11:40 -06:00
ti_sci_inta_msi.c soc: ti: ti_sci_inta_msi: Remove ti_sci_inta_msi_domain_free_irqs() 2021-12-16 22:22:19 +01:00
ti_sci_pm_domains.c soc: ti: ti_sci_pm_domains: Check for null return of devm_kcalloc 2022-04-15 14:59:23 -05:00
wkup_m3_ipc.c soc: ti: wkup_m3_ipc: Add support for i2c voltage scaling 2022-05-03 08:02:09 -05:00