mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-05-01 12:53:27 +00:00
The secure monitor driver is currently a frankenstein driver which is registered as a platform driver but its functionality goes through a global struct accessed by the consumer drivers using exported helper functions. Try to tidy up the driver moving the firmware struct into the driver data and make the consumer drivers referencing the secure-monitor using a new property in the DT. Currently only the nvmem driver is using this API so we can fix it in the same commit. Reviewed-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Carlo Caione <ccaione@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
29 lines
889 B
C
29 lines
889 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (C) 2016 Endless Mobile, Inc.
|
|
* Author: Carlo Caione <carlo@endlessm.com>
|
|
*/
|
|
|
|
#ifndef _MESON_SM_FW_H_
|
|
#define _MESON_SM_FW_H_
|
|
|
|
enum {
|
|
SM_EFUSE_READ,
|
|
SM_EFUSE_WRITE,
|
|
SM_EFUSE_USER_MAX,
|
|
SM_GET_CHIP_ID,
|
|
};
|
|
|
|
struct meson_sm_firmware;
|
|
|
|
int meson_sm_call(struct meson_sm_firmware *fw, unsigned int cmd_index,
|
|
u32 *ret, u32 arg0, u32 arg1, u32 arg2, u32 arg3, u32 arg4);
|
|
int meson_sm_call_write(struct meson_sm_firmware *fw, void *buffer,
|
|
unsigned int b_size, unsigned int cmd_index, u32 arg0,
|
|
u32 arg1, u32 arg2, u32 arg3, u32 arg4);
|
|
int meson_sm_call_read(struct meson_sm_firmware *fw, void *buffer,
|
|
unsigned int bsize, unsigned int cmd_index, u32 arg0,
|
|
u32 arg1, u32 arg2, u32 arg3, u32 arg4);
|
|
struct meson_sm_firmware *meson_sm_get(struct device_node *firmware_node);
|
|
|
|
#endif /* _MESON_SM_FW_H_ */
|