162306a36Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2013-2016 Freescale Semiconductor Inc. 462306a36Sopenharmony_ci * Copyright 2016 NXP 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci#ifndef _FSL_DPIO_CMD_H 862306a36Sopenharmony_ci#define _FSL_DPIO_CMD_H 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/* DPIO Version */ 1162306a36Sopenharmony_ci#define DPIO_VER_MAJOR 4 1262306a36Sopenharmony_ci#define DPIO_VER_MINOR 2 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/* Command Versioning */ 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci#define DPIO_CMD_ID_OFFSET 4 1762306a36Sopenharmony_ci#define DPIO_CMD_BASE_VERSION 1 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#define DPIO_CMD(id) (((id) << DPIO_CMD_ID_OFFSET) | DPIO_CMD_BASE_VERSION) 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci/* Command IDs */ 2262306a36Sopenharmony_ci#define DPIO_CMDID_CLOSE DPIO_CMD(0x800) 2362306a36Sopenharmony_ci#define DPIO_CMDID_OPEN DPIO_CMD(0x803) 2462306a36Sopenharmony_ci#define DPIO_CMDID_GET_API_VERSION DPIO_CMD(0xa03) 2562306a36Sopenharmony_ci#define DPIO_CMDID_ENABLE DPIO_CMD(0x002) 2662306a36Sopenharmony_ci#define DPIO_CMDID_DISABLE DPIO_CMD(0x003) 2762306a36Sopenharmony_ci#define DPIO_CMDID_GET_ATTR DPIO_CMD(0x004) 2862306a36Sopenharmony_ci#define DPIO_CMDID_RESET DPIO_CMD(0x005) 2962306a36Sopenharmony_ci#define DPIO_CMDID_SET_STASHING_DEST DPIO_CMD(0x120) 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_cistruct dpio_cmd_open { 3262306a36Sopenharmony_ci __le32 dpio_id; 3362306a36Sopenharmony_ci}; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci#define DPIO_CHANNEL_MODE_MASK 0x3 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_cistruct dpio_rsp_get_attr { 3862306a36Sopenharmony_ci /* cmd word 0 */ 3962306a36Sopenharmony_ci __le32 id; 4062306a36Sopenharmony_ci __le16 qbman_portal_id; 4162306a36Sopenharmony_ci u8 num_priorities; 4262306a36Sopenharmony_ci u8 channel_mode; 4362306a36Sopenharmony_ci /* cmd word 1 */ 4462306a36Sopenharmony_ci __le64 qbman_portal_ce_addr; 4562306a36Sopenharmony_ci /* cmd word 2 */ 4662306a36Sopenharmony_ci __le64 qbman_portal_ci_addr; 4762306a36Sopenharmony_ci /* cmd word 3 */ 4862306a36Sopenharmony_ci __le32 qbman_version; 4962306a36Sopenharmony_ci __le32 pad1; 5062306a36Sopenharmony_ci /* cmd word 4 */ 5162306a36Sopenharmony_ci __le32 clk; 5262306a36Sopenharmony_ci}; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_cistruct dpio_stashing_dest { 5562306a36Sopenharmony_ci u8 sdest; 5662306a36Sopenharmony_ci}; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci#endif /* _FSL_DPIO_CMD_H */ 59