
[...snip..]
/** diff --git a/drivers/firmware/ti_sci.h b/drivers/firmware/ti_sci.h index 81591fb0c7..2c92f475ed 100644 --- a/drivers/firmware/ti_sci.h +++ b/drivers/firmware/ti_sci.h @@ -50,6 +50,10 @@ #define TISCI_MSG_PROC_AUTH_BOOT_IMIAGE 0xc120 #define TISCI_MSG_GET_PROC_BOOT_STATUS 0xc400
+#define TISCI_MSG_FWL_SET 0x9000 +#define TISCI_MSG_FWL_GET 0x9001 +#define TISCI_MSG_FWL_CHANGE_OWNER 0x9002
/**
- struct ti_sci_msg_hdr - Generic Message Header for All messages and responses
- @type: Type of messages: One of TI_SCI_MSG* values
@@ -677,4 +681,130 @@ struct ti_sci_msg_resp_get_proc_boot_status { u32 status_flags; } __packed;
+#define FWL_MAX_PRIVID_SLOTS 3U
+/**
- struct ti_sci_msg_fwl_set_firewall_region_req - Request for configuring the firewall permissions.
- @hdr: Generic Header
- @fwl_id: Firewall ID in question
- @region: Region or channel number to set config info
This field is unused in case of a simple firewall and must be initialized
to zero. In case of a region based firewall, this field indicates the
region in question. (index starting from 0) In case of a channel based
firewall, this field indicates the channel in question (index starting
from 0)
- @n_permission_regs: Number of permission registers to set
- @control: Contents of the firewall CONTROL register to set
- @permissions: Contents of the firewall PERMISSION register to set
- @start_address: Contents of the firewall START_ADDRESS register to set
- @end_address: Contents of the firewall END_ADDRESS register to set
- */
+struct ti_sci_msg_fwl_set_firewall_region_req {
- struct ti_sci_msg_hdr hdr;
- u16 fwl_id;
- u16 region;
- u32 n_permission_regs;
- u32 control;
- u32 permissions[FWL_MAX_PRIVID_SLOTS];
- u64 start_address;
- u64 end_address;
+} __packed;
+/**
- struct ti_sci_msg_fwl_set_firewall_region_resp - Response for configuring the firewall permissions
- @hdr: Generic Header
- */
+struct ti_sci_msg_fwl_set_firewall_region_resp {
- struct ti_sci_msg_hdr hdr;
+} __packed;
If it is just the header then you can drop this structure. Use the header directly in the commands.
Thanks and regards, Lokesh