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

mmp2.h (2853B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __ASM_MACH_MMP2_H
      3#define __ASM_MACH_MMP2_H
      4
      5#include <linux/platform_data/pxa_sdhci.h>
      6
      7extern void mmp2_timer_init(void);
      8extern void __init mmp2_init_icu(void);
      9extern void __init mmp2_init_irq(void);
     10extern void mmp2_clear_pmic_int(void);
     11
     12#include <linux/i2c.h>
     13#include <linux/platform_data/i2c-pxa.h>
     14#include <linux/platform_data/dma-mmp_tdma.h>
     15
     16#include "devices.h"
     17
     18extern struct mmp_device_desc mmp2_device_uart1;
     19extern struct mmp_device_desc mmp2_device_uart2;
     20extern struct mmp_device_desc mmp2_device_uart3;
     21extern struct mmp_device_desc mmp2_device_uart4;
     22extern struct mmp_device_desc mmp2_device_twsi1;
     23extern struct mmp_device_desc mmp2_device_twsi2;
     24extern struct mmp_device_desc mmp2_device_twsi3;
     25extern struct mmp_device_desc mmp2_device_twsi4;
     26extern struct mmp_device_desc mmp2_device_twsi5;
     27extern struct mmp_device_desc mmp2_device_twsi6;
     28extern struct mmp_device_desc mmp2_device_sdh0;
     29extern struct mmp_device_desc mmp2_device_sdh1;
     30extern struct mmp_device_desc mmp2_device_sdh2;
     31extern struct mmp_device_desc mmp2_device_sdh3;
     32extern struct mmp_device_desc mmp2_device_asram;
     33extern struct mmp_device_desc mmp2_device_isram;
     34
     35extern struct platform_device mmp2_device_gpio;
     36
     37static inline int mmp2_add_uart(int id)
     38{
     39	struct mmp_device_desc *d = NULL;
     40
     41	switch (id) {
     42	case 1: d = &mmp2_device_uart1; break;
     43	case 2: d = &mmp2_device_uart2; break;
     44	case 3: d = &mmp2_device_uart3; break;
     45	case 4: d = &mmp2_device_uart4; break;
     46	default:
     47		return -EINVAL;
     48	}
     49
     50	return mmp_register_device(d, NULL, 0);
     51}
     52
     53static inline int mmp2_add_twsi(int id, struct i2c_pxa_platform_data *data,
     54				  struct i2c_board_info *info, unsigned size)
     55{
     56	struct mmp_device_desc *d = NULL;
     57	int ret;
     58
     59	switch (id) {
     60	case 1: d = &mmp2_device_twsi1; break;
     61	case 2: d = &mmp2_device_twsi2; break;
     62	case 3: d = &mmp2_device_twsi3; break;
     63	case 4: d = &mmp2_device_twsi4; break;
     64	case 5: d = &mmp2_device_twsi5; break;
     65	case 6: d = &mmp2_device_twsi6; break;
     66	default:
     67		return -EINVAL;
     68	}
     69
     70	ret = i2c_register_board_info(id - 1, info, size);
     71	if (ret)
     72		return ret;
     73
     74	return mmp_register_device(d, data, sizeof(*data));
     75}
     76
     77static inline int mmp2_add_sdhost(int id, struct sdhci_pxa_platdata *data)
     78{
     79	struct mmp_device_desc *d = NULL;
     80
     81	switch (id) {
     82	case 0: d = &mmp2_device_sdh0; break;
     83	case 1: d = &mmp2_device_sdh1; break;
     84	case 2: d = &mmp2_device_sdh2; break;
     85	case 3: d = &mmp2_device_sdh3; break;
     86	default:
     87		return -EINVAL;
     88	}
     89
     90	return mmp_register_device(d, data, sizeof(*data));
     91}
     92
     93static inline int mmp2_add_asram(struct sram_platdata *data)
     94{
     95	return mmp_register_device(&mmp2_device_asram, data, sizeof(*data));
     96}
     97
     98static inline int mmp2_add_isram(struct sram_platdata *data)
     99{
    100	return mmp_register_device(&mmp2_device_isram, data, sizeof(*data));
    101}
    102
    103#endif /* __ASM_MACH_MMP2_H */
    104