linux/drivers/soc/ti/pruss.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * PRU-ICSS Subsystem user interfaces
 *
 * Copyright (C) 2015-2023 Texas Instruments Incorporated - http://www.ti.com
 *	MD Danish Anwar <[email protected]>
 */

#ifndef _SOC_TI_PRUSS_H_
#define _SOC_TI_PRUSS_H_

#include <linux/bits.h>
#include <linux/regmap.h>

/*
 * PRU_ICSS_CFG registers
 * SYSCFG, ISRP, ISP, IESP, IECP, SCRP applicable on AMxxxx devices only
 */
#define PRUSS_CFG_REVID
#define PRUSS_CFG_SYSCFG
#define PRUSS_CFG_GPCFG(x)
#define PRUSS_CFG_CGR
#define PRUSS_CFG_ISRP
#define PRUSS_CFG_ISP
#define PRUSS_CFG_IESP
#define PRUSS_CFG_IECP
#define PRUSS_CFG_SCRP
#define PRUSS_CFG_PMAO
#define PRUSS_CFG_MII_RT
#define PRUSS_CFG_IEPCLK
#define PRUSS_CFG_SPP
#define PRUSS_CFG_PIN_MX

/* PRUSS_GPCFG register bits */
#define PRUSS_GPCFG_PRU_GPI_MODE_MASK
#define PRUSS_GPCFG_PRU_GPI_MODE_SHIFT

#define PRUSS_GPCFG_PRU_MUX_SEL_SHIFT
#define PRUSS_GPCFG_PRU_MUX_SEL_MASK

/* PRUSS_MII_RT register bits */
#define PRUSS_MII_RT_EVENT_EN

/* PRUSS_SPP register bits */
#define PRUSS_SPP_XFER_SHIFT_EN
#define PRUSS_SPP_PRU1_PAD_HP_EN
#define PRUSS_SPP_RTU_XFR_SHIFT_EN

/**
 * pruss_cfg_read() - read a PRUSS CFG sub-module register
 * @pruss: the pruss instance handle
 * @reg: register offset within the CFG sub-module
 * @val: pointer to return the value in
 *
 * Reads a given register within the PRUSS CFG sub-module and
 * returns it through the passed-in @val pointer
 *
 * Return: 0 on success, or an error code otherwise
 */
static int pruss_cfg_read(struct pruss *pruss, unsigned int reg, unsigned int *val)
{}

/**
 * pruss_cfg_update() - configure a PRUSS CFG sub-module register
 * @pruss: the pruss instance handle
 * @reg: register offset within the CFG sub-module
 * @mask: bit mask to use for programming the @val
 * @val: value to write
 *
 * Programs a given register within the PRUSS CFG sub-module
 *
 * Return: 0 on success, or an error code otherwise
 */
static int pruss_cfg_update(struct pruss *pruss, unsigned int reg,
			    unsigned int mask, unsigned int val)
{}

#endif  /* _SOC_TI_PRUSS_H_ */