Hope Wang | c88fe69 | 2024-12-13 16:21:01 +0800 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (c) 2025, MediaTek Inc. All rights reserved. |
| 3 | * |
| 4 | * SPDX-License-Identifier: BSD-3-Clause |
| 5 | */ |
| 6 | |
| 7 | #ifndef SPMI_API_H |
| 8 | #define SPMI_API_H |
| 9 | |
| 10 | #include <stdint.h> |
| 11 | |
| 12 | #include <drivers/spmi/spmi_common.h> |
| 13 | |
| 14 | /* external API */ |
| 15 | int spmi_register_zero_write(struct spmi_device *dev, uint8_t data); |
| 16 | int spmi_register_read(struct spmi_device *dev, uint8_t addr, uint8_t *buf); |
| 17 | int spmi_register_write(struct spmi_device *dev, uint8_t addr, uint8_t data); |
| 18 | int spmi_ext_register_read(struct spmi_device *dev, uint8_t addr, uint8_t *buf, |
| 19 | uint8_t len); |
| 20 | int spmi_ext_register_write(struct spmi_device *dev, uint8_t addr, |
| 21 | const uint8_t *buf, uint8_t len); |
| 22 | int spmi_ext_register_readl(struct spmi_device *dev, uint16_t addr, |
| 23 | uint8_t *buf, uint8_t len); |
| 24 | int spmi_ext_register_writel(struct spmi_device *dev, uint16_t addr, |
| 25 | const uint8_t *buf, uint8_t len); |
| 26 | int spmi_ext_register_readl_field(struct spmi_device *dev, uint16_t addr, |
| 27 | uint8_t *buf, uint16_t mask, uint16_t shift); |
| 28 | int spmi_ext_register_writel_field(struct spmi_device *dev, uint16_t addr, |
| 29 | uint8_t data, uint16_t mask, uint16_t shift); |
| 30 | struct spmi_device *get_spmi_device(int mstid, int slvid); |
| 31 | int spmi_device_register(struct spmi_device *platform_spmi_dev, int num_devs); |
| 32 | |
| 33 | #endif |