root/drivers/gpu/drm/xe/regs/xe_sysctrl_regs.h
/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2026 Intel Corporation
 */

#ifndef _XE_SYSCTRL_REGS_H_
#define _XE_SYSCTRL_REGS_H_

#include "xe_regs.h"

#define SYSCTRL_BASE_OFFSET                     0xdb000
#define SYSCTRL_BASE                            (SOC_BASE + SYSCTRL_BASE_OFFSET)
#define SYSCTRL_MAILBOX_INDEX                   0x03
#define SYSCTRL_BAR_LENGTH                      0x1000

#define SYSCTRL_MB_CTRL                         XE_REG(0x10)
#define   SYSCTRL_MB_CTRL_RUN_BUSY              REG_BIT(31)
#define   SYSCTRL_MB_CTRL_IRQ                   REG_BIT(30)
#define   SYSCTRL_MB_CTRL_RUN_BUSY_OUT          REG_BIT(29)
#define   SYSCTRL_MB_CTRL_PARAM3_MASK           REG_GENMASK(28, 24)
#define   SYSCTRL_MB_CTRL_PARAM2_MASK           REG_GENMASK(23, 16)
#define   SYSCTRL_MB_CTRL_PARAM1_MASK           REG_GENMASK(15, 8)
#define   SYSCTRL_MB_CTRL_COMMAND_MASK          REG_GENMASK(7, 0)
#define   SYSCTRL_MB_CTRL_CMD                   REG_FIELD_PREP(SYSCTRL_MB_CTRL_COMMAND_MASK, 5)

#define SYSCTRL_MB_DATA0                        XE_REG(0x14)
#define SYSCTRL_MB_DATA1                        XE_REG(0x18)
#define SYSCTRL_MB_DATA2                        XE_REG(0x1c)
#define SYSCTRL_MB_DATA3                        XE_REG(0x20)

#define SYSCTRL_FRAME_PHASE                     REG_BIT(24)
#define SYSCTRL_FRAME_CURRENT_MASK              REG_GENMASK(21, 16)
#define SYSCTRL_FRAME_TOTAL_MASK                REG_GENMASK(13, 8)
#define SYSCTRL_FRAME_COMMAND_MASK              REG_GENMASK(7, 0)

#endif