Commit d7cdfc01e3e060d19d95df680a1dc2a7dc7330e3
1 parent
114cc2a62d
Exists in
smarc_8mq-imx_v2020.04_5.4.24_2.1.0
and in
1 other branch
MLK-24178 imx8: Fix build warning in sci
Find below warning on some boards, because sci.h does not include log.h. Fix the issue by replacing linux/errno.h to common.h ./arch/arm/include/asm/arch/sci/sci.h: In function ‘sc_err_to_linux’: ./arch/arm/include/asm/arch/sci/sci.h:56:2: warning: implicit declaration of function ‘debug’ [-Wimplicit-function-declaration] 56 | debug("%s %d %d\n", _func_, err, ret); Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 29509c2104e6820f6618074fd1f109c7ff70bdd2)
Showing 1 changed file with 1 additions and 1 deletions Inline Diff
arch/arm/include/asm/arch-imx8/sci/sci.h
1 | /* SPDX-License-Identifier: GPL-2.0+ */ | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* | 2 | /* |
3 | * Copyright 2018 NXP | 3 | * Copyright 2018 NXP |
4 | */ | 4 | */ |
5 | 5 | ||
6 | #ifndef _SC_SCI_H | 6 | #ifndef _SC_SCI_H |
7 | #define _SC_SCI_H | 7 | #define _SC_SCI_H |
8 | 8 | ||
9 | #include <asm/arch/sci/types.h> | 9 | #include <asm/arch/sci/types.h> |
10 | #include <asm/arch/sci/svc/misc/api.h> | 10 | #include <asm/arch/sci/svc/misc/api.h> |
11 | #include <asm/arch/sci/svc/pad/api.h> | 11 | #include <asm/arch/sci/svc/pad/api.h> |
12 | #include <asm/arch/sci/svc/pm/api.h> | 12 | #include <asm/arch/sci/svc/pm/api.h> |
13 | #include <asm/arch/sci/svc/rm/api.h> | 13 | #include <asm/arch/sci/svc/rm/api.h> |
14 | #include <asm/arch/sci/svc/seco/api.h> | 14 | #include <asm/arch/sci/svc/seco/api.h> |
15 | #include <asm/arch/sci/svc/irq/api.h> | 15 | #include <asm/arch/sci/svc/irq/api.h> |
16 | #include <asm/arch/sci/svc/timer/api.h> | 16 | #include <asm/arch/sci/svc/timer/api.h> |
17 | #include <asm/arch/sci/rpc.h> | 17 | #include <asm/arch/sci/rpc.h> |
18 | #include <dt-bindings/soc/imx_rsrc.h> | 18 | #include <dt-bindings/soc/imx_rsrc.h> |
19 | #include <linux/errno.h> | 19 | #include <common.h> |
20 | 20 | ||
21 | static inline int sc_err_to_linux(sc_err_t err) | 21 | static inline int sc_err_to_linux(sc_err_t err) |
22 | { | 22 | { |
23 | int ret; | 23 | int ret; |
24 | 24 | ||
25 | switch (err) { | 25 | switch (err) { |
26 | case SC_ERR_NONE: | 26 | case SC_ERR_NONE: |
27 | return 0; | 27 | return 0; |
28 | case SC_ERR_VERSION: | 28 | case SC_ERR_VERSION: |
29 | case SC_ERR_CONFIG: | 29 | case SC_ERR_CONFIG: |
30 | case SC_ERR_PARM: | 30 | case SC_ERR_PARM: |
31 | ret = -EINVAL; | 31 | ret = -EINVAL; |
32 | break; | 32 | break; |
33 | case SC_ERR_NOACCESS: | 33 | case SC_ERR_NOACCESS: |
34 | case SC_ERR_LOCKED: | 34 | case SC_ERR_LOCKED: |
35 | case SC_ERR_UNAVAILABLE: | 35 | case SC_ERR_UNAVAILABLE: |
36 | ret = -EACCES; | 36 | ret = -EACCES; |
37 | break; | 37 | break; |
38 | case SC_ERR_NOTFOUND: | 38 | case SC_ERR_NOTFOUND: |
39 | case SC_ERR_NOPOWER: | 39 | case SC_ERR_NOPOWER: |
40 | ret = -ENODEV; | 40 | ret = -ENODEV; |
41 | break; | 41 | break; |
42 | case SC_ERR_IPC: | 42 | case SC_ERR_IPC: |
43 | ret = -EIO; | 43 | ret = -EIO; |
44 | break; | 44 | break; |
45 | case SC_ERR_BUSY: | 45 | case SC_ERR_BUSY: |
46 | ret = -EBUSY; | 46 | ret = -EBUSY; |
47 | break; | 47 | break; |
48 | case SC_ERR_FAIL: | 48 | case SC_ERR_FAIL: |
49 | ret = -EIO; | 49 | ret = -EIO; |
50 | break; | 50 | break; |
51 | default: | 51 | default: |
52 | ret = 0; | 52 | ret = 0; |
53 | break; | 53 | break; |
54 | } | 54 | } |
55 | 55 | ||
56 | debug("%s %d %d\n", __func__, err, ret); | 56 | debug("%s %d %d\n", __func__, err, ret); |
57 | 57 | ||
58 | return ret; | 58 | return ret; |
59 | } | 59 | } |
60 | 60 | ||
61 | /* PM API*/ | 61 | /* PM API*/ |
62 | int sc_pm_set_resource_power_mode(sc_ipc_t ipc, sc_rsrc_t resource, | 62 | int sc_pm_set_resource_power_mode(sc_ipc_t ipc, sc_rsrc_t resource, |
63 | sc_pm_power_mode_t mode); | 63 | sc_pm_power_mode_t mode); |
64 | int sc_pm_get_resource_power_mode(sc_ipc_t ipc, sc_rsrc_t resource, | 64 | int sc_pm_get_resource_power_mode(sc_ipc_t ipc, sc_rsrc_t resource, |
65 | sc_pm_power_mode_t *mode); | 65 | sc_pm_power_mode_t *mode); |
66 | int sc_pm_set_clock_rate(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_clk_t clk, | 66 | int sc_pm_set_clock_rate(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_clk_t clk, |
67 | sc_pm_clock_rate_t *rate); | 67 | sc_pm_clock_rate_t *rate); |
68 | int sc_pm_get_clock_rate(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_clk_t clk, | 68 | int sc_pm_get_clock_rate(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_clk_t clk, |
69 | sc_pm_clock_rate_t *rate); | 69 | sc_pm_clock_rate_t *rate); |
70 | int sc_pm_clock_enable(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_clk_t clk, | 70 | int sc_pm_clock_enable(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_clk_t clk, |
71 | sc_bool_t enable, sc_bool_t autog); | 71 | sc_bool_t enable, sc_bool_t autog); |
72 | int sc_pm_set_clock_parent(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_clk_t clk, | 72 | int sc_pm_set_clock_parent(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_clk_t clk, |
73 | sc_pm_clk_parent_t parent); | 73 | sc_pm_clk_parent_t parent); |
74 | int sc_pm_cpu_start(sc_ipc_t ipc, sc_rsrc_t resource, sc_bool_t enable, | 74 | int sc_pm_cpu_start(sc_ipc_t ipc, sc_rsrc_t resource, sc_bool_t enable, |
75 | sc_faddr_t address); | 75 | sc_faddr_t address); |
76 | void sc_pm_reboot(sc_ipc_t ipc, sc_pm_reset_type_t type); | 76 | void sc_pm_reboot(sc_ipc_t ipc, sc_pm_reset_type_t type); |
77 | sc_bool_t sc_pm_is_partition_started(sc_ipc_t ipc, sc_rm_pt_t pt); | 77 | sc_bool_t sc_pm_is_partition_started(sc_ipc_t ipc, sc_rm_pt_t pt); |
78 | int sc_pm_resource_reset(sc_ipc_t ipc, sc_rsrc_t resource); | 78 | int sc_pm_resource_reset(sc_ipc_t ipc, sc_rsrc_t resource); |
79 | 79 | ||
80 | /* MISC API */ | 80 | /* MISC API */ |
81 | int sc_misc_set_control(sc_ipc_t ipc, sc_rsrc_t resource, | 81 | int sc_misc_set_control(sc_ipc_t ipc, sc_rsrc_t resource, |
82 | sc_ctrl_t ctrl, u32 val); | 82 | sc_ctrl_t ctrl, u32 val); |
83 | int sc_misc_get_control(sc_ipc_t ipc, sc_rsrc_t resource, sc_ctrl_t ctrl, | 83 | int sc_misc_get_control(sc_ipc_t ipc, sc_rsrc_t resource, sc_ctrl_t ctrl, |
84 | u32 *val); | 84 | u32 *val); |
85 | void sc_misc_get_boot_dev(sc_ipc_t ipc, sc_rsrc_t *boot_dev); | 85 | void sc_misc_get_boot_dev(sc_ipc_t ipc, sc_rsrc_t *boot_dev); |
86 | void sc_misc_boot_status(sc_ipc_t ipc, sc_misc_boot_status_t status); | 86 | void sc_misc_boot_status(sc_ipc_t ipc, sc_misc_boot_status_t status); |
87 | void sc_misc_build_info(sc_ipc_t ipc, u32 *build, u32 *commit); | 87 | void sc_misc_build_info(sc_ipc_t ipc, u32 *build, u32 *commit); |
88 | int sc_misc_otp_fuse_read(sc_ipc_t ipc, u32 word, u32 *val); | 88 | int sc_misc_otp_fuse_read(sc_ipc_t ipc, u32 word, u32 *val); |
89 | int sc_misc_get_temp(sc_ipc_t ipc, sc_rsrc_t resource, sc_misc_temp_t temp, | 89 | int sc_misc_get_temp(sc_ipc_t ipc, sc_rsrc_t resource, sc_misc_temp_t temp, |
90 | s16 *celsius, s8 *tenths); | 90 | s16 *celsius, s8 *tenths); |
91 | void sc_misc_get_button_status(sc_ipc_t ipc, sc_bool_t *status); | 91 | void sc_misc_get_button_status(sc_ipc_t ipc, sc_bool_t *status); |
92 | 92 | ||
93 | /* RM API */ | 93 | /* RM API */ |
94 | sc_bool_t sc_rm_is_memreg_owned(sc_ipc_t ipc, sc_rm_mr_t mr); | 94 | sc_bool_t sc_rm_is_memreg_owned(sc_ipc_t ipc, sc_rm_mr_t mr); |
95 | int sc_rm_find_memreg(sc_ipc_t ipc, sc_rm_mr_t *mr, sc_faddr_t addr_start, | 95 | int sc_rm_find_memreg(sc_ipc_t ipc, sc_rm_mr_t *mr, sc_faddr_t addr_start, |
96 | sc_faddr_t addr_end); | 96 | sc_faddr_t addr_end); |
97 | int sc_rm_set_memreg_permissions(sc_ipc_t ipc, sc_rm_mr_t mr, | 97 | int sc_rm_set_memreg_permissions(sc_ipc_t ipc, sc_rm_mr_t mr, |
98 | sc_rm_pt_t pt, sc_rm_perm_t perm); | 98 | sc_rm_pt_t pt, sc_rm_perm_t perm); |
99 | int sc_rm_get_memreg_info(sc_ipc_t ipc, sc_rm_mr_t mr, sc_faddr_t *addr_start, | 99 | int sc_rm_get_memreg_info(sc_ipc_t ipc, sc_rm_mr_t mr, sc_faddr_t *addr_start, |
100 | sc_faddr_t *addr_end); | 100 | sc_faddr_t *addr_end); |
101 | sc_bool_t sc_rm_is_resource_owned(sc_ipc_t ipc, sc_rsrc_t resource); | 101 | sc_bool_t sc_rm_is_resource_owned(sc_ipc_t ipc, sc_rsrc_t resource); |
102 | int sc_rm_partition_alloc(sc_ipc_t ipc, sc_rm_pt_t *pt, sc_bool_t secure, | 102 | int sc_rm_partition_alloc(sc_ipc_t ipc, sc_rm_pt_t *pt, sc_bool_t secure, |
103 | sc_bool_t isolated, sc_bool_t restricted, | 103 | sc_bool_t isolated, sc_bool_t restricted, |
104 | sc_bool_t grant, sc_bool_t coherent); | 104 | sc_bool_t grant, sc_bool_t coherent); |
105 | int sc_rm_partition_free(sc_ipc_t ipc, sc_rm_pt_t pt); | 105 | int sc_rm_partition_free(sc_ipc_t ipc, sc_rm_pt_t pt); |
106 | int sc_rm_get_partition(sc_ipc_t ipc, sc_rm_pt_t *pt); | 106 | int sc_rm_get_partition(sc_ipc_t ipc, sc_rm_pt_t *pt); |
107 | int sc_rm_set_parent(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rm_pt_t pt_parent); | 107 | int sc_rm_set_parent(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rm_pt_t pt_parent); |
108 | int sc_rm_assign_resource(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rsrc_t resource); | 108 | int sc_rm_assign_resource(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rsrc_t resource); |
109 | int sc_rm_assign_pad(sc_ipc_t ipc, sc_rm_pt_t pt, sc_pad_t pad); | 109 | int sc_rm_assign_pad(sc_ipc_t ipc, sc_rm_pt_t pt, sc_pad_t pad); |
110 | sc_bool_t sc_rm_is_pad_owned(sc_ipc_t ipc, sc_pad_t pad); | 110 | sc_bool_t sc_rm_is_pad_owned(sc_ipc_t ipc, sc_pad_t pad); |
111 | int sc_rm_get_resource_owner(sc_ipc_t ipc, sc_rsrc_t resource, | 111 | int sc_rm_get_resource_owner(sc_ipc_t ipc, sc_rsrc_t resource, |
112 | sc_rm_pt_t *pt); | 112 | sc_rm_pt_t *pt); |
113 | 113 | ||
114 | /* PAD API */ | 114 | /* PAD API */ |
115 | int sc_pad_set(sc_ipc_t ipc, sc_pad_t pad, u32 val); | 115 | int sc_pad_set(sc_ipc_t ipc, sc_pad_t pad, u32 val); |
116 | int sc_pad_get(sc_ipc_t ipc, sc_pad_t pad, uint32_t *val); | 116 | int sc_pad_get(sc_ipc_t ipc, sc_pad_t pad, uint32_t *val); |
117 | 117 | ||
118 | /* SMMU API */ | 118 | /* SMMU API */ |
119 | int sc_rm_set_master_sid(sc_ipc_t ipc, sc_rsrc_t resource, sc_rm_sid_t sid); | 119 | int sc_rm_set_master_sid(sc_ipc_t ipc, sc_rsrc_t resource, sc_rm_sid_t sid); |
120 | 120 | ||
121 | /* Timer API */ | 121 | /* Timer API */ |
122 | int sc_timer_set_wdog_window(sc_ipc_t ipc, sc_timer_wdog_time_t window); | 122 | int sc_timer_set_wdog_window(sc_ipc_t ipc, sc_timer_wdog_time_t window); |
123 | 123 | ||
124 | /* SECO API */ | 124 | /* SECO API */ |
125 | int sc_seco_authenticate(sc_ipc_t ipc, sc_seco_auth_cmd_t cmd, | 125 | int sc_seco_authenticate(sc_ipc_t ipc, sc_seco_auth_cmd_t cmd, |
126 | sc_faddr_t addr); | 126 | sc_faddr_t addr); |
127 | int sc_seco_forward_lifecycle(sc_ipc_t ipc, u32 change); | 127 | int sc_seco_forward_lifecycle(sc_ipc_t ipc, u32 change); |
128 | int sc_seco_chip_info(sc_ipc_t ipc, u16 *lc, u16 *monotonic, u32 *uid_l, | 128 | int sc_seco_chip_info(sc_ipc_t ipc, u16 *lc, u16 *monotonic, u32 *uid_l, |
129 | u32 *uid_h); | 129 | u32 *uid_h); |
130 | void sc_seco_build_info(sc_ipc_t ipc, u32 *version, u32 *commit); | 130 | void sc_seco_build_info(sc_ipc_t ipc, u32 *version, u32 *commit); |
131 | int sc_seco_get_event(sc_ipc_t ipc, u8 idx, u32 *event); | 131 | int sc_seco_get_event(sc_ipc_t ipc, u8 idx, u32 *event); |
132 | int sc_seco_gen_key_blob(sc_ipc_t ipc, u32 id, sc_faddr_t load_addr, | 132 | int sc_seco_gen_key_blob(sc_ipc_t ipc, u32 id, sc_faddr_t load_addr, |
133 | sc_faddr_t export_addr, u16 max_size); | 133 | sc_faddr_t export_addr, u16 max_size); |
134 | int sc_seco_get_mp_key(sc_ipc_t ipc, sc_faddr_t dst_addr, | 134 | int sc_seco_get_mp_key(sc_ipc_t ipc, sc_faddr_t dst_addr, |
135 | u16 dst_size); | 135 | u16 dst_size); |
136 | int sc_seco_update_mpmr(sc_ipc_t ipc, sc_faddr_t addr, | 136 | int sc_seco_update_mpmr(sc_ipc_t ipc, sc_faddr_t addr, |
137 | u8 size, u8 lock); | 137 | u8 size, u8 lock); |
138 | int sc_seco_get_mp_sign(sc_ipc_t ipc, sc_faddr_t msg_addr, | 138 | int sc_seco_get_mp_sign(sc_ipc_t ipc, sc_faddr_t msg_addr, |
139 | u16 msg_size, sc_faddr_t dst_addr, u16 dst_size); | 139 | u16 msg_size, sc_faddr_t dst_addr, u16 dst_size); |
140 | int sc_seco_secvio_config(sc_ipc_t ipc, u8 id, u8 access, | 140 | int sc_seco_secvio_config(sc_ipc_t ipc, u8 id, u8 access, |
141 | u32 *data0, u32 *data1, u32 *data2, u32 *data3, | 141 | u32 *data0, u32 *data1, u32 *data2, u32 *data3, |
142 | u32 *data4, u8 size); | 142 | u32 *data4, u8 size); |
143 | int sc_seco_secvio_dgo_config(sc_ipc_t ipc, u8 id, u8 access, | 143 | int sc_seco_secvio_dgo_config(sc_ipc_t ipc, u8 id, u8 access, |
144 | u32 *data); | 144 | u32 *data); |
145 | 145 | ||
146 | #endif | 146 | #endif |
147 | 147 |