1 /* SPDX-License-Identifier: GPL-2.0 */ 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 2 /* 3 * 3 * 4 * Microchip PolarFire SoC (MPFS) 4 * Microchip PolarFire SoC (MPFS) 5 * 5 * 6 * Copyright (c) 2020 Microchip Corporation. A 6 * Copyright (c) 2020 Microchip Corporation. All rights reserved. 7 * 7 * 8 * Author: Conor Dooley <conor.dooley@microchi 8 * Author: Conor Dooley <conor.dooley@microchip.com> 9 * 9 * 10 */ 10 */ 11 11 12 #ifndef __SOC_MPFS_H__ 12 #ifndef __SOC_MPFS_H__ 13 #define __SOC_MPFS_H__ 13 #define __SOC_MPFS_H__ 14 14 15 #include <linux/types.h> 15 #include <linux/types.h> 16 #include <linux/of_device.h> 16 #include <linux/of_device.h> 17 17 18 struct mpfs_sys_controller; 18 struct mpfs_sys_controller; 19 19 20 struct mpfs_mss_msg { 20 struct mpfs_mss_msg { 21 u8 cmd_opcode; 21 u8 cmd_opcode; 22 u16 cmd_data_size; 22 u16 cmd_data_size; 23 struct mpfs_mss_response *response; 23 struct mpfs_mss_response *response; 24 u8 *cmd_data; 24 u8 *cmd_data; 25 u16 mbox_offset; 25 u16 mbox_offset; 26 u16 resp_offset; 26 u16 resp_offset; 27 }; 27 }; 28 28 29 struct mpfs_mss_response { 29 struct mpfs_mss_response { 30 u32 resp_status; 30 u32 resp_status; 31 u32 *resp_msg; 31 u32 *resp_msg; 32 u16 resp_size; 32 u16 resp_size; 33 }; 33 }; 34 34 35 #if IS_ENABLED(CONFIG_POLARFIRE_SOC_SYS_CTRL) 35 #if IS_ENABLED(CONFIG_POLARFIRE_SOC_SYS_CTRL) 36 36 37 int mpfs_blocking_transaction(struct mpfs_sys_ 37 int mpfs_blocking_transaction(struct mpfs_sys_controller *mpfs_client, struct mpfs_mss_msg *msg); 38 38 39 struct mpfs_sys_controller *mpfs_sys_controlle 39 struct mpfs_sys_controller *mpfs_sys_controller_get(struct device *dev); 40 40 41 struct mtd_info *mpfs_sys_controller_get_flash << 42 << 43 #endif /* if IS_ENABLED(CONFIG_POLARFIRE_SOC_S 41 #endif /* if IS_ENABLED(CONFIG_POLARFIRE_SOC_SYS_CTRL) */ 44 << 45 #if IS_ENABLED(CONFIG_MCHP_CLK_MPFS) << 46 #if IS_ENABLED(CONFIG_RESET_POLARFIRE_SOC) << 47 int mpfs_reset_controller_register(struct devi << 48 #else << 49 static inline int mpfs_reset_controller_regist << 50 #endif /* if IS_ENABLED(CONFIG_RESET_POLARFIRE << 51 #endif /* if IS_ENABLED(CONFIG_MCHP_CLK_MPFS) << 52 42 53 #endif /* __SOC_MPFS_H__ */ 43 #endif /* __SOC_MPFS_H__ */ 54 44
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.