[U-Boot] [PATCH 2/7] firmware: ti_sci: Add support for firewall management
Lokesh Vutla
lokeshvutla at ti.com
Thu Feb 14 03:43:18 UTC 2019
[...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
More information about the U-Boot
mailing list