cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mpp.h (1095B)


      1/*
      2 * arch/arm/plat-orion/include/plat/mpp.h
      3 *
      4 * Marvell Orion SoC MPP handling.
      5 *
      6 * This file is licensed under the terms of the GNU General Public
      7 * License version 2.  This program is licensed "as is" without any
      8 * warranty of any kind, whether express or implied.
      9 */
     10
     11#ifndef __PLAT_MPP_H
     12#define __PLAT_MPP_H
     13
     14#define MPP_NUM(x)	((x) & 0xff)
     15#define MPP_SEL(x)	(((x) >> 8) & 0xf)
     16
     17/* This is the generic MPP macro, without any variant information.
     18   Each machine architecture is expected to extend this with further
     19   bit fields indicating which MPP configurations are valid for a
     20   specific variant. */
     21
     22#define GENERIC_MPP(_num, _sel, _in, _out) ( \
     23	/* MPP number */		((_num) & 0xff) | \
     24	/* MPP select value */		(((_sel) & 0xf) << 8) | \
     25	/* may be input signal */	((!!(_in)) << 12) | \
     26	/* may be output signal */	((!!(_out)) << 13))
     27
     28#define MPP_INPUT_MASK		GENERIC_MPP(0, 0x0, 1, 0)
     29#define MPP_OUTPUT_MASK		GENERIC_MPP(0, 0x0, 0, 1)
     30
     31void __init orion_mpp_conf(unsigned int *mpp_list, unsigned int variant_mask,
     32			   unsigned int mpp_max, void __iomem *dev_bus);
     33
     34#endif