162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2013-2016 Freescale Semiconductor Inc. 462306a36Sopenharmony_ci * Copyright 2016-2018 NXP 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef _FSL_DPRTC_CMD_H 862306a36Sopenharmony_ci#define _FSL_DPRTC_CMD_H 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/* Command versioning */ 1162306a36Sopenharmony_ci#define DPRTC_CMD_BASE_VERSION 1 1262306a36Sopenharmony_ci#define DPRTC_CMD_VERSION_2 2 1362306a36Sopenharmony_ci#define DPRTC_CMD_ID_OFFSET 4 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#define DPRTC_CMD(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_BASE_VERSION) 1662306a36Sopenharmony_ci#define DPRTC_CMD_V2(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_VERSION_2) 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci/* Command IDs */ 1962306a36Sopenharmony_ci#define DPRTC_CMDID_CLOSE DPRTC_CMD(0x800) 2062306a36Sopenharmony_ci#define DPRTC_CMDID_OPEN DPRTC_CMD(0x810) 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci#define DPRTC_CMDID_SET_IRQ_ENABLE DPRTC_CMD(0x012) 2362306a36Sopenharmony_ci#define DPRTC_CMDID_GET_IRQ_ENABLE DPRTC_CMD(0x013) 2462306a36Sopenharmony_ci#define DPRTC_CMDID_SET_IRQ_MASK DPRTC_CMD_V2(0x014) 2562306a36Sopenharmony_ci#define DPRTC_CMDID_GET_IRQ_MASK DPRTC_CMD(0x015) 2662306a36Sopenharmony_ci#define DPRTC_CMDID_GET_IRQ_STATUS DPRTC_CMD(0x016) 2762306a36Sopenharmony_ci#define DPRTC_CMDID_CLEAR_IRQ_STATUS DPRTC_CMD(0x017) 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci#pragma pack(push, 1) 3062306a36Sopenharmony_cistruct dprtc_cmd_open { 3162306a36Sopenharmony_ci __le32 dprtc_id; 3262306a36Sopenharmony_ci}; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_cistruct dprtc_cmd_get_irq { 3562306a36Sopenharmony_ci __le32 pad; 3662306a36Sopenharmony_ci u8 irq_index; 3762306a36Sopenharmony_ci}; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_cistruct dprtc_cmd_set_irq_enable { 4062306a36Sopenharmony_ci u8 en; 4162306a36Sopenharmony_ci u8 pad[3]; 4262306a36Sopenharmony_ci u8 irq_index; 4362306a36Sopenharmony_ci}; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_cistruct dprtc_rsp_get_irq_enable { 4662306a36Sopenharmony_ci u8 en; 4762306a36Sopenharmony_ci}; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_cistruct dprtc_cmd_set_irq_mask { 5062306a36Sopenharmony_ci __le32 mask; 5162306a36Sopenharmony_ci u8 irq_index; 5262306a36Sopenharmony_ci}; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_cistruct dprtc_rsp_get_irq_mask { 5562306a36Sopenharmony_ci __le32 mask; 5662306a36Sopenharmony_ci}; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_cistruct dprtc_cmd_get_irq_status { 5962306a36Sopenharmony_ci __le32 status; 6062306a36Sopenharmony_ci u8 irq_index; 6162306a36Sopenharmony_ci}; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_cistruct dprtc_rsp_get_irq_status { 6462306a36Sopenharmony_ci __le32 status; 6562306a36Sopenharmony_ci}; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_cistruct dprtc_cmd_clear_irq_status { 6862306a36Sopenharmony_ci __le32 status; 6962306a36Sopenharmony_ci u8 irq_index; 7062306a36Sopenharmony_ci}; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci#pragma pack(pop) 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci#endif /* _FSL_DPRTC_CMD_H */ 75