mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-19 02:54:24 +00:00

Add SPMI and PMIF driver for PMIC communication Change-Id: Iad1d90381d6dad6b3e92fd9d6a3ce02fa11d15f1 Signed-off-by: Hope Wang <hope.wang@mediatek.corp-partner.google.com>
33 lines
1.2 KiB
C
33 lines
1.2 KiB
C
/*
|
|
* Copyright (c) 2025, MediaTek Inc. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef SPMI_API_H
|
|
#define SPMI_API_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <drivers/spmi/spmi_common.h>
|
|
|
|
/* external API */
|
|
int spmi_register_zero_write(struct spmi_device *dev, uint8_t data);
|
|
int spmi_register_read(struct spmi_device *dev, uint8_t addr, uint8_t *buf);
|
|
int spmi_register_write(struct spmi_device *dev, uint8_t addr, uint8_t data);
|
|
int spmi_ext_register_read(struct spmi_device *dev, uint8_t addr, uint8_t *buf,
|
|
uint8_t len);
|
|
int spmi_ext_register_write(struct spmi_device *dev, uint8_t addr,
|
|
const uint8_t *buf, uint8_t len);
|
|
int spmi_ext_register_readl(struct spmi_device *dev, uint16_t addr,
|
|
uint8_t *buf, uint8_t len);
|
|
int spmi_ext_register_writel(struct spmi_device *dev, uint16_t addr,
|
|
const uint8_t *buf, uint8_t len);
|
|
int spmi_ext_register_readl_field(struct spmi_device *dev, uint16_t addr,
|
|
uint8_t *buf, uint16_t mask, uint16_t shift);
|
|
int spmi_ext_register_writel_field(struct spmi_device *dev, uint16_t addr,
|
|
uint8_t data, uint16_t mask, uint16_t shift);
|
|
struct spmi_device *get_spmi_device(int mstid, int slvid);
|
|
int spmi_device_register(struct spmi_device *platform_spmi_dev, int num_devs);
|
|
|
|
#endif
|