mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 00:11:51 +01:00 
			
		
		
		
	Existing MC driver framework is based on MC-9.x.x flib. This patch migrates MC obj (DPBP, DPNI, DPRC, DPMAC etc) to use latest MC flib which is MC-10.3.0. Changes introduced due to migration: 1. To get OBJ token, pair of create and open API replaces create APIs 2. Pair of close and destroy APIs replaces destroy APIs 3. For version read, get_version APIs replaces get_attributes APIs 4. dpni_get/reset_statistics APIs replaces dpni_get/set_counter APIs 5. Simplifies struct dpni_cfg and removes dpni_extended_cfg struct 6. Single API dpni_get_buffer_layout/set_buffer_layout replaces dpni_get_rx/set_rx, tx related, tx_conf_buffer_layout related APIs. New API takes a queue type as an argument. 7. Similarly dpni_get_queue/set_queue replaces dpni_get_rx_flow/set_rx_flow , tx_flow related, tx_conf related APIs Signed-off-by: Yogesh Gaur <yogeshnarayan.gaur@nxp.com> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (C) 2014-2016 Freescale Semiconductor
 | |
|  * Copyright 2017 NXP
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #ifndef _FSL_MC_PRIVATE_H_
 | |
| #define _FSL_MC_PRIVATE_H_
 | |
| 
 | |
| #include <errno.h>
 | |
| #include <malloc.h>
 | |
| #include <asm/io.h>
 | |
| #include <linux/compat.h>
 | |
| #include <linux/types.h>
 | |
| #include <linux/stringify.h>
 | |
| #include <phy.h>
 | |
| 
 | |
| #include <fsl-mc/fsl_mc_sys.h>
 | |
| #include <fsl-mc/fsl_mc_cmd.h>
 | |
| #include <fsl-mc/fsl_dprc.h>
 | |
| #include <fsl-mc/fsl_dpbp.h>
 | |
| #include <fsl-mc/fsl_dpni.h>
 | |
| 
 | |
| extern struct fsl_mc_io *dflt_mc_io;
 | |
| 
 | |
| /**
 | |
|  * struct dpbp_node - DPBP strucuture
 | |
|  * @uint16_t handle: DPBP object handle
 | |
|  * @struct dpbp_attr: DPBP attribute
 | |
|  */
 | |
| struct fsl_dpbp_obj {
 | |
| 	uint32_t dpbp_id;
 | |
| 	uint16_t dpbp_handle;
 | |
| 	struct dpbp_attr dpbp_attr;
 | |
| };
 | |
| 
 | |
| extern struct fsl_dpbp_obj *dflt_dpbp;
 | |
| 
 | |
| /**
 | |
|  * struct fsl_dpio_obj - DPIO strucuture
 | |
|  * @int dpio_id: DPIO id
 | |
|  * @struct qbman_swp *sw_portal: SW portal object
 | |
|  */
 | |
| struct fsl_dpio_obj {
 | |
| 	uint32_t dpio_id;
 | |
| 	uint16_t dpio_handle;
 | |
| 	struct qbman_swp *sw_portal; /** SW portal object */
 | |
| };
 | |
| 
 | |
| extern struct fsl_dpio_obj *dflt_dpio;
 | |
| 
 | |
| /**
 | |
|  * struct dpni_node - DPNI strucuture
 | |
|  * @int dpni_id: DPNI id
 | |
|  * @uint16_t handle: DPNI object handle
 | |
|  * @struct dpni_attr: DPNI attributes
 | |
|  * @struct dpni_buffer_layout: DPNI buffer layout
 | |
|  */
 | |
| struct fsl_dpni_obj {
 | |
| 	uint32_t dpni_id;
 | |
| 	uint16_t dpni_handle;
 | |
| 	struct dpni_attr dpni_attrs;
 | |
| 	struct dpni_buffer_layout buf_layout;
 | |
| };
 | |
| 
 | |
| extern struct fsl_dpni_obj *dflt_dpni;
 | |
| 
 | |
| int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr);
 | |
| int ldpaa_eth_init(int dpmac_id, phy_interface_t enet_if);
 | |
| int mc_apply_dpl(u64 mc_dpl_addr);
 | |
| #endif /* _FSL_MC_PRIVATE_H_ */
 |