Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
8f74c884
Commit
8f74c884
authored
Feb 28, 2020
by
Sandrine Bailleux
Committed by
TrustedFirmware Code Review
Feb 28, 2020
Browse files
Merge "intel: Fix argument type for mailbox driver" into integration
parents
562abecf
ea9b9627
Changes
4
Show whitespace changes
Inline
Side-by-side
plat/intel/soc/common/include/socfpga_mailbox.h
View file @
8f74c884
...
@@ -126,9 +126,9 @@ int mailbox_init(void);
...
@@ -126,9 +126,9 @@ int mailbox_init(void);
void
mailbox_set_qspi_close
(
void
);
void
mailbox_set_qspi_close
(
void
);
void
mailbox_set_qspi_open
(
void
);
void
mailbox_set_qspi_open
(
void
);
void
mailbox_set_qspi_direct
(
void
);
void
mailbox_set_qspi_direct
(
void
);
int
mailbox_send_cmd
(
int
job_id
,
unsigned
int
cmd
,
uint
64
_t
*
args
,
int
mailbox_send_cmd
(
int
job_id
,
unsigned
int
cmd
,
uint
32
_t
*
args
,
int
len
,
int
urgent
,
uint32_t
*
response
,
int
resp_len
);
int
len
,
int
urgent
,
uint32_t
*
response
,
int
resp_len
);
int
mailbox_send_cmd_async
(
int
job_id
,
unsigned
int
cmd
,
uint
64
_t
*
args
,
int
mailbox_send_cmd_async
(
int
job_id
,
unsigned
int
cmd
,
uint
32
_t
*
args
,
int
len
,
int
urgent
);
int
len
,
int
urgent
);
int
mailbox_read_response
(
int
job_id
,
uint32_t
*
response
,
int
resp_len
);
int
mailbox_read_response
(
int
job_id
,
uint32_t
*
response
,
int
resp_len
);
int
mailbox_get_qspi_clock
(
void
);
int
mailbox_get_qspi_clock
(
void
);
...
@@ -140,7 +140,7 @@ int intel_mailbox_is_fpga_not_ready(void);
...
@@ -140,7 +140,7 @@ int intel_mailbox_is_fpga_not_ready(void);
int
mailbox_rsu_get_spt_offset
(
uint32_t
*
resp_buf
,
uint32_t
resp_buf_len
);
int
mailbox_rsu_get_spt_offset
(
uint32_t
*
resp_buf
,
uint32_t
resp_buf_len
);
int
mailbox_rsu_status
(
uint32_t
*
resp_buf
,
uint32_t
resp_buf_len
);
int
mailbox_rsu_status
(
uint32_t
*
resp_buf
,
uint32_t
resp_buf_len
);
int
mailbox_rsu_update
(
uint
64
_t
*
flash_offset
);
int
mailbox_rsu_update
(
uint
32
_t
*
flash_offset
);
int
mailbox_hps_stage_notify
(
uint
64
_t
execution_stage
);
int
mailbox_hps_stage_notify
(
uint
32
_t
execution_stage
);
#endif
/* SOCFPGA_MBOX_H */
#endif
/* SOCFPGA_MBOX_H */
plat/intel/soc/common/soc/socfpga_mailbox.c
View file @
8f74c884
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
#include "socfpga_mailbox.h"
#include "socfpga_mailbox.h"
#include "socfpga_sip_svc.h"
#include "socfpga_sip_svc.h"
static
int
fill_mailbox_circular_buffer
(
uint32_t
header_cmd
,
uint
64
_t
*
args
,
static
int
fill_mailbox_circular_buffer
(
uint32_t
header_cmd
,
uint
32
_t
*
args
,
int
len
)
int
len
)
{
{
uint32_t
cmd_free_offset
;
uint32_t
cmd_free_offset
;
...
@@ -167,7 +167,7 @@ int mailbox_poll_response(int job_id, int urgent, uint32_t *response,
...
@@ -167,7 +167,7 @@ int mailbox_poll_response(int job_id, int urgent, uint32_t *response,
}
}
}
}
int
mailbox_send_cmd_async
(
int
job_id
,
unsigned
int
cmd
,
uint
64
_t
*
args
,
int
mailbox_send_cmd_async
(
int
job_id
,
unsigned
int
cmd
,
uint
32
_t
*
args
,
int
len
,
int
urgent
)
int
len
,
int
urgent
)
{
{
if
(
urgent
)
if
(
urgent
)
...
@@ -184,7 +184,7 @@ int mailbox_send_cmd_async(int job_id, unsigned int cmd, uint64_t *args,
...
@@ -184,7 +184,7 @@ int mailbox_send_cmd_async(int job_id, unsigned int cmd, uint64_t *args,
return
0
;
return
0
;
}
}
int
mailbox_send_cmd
(
int
job_id
,
unsigned
int
cmd
,
uint
64
_t
*
args
,
int
mailbox_send_cmd
(
int
job_id
,
unsigned
int
cmd
,
uint
32
_t
*
args
,
int
len
,
int
urgent
,
uint32_t
*
response
,
int
resp_len
)
int
len
,
int
urgent
,
uint32_t
*
response
,
int
resp_len
)
{
{
int
status
=
0
;
int
status
=
0
;
...
@@ -252,7 +252,7 @@ int mailbox_get_qspi_clock(void)
...
@@ -252,7 +252,7 @@ int mailbox_get_qspi_clock(void)
void
mailbox_qspi_set_cs
(
int
device_select
)
void
mailbox_qspi_set_cs
(
int
device_select
)
{
{
uint
64
_t
cs_setting
=
device_select
;
uint
32
_t
cs_setting
=
device_select
;
/* QSPI device select settings at 31:28 */
/* QSPI device select settings at 31:28 */
cs_setting
=
(
cs_setting
<<
28
);
cs_setting
=
(
cs_setting
<<
28
);
...
@@ -304,13 +304,13 @@ int mailbox_rsu_status(uint32_t *resp_buf, uint32_t resp_buf_len)
...
@@ -304,13 +304,13 @@ int mailbox_rsu_status(uint32_t *resp_buf, uint32_t resp_buf_len)
return
ret
;
return
ret
;
}
}
int
mailbox_rsu_update
(
uint
64
_t
*
flash_offset
)
int
mailbox_rsu_update
(
uint
32
_t
*
flash_offset
)
{
{
return
mailbox_send_cmd
(
MBOX_JOB_ID
,
MBOX_RSU_UPDATE
,
return
mailbox_send_cmd
(
MBOX_JOB_ID
,
MBOX_RSU_UPDATE
,
flash_offset
,
2
,
0
,
NULL
,
0
);
flash_offset
,
2
,
0
,
NULL
,
0
);
}
}
int
mailbox_hps_stage_notify
(
uint
64
_t
execution_stage
)
int
mailbox_hps_stage_notify
(
uint
32
_t
execution_stage
)
{
{
return
mailbox_send_cmd
(
MBOX_JOB_ID
,
MBOX_HPS_STAGE_NOTIFY
,
return
mailbox_send_cmd
(
MBOX_JOB_ID
,
MBOX_HPS_STAGE_NOTIFY
,
&
execution_stage
,
1
,
0
,
NULL
,
0
);
&
execution_stage
,
1
,
0
,
NULL
,
0
);
...
...
plat/intel/soc/common/socfpga_psci.c
View file @
8f74c884
...
@@ -134,8 +134,13 @@ extern uint64_t intel_rsu_update_address;
...
@@ -134,8 +134,13 @@ extern uint64_t intel_rsu_update_address;
static
void
__dead2
socfpga_system_reset
(
void
)
static
void
__dead2
socfpga_system_reset
(
void
)
{
{
uint32_t
addr_buf
[
2
];
memcpy
(
addr_buf
,
&
intel_rsu_update_address
,
sizeof
(
intel_rsu_update_address
));
if
(
intel_rsu_update_address
)
if
(
intel_rsu_update_address
)
mailbox_rsu_update
(
&
intel_rsu_update_address
);
mailbox_rsu_update
(
addr_buf
);
else
else
mailbox_reset_cold
();
mailbox_reset_cold
();
...
...
plat/intel/soc/common/socfpga_sip_svc.c
View file @
8f74c884
...
@@ -61,7 +61,7 @@ struct fpga_config_info fpga_config_buffers[FPGA_CONFIG_BUFFER_SIZE];
...
@@ -61,7 +61,7 @@ struct fpga_config_info fpga_config_buffers[FPGA_CONFIG_BUFFER_SIZE];
static
int
intel_fpga_sdm_write_buffer
(
struct
fpga_config_info
*
buffer
)
static
int
intel_fpga_sdm_write_buffer
(
struct
fpga_config_info
*
buffer
)
{
{
uint
64
_t
args
[
3
];
uint
32
_t
args
[
3
];
while
(
max_blocks
>
0
&&
buffer
->
size
>
buffer
->
size_written
)
{
while
(
max_blocks
>
0
&&
buffer
->
size
>
buffer
->
size_written
)
{
args
[
0
]
=
(
1
<<
8
);
args
[
0
]
=
(
1
<<
8
);
...
@@ -385,7 +385,7 @@ static uint32_t intel_rsu_update(uint64_t update_address)
...
@@ -385,7 +385,7 @@ static uint32_t intel_rsu_update(uint64_t update_address)
return
INTEL_SIP_SMC_STATUS_OK
;
return
INTEL_SIP_SMC_STATUS_OK
;
}
}
static
uint32_t
intel_rsu_notify
(
uint
64
_t
execution_stage
)
static
uint32_t
intel_rsu_notify
(
uint
32
_t
execution_stage
)
{
{
if
(
mailbox_hps_stage_notify
(
execution_stage
)
<
0
)
if
(
mailbox_hps_stage_notify
(
execution_stage
)
<
0
)
return
INTEL_SIP_SMC_RSU_ERROR
;
return
INTEL_SIP_SMC_RSU_ERROR
;
...
@@ -404,7 +404,7 @@ static uint32_t intel_rsu_retry_counter(uint32_t *respbuf, uint32_t respbuf_sz,
...
@@ -404,7 +404,7 @@ static uint32_t intel_rsu_retry_counter(uint32_t *respbuf, uint32_t respbuf_sz,
}
}
/* Mailbox services */
/* Mailbox services */
static
uint32_t
intel_mbox_send_cmd
(
uint32_t
cmd
,
uint
64
_t
*
args
,
int
len
,
static
uint32_t
intel_mbox_send_cmd
(
uint32_t
cmd
,
uint
32
_t
*
args
,
int
len
,
int
urgent
,
uint32_t
*
response
,
int
urgent
,
uint32_t
*
response
,
int
resp_len
,
int
*
mbox_status
,
int
resp_len
,
int
*
mbox_status
,
int
*
len_in_resp
)
int
*
len_in_resp
)
...
@@ -542,7 +542,7 @@ uintptr_t sip_smc_handler(uint32_t smc_fid,
...
@@ -542,7 +542,7 @@ uintptr_t sip_smc_handler(uint32_t smc_fid,
case
INTEL_SIP_SMC_MBOX_SEND_CMD
:
case
INTEL_SIP_SMC_MBOX_SEND_CMD
:
x5
=
SMC_GET_GP
(
handle
,
CTX_GPREG_X5
);
x5
=
SMC_GET_GP
(
handle
,
CTX_GPREG_X5
);
x6
=
SMC_GET_GP
(
handle
,
CTX_GPREG_X6
);
x6
=
SMC_GET_GP
(
handle
,
CTX_GPREG_X6
);
status
=
intel_mbox_send_cmd
(
x1
,
(
uint
64
_t
*
)
x2
,
x3
,
x4
,
status
=
intel_mbox_send_cmd
(
x1
,
(
uint
32
_t
*
)
x2
,
x3
,
x4
,
(
uint32_t
*
)
x5
,
x6
,
&
mbox_status
,
(
uint32_t
*
)
x5
,
x6
,
&
mbox_status
,
&
len_in_resp
);
&
len_in_resp
);
SMC_RET4
(
handle
,
status
,
mbox_status
,
x5
,
len_in_resp
);
SMC_RET4
(
handle
,
status
,
mbox_status
,
x5
,
len_in_resp
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment