diff options
author | Carlo Caione <carlo@endlessm.com> | 2016-08-27 16:43:43 +0300 |
---|---|---|
committer | Kevin Hilman <khilman@baylibre.com> | 2016-09-02 00:23:39 +0300 |
commit | 2c4ddb215521d5dfb30f72123ef966ac6bdd16d7 (patch) | |
tree | 4ea8f9160358416781a64275ba47d9e3113b3db4 /include/linux/firmware | |
parent | 6edf27ee25892571d275e2b3945d1b48c68d0476 (diff) | |
download | linux-2c4ddb215521d5dfb30f72123ef966ac6bdd16d7.tar.xz |
firmware: Amlogic: Add secure monitor driver
Introduce a driver to provide calls into secure monitor mode.
In the Amlogic SoCs these calls are used for multiple reasons: access to
NVMEM, set USB boot, enable JTAG, etc...
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Carlo Caione <carlo@endlessm.com>
[khilman: add in SZ_4K cleanup]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Diffstat (limited to 'include/linux/firmware')
-rw-r--r-- | include/linux/firmware/meson/meson_sm.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/linux/firmware/meson/meson_sm.h b/include/linux/firmware/meson/meson_sm.h new file mode 100644 index 000000000000..8e953c6f394a --- /dev/null +++ b/include/linux/firmware/meson/meson_sm.h @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2016 Endless Mobile, Inc. + * Author: Carlo Caione <carlo@endlessm.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef _MESON_SM_FW_H_ +#define _MESON_SM_FW_H_ + +enum { + SM_EFUSE_READ, + SM_EFUSE_WRITE, + SM_EFUSE_USER_MAX, +}; + +struct meson_sm_firmware; + +int meson_sm_call(unsigned int cmd_index, u32 *ret, u32 arg0, u32 arg1, + u32 arg2, u32 arg3, u32 arg4); +int meson_sm_call_write(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(void *buffer, unsigned int cmd_index, u32 arg0, u32 arg1, + u32 arg2, u32 arg3, u32 arg4); + +#endif /* _MESON_SM_FW_H_ */ |