sdk-hwV1.3/lichee/linux-4.9/include/linux/sunxi_nsi.h

73 lines
1.8 KiB
C
Raw Normal View History

2024-05-07 10:09:20 +00:00
/*
* SUNXI MBUS support
*
* Copyright (C) 2015 AllWinnertech Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __LINUX_SUNXI_MBUS_H
#define __LINUX_SUNXI_MBUS_H
#include <linux/types.h>
/* MBUS PMU ids */
enum nsi_pmu {
MBUS_PMU_CPU = 0,
#if (defined CONFIG_ARCH_SUN50IW10)
MBUS_PMU_GPU = 1,
MBUS_PMU_SD1 = 2,
MBUS_PMU_MSTG = 3,
MBUS_PMU_GMAC0 = 4,
MBUS_PMU_GMAC1 = 5,
MBUS_PMU_USB0 = 6,
MBUS_PMU_USB1 = 7,
MBUS_PMU_NDFC = 8,
MBUS_PMU_DMAC = 9,
MBUS_PMU_CE = 10,
MBUS_PMU_DE0 = 11,
MBUS_PMU_DE1 = 12,
MBUS_PMU_VE = 13,
MBUS_PMU_CSI = 14,
MBUS_PMU_ISP = 15,
MBUS_PMU_G2D = 16,
MBUS_PMU_EINK = 17,
MBUS_PMU_IOMMU = 18,
MBUS_PMU_SYS_CPU = 19,
MBUS_PMU_TOTAL = 20,
MBUS_PMU_MAX = 21,
#endif
};
#if (defined CONFIG_ARCH_SUN50IW10)
static const char *const pmu_name[] = {
"cpu", "gpu", "sd1", "mstg", "gmac0", "gmac1", "usb0", "usb1", "ndfc",
"dmac", "ce", "de0", "de1", "ve", "csi", "isp", "g2d", "eink", "iommu",
"sys_cpu", "total",
};
#endif
#define get_name(n) pmu_name[n]
#ifdef CONFIG_SUNXI_NSI
extern int nsi_port_setpri(enum nsi_pmu port, unsigned int pri);
extern int nsi_port_setqos(enum nsi_pmu port, unsigned int qos);
extern bool nsi_probed(void);
#endif
#define nsi_disable_port_by_index(dev) \
nsi_port_control_by_index(dev, false)
#define nsi_enable_port_by_index(dev) \
nsi_port_control_by_index(dev, true)
#endif