/* Copyright (c) 2012, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * 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.
 */

#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/bug.h>
#include <asm/hardware/cp14.h>

#include "coresight-etm.h"

int etm_readl_cp14(u32 reg, unsigned int *val)
{
	switch (reg) {
	case ETMCR:
		*val = etm_read(ETMCR);
		return 0;
	case ETMCCR:
		*val = etm_read(ETMCCR);
		return 0;
	case ETMTRIGGER:
		*val = etm_read(ETMTRIGGER);
		return 0;
	case ETMSR:
		*val = etm_read(ETMSR);
		return 0;
	case ETMSCR:
		*val = etm_read(ETMSCR);
		return 0;
	case ETMTSSCR:
		*val = etm_read(ETMTSSCR);
		return 0;
	case ETMTEEVR:
		*val = etm_read(ETMTEEVR);
		return 0;
	case ETMTECR1:
		*val = etm_read(ETMTECR1);
		return 0;
	case ETMFFLR:
		*val = etm_read(ETMFFLR);
		return 0;
	case ETMACVRn(0):
		*val = etm_read(ETMACVR0);
		return 0;
	case ETMACVRn(1):
		*val = etm_read(ETMACVR1);
		return 0;
	case ETMACVRn(2):
		*val = etm_read(ETMACVR2);
		return 0;
	case ETMACVRn(3):
		*val = etm_read(ETMACVR3);
		return 0;
	case ETMACVRn(4):
		*val = etm_read(ETMACVR4);
		return 0;
	case ETMACVRn(5):
		*val = etm_read(ETMACVR5);
		return 0;
	case ETMACVRn(6):
		*val = etm_read(ETMACVR6);
		return 0;
	case ETMACVRn(7):
		*val = etm_read(ETMACVR7);
		return 0;
	case ETMACVRn(8):
		*val = etm_read(ETMACVR8);
		return 0;
	case ETMACVRn(9):
		*val = etm_read(ETMACVR9);
		return 0;
	case ETMACVRn(10):
		*val = etm_read(ETMACVR10);
		return 0;
	case ETMACVRn(11):
		*val = etm_read(ETMACVR11);
		return 0;
	case ETMACVRn(12):
		*val = etm_read(ETMACVR12);
		return 0;
	case ETMACVRn(13):
		*val = etm_read(ETMACVR13);
		return 0;
	case ETMACVRn(14):
		*val = etm_read(ETMACVR14);
		return 0;
	case ETMACVRn(15):
		*val = etm_read(ETMACVR15);
		return 0;
	case ETMACTRn(0):
		*val = etm_read(ETMACTR0);
		return 0;
	case ETMACTRn(1):
		*val = etm_read(ETMACTR1);
		return 0;
	case ETMACTRn(2):
		*val = etm_read(ETMACTR2);
		return 0;
	case ETMACTRn(3):
		*val = etm_read(ETMACTR3);
		return 0;
	case ETMACTRn(4):
		*val = etm_read(ETMACTR4);
		return 0;
	case ETMACTRn(5):
		*val = etm_read(ETMACTR5);
		return 0;
	case ETMACTRn(6):
		*val = etm_read(ETMACTR6);
		return 0;
	case ETMACTRn(7):
		*val = etm_read(ETMACTR7);
		return 0;
	case ETMACTRn(8):
		*val = etm_read(ETMACTR8);
		return 0;
	case ETMACTRn(9):
		*val = etm_read(ETMACTR9);
		return 0;
	case ETMACTRn(10):
		*val = etm_read(ETMACTR10);
		return 0;
	case ETMACTRn(11):
		*val = etm_read(ETMACTR11);
		return 0;
	case ETMACTRn(12):
		*val = etm_read(ETMACTR12);
		return 0;
	case ETMACTRn(13):
		*val = etm_read(ETMACTR13);
		return 0;
	case ETMACTRn(14):
		*val = etm_read(ETMACTR14);
		return 0;
	case ETMACTRn(15):
		*val = etm_read(ETMACTR15);
		return 0;
	case ETMCNTRLDVRn(0):
		*val = etm_read(ETMCNTRLDVR0);
		return 0;
	case ETMCNTRLDVRn(1):
		*val = etm_read(ETMCNTRLDVR1);
		return 0;
	case ETMCNTRLDVRn(2):
		*val = etm_read(ETMCNTRLDVR2);
		return 0;
	case ETMCNTRLDVRn(3):
		*val = etm_read(ETMCNTRLDVR3);
		return 0;
	case ETMCNTENRn(0):
		*val = etm_read(ETMCNTENR0);
		return 0;
	case ETMCNTENRn(1):
		*val = etm_read(ETMCNTENR1);
		return 0;
	case ETMCNTENRn(2):
		*val = etm_read(ETMCNTENR2);
		return 0;
	case ETMCNTENRn(3):
		*val = etm_read(ETMCNTENR3);
		return 0;
	case ETMCNTRLDEVRn(0):
		*val = etm_read(ETMCNTRLDEVR0);
		return 0;
	case ETMCNTRLDEVRn(1):
		*val = etm_read(ETMCNTRLDEVR1);
		return 0;
	case ETMCNTRLDEVRn(2):
		*val = etm_read(ETMCNTRLDEVR2);
		return 0;
	case ETMCNTRLDEVRn(3):
		*val = etm_read(ETMCNTRLDEVR3);
		return 0;
	case ETMCNTVRn(0):
		*val = etm_read(ETMCNTVR0);
		return 0;
	case ETMCNTVRn(1):
		*val = etm_read(ETMCNTVR1);
		return 0;
	case ETMCNTVRn(2):
		*val = etm_read(ETMCNTVR2);
		return 0;
	case ETMCNTVRn(3):
		*val = etm_read(ETMCNTVR3);
		return 0;
	case ETMSQ12EVR:
		*val = etm_read(ETMSQ12EVR);
		return 0;
	case ETMSQ21EVR:
		*val = etm_read(ETMSQ21EVR);
		return 0;
	case ETMSQ23EVR:
		*val = etm_read(ETMSQ23EVR);
		return 0;
	case ETMSQ31EVR:
		*val = etm_read(ETMSQ31EVR);
		return 0;
	case ETMSQ32EVR:
		*val = etm_read(ETMSQ32EVR);
		return 0;
	case ETMSQ13EVR:
		*val = etm_read(ETMSQ13EVR);
		return 0;
	case ETMSQR:
		*val = etm_read(ETMSQR);
		return 0;
	case ETMEXTOUTEVRn(0):
		*val = etm_read(ETMEXTOUTEVR0);
		return 0;
	case ETMEXTOUTEVRn(1):
		*val = etm_read(ETMEXTOUTEVR1);
		return 0;
	case ETMEXTOUTEVRn(2):
		*val = etm_read(ETMEXTOUTEVR2);
		return 0;
	case ETMEXTOUTEVRn(3):
		*val = etm_read(ETMEXTOUTEVR3);
		return 0;
	case ETMCIDCVRn(0):
		*val = etm_read(ETMCIDCVR0);
		return 0;
	case ETMCIDCVRn(1):
		*val = etm_read(ETMCIDCVR1);
		return 0;
	case ETMCIDCVRn(2):
		*val = etm_read(ETMCIDCVR2);
		return 0;
	case ETMCIDCMR:
		*val = etm_read(ETMCIDCMR);
		return 0;
	case ETMIMPSPEC0:
		*val = etm_read(ETMIMPSPEC0);
		return 0;
	case ETMIMPSPEC1:
		*val = etm_read(ETMIMPSPEC1);
		return 0;
	case ETMIMPSPEC2:
		*val = etm_read(ETMIMPSPEC2);
		return 0;
	case ETMIMPSPEC3:
		*val = etm_read(ETMIMPSPEC3);
		return 0;
	case ETMIMPSPEC4:
		*val = etm_read(ETMIMPSPEC4);
		return 0;
	case ETMIMPSPEC5:
		*val = etm_read(ETMIMPSPEC5);
		return 0;
	case ETMIMPSPEC6:
		*val = etm_read(ETMIMPSPEC6);
		return 0;
	case ETMIMPSPEC7:
		*val = etm_read(ETMIMPSPEC7);
		return 0;
	case ETMSYNCFR:
		*val = etm_read(ETMSYNCFR);
		return 0;
	case ETMIDR:
		*val = etm_read(ETMIDR);
		return 0;
	case ETMCCER:
		*val = etm_read(ETMCCER);
		return 0;
	case ETMEXTINSELR:
		*val = etm_read(ETMEXTINSELR);
		return 0;
	case ETMTESSEICR:
		*val = etm_read(ETMTESSEICR);
		return 0;
	case ETMEIBCR:
		*val = etm_read(ETMEIBCR);
		return 0;
	case ETMTSEVR:
		*val = etm_read(ETMTSEVR);
		return 0;
	case ETMAUXCR:
		*val = etm_read(ETMAUXCR);
		return 0;
	case ETMTRACEIDR:
		*val = etm_read(ETMTRACEIDR);
		return 0;
	case ETMVMIDCVR:
		*val = etm_read(ETMVMIDCVR);
		return 0;
	case ETMOSLSR:
		*val = etm_read(ETMOSLSR);
		return 0;
	case ETMOSSRR:
		*val = etm_read(ETMOSSRR);
		return 0;
	case ETMPDCR:
		*val = etm_read(ETMPDCR);
		return 0;
	case ETMPDSR:
		*val = etm_read(ETMPDSR);
		return 0;
	default:
		*val = 0;
		return -EINVAL;
	}
}

int etm_writel_cp14(u32 reg, u32 val)
{
	switch (reg) {
	case ETMCR:
		etm_write(val, ETMCR);
		break;
	case ETMTRIGGER:
		etm_write(val, ETMTRIGGER);
		break;
	case ETMSR:
		etm_write(val, ETMSR);
		break;
	case ETMTSSCR:
		etm_write(val, ETMTSSCR);
		break;
	case ETMTEEVR:
		etm_write(val, ETMTEEVR);
		break;
	case ETMTECR1:
		etm_write(val, ETMTECR1);
		break;
	case ETMFFLR:
		etm_write(val, ETMFFLR);
		break;
	case ETMACVRn(0):
		etm_write(val, ETMACVR0);
		break;
	case ETMACVRn(1):
		etm_write(val, ETMACVR1);
		break;
	case ETMACVRn(2):
		etm_write(val, ETMACVR2);
		break;
	case ETMACVRn(3):
		etm_write(val, ETMACVR3);
		break;
	case ETMACVRn(4):
		etm_write(val, ETMACVR4);
		break;
	case ETMACVRn(5):
		etm_write(val, ETMACVR5);
		break;
	case ETMACVRn(6):
		etm_write(val, ETMACVR6);
		break;
	case ETMACVRn(7):
		etm_write(val, ETMACVR7);
		break;
	case ETMACVRn(8):
		etm_write(val, ETMACVR8);
		break;
	case ETMACVRn(9):
		etm_write(val, ETMACVR9);
		break;
	case ETMACVRn(10):
		etm_write(val, ETMACVR10);
		break;
	case ETMACVRn(11):
		etm_write(val, ETMACVR11);
		break;
	case ETMACVRn(12):
		etm_write(val, ETMACVR12);
		break;
	case ETMACVRn(13):
		etm_write(val, ETMACVR13);
		break;
	case ETMACVRn(14):
		etm_write(val, ETMACVR14);
		break;
	case ETMACVRn(15):
		etm_write(val, ETMACVR15);
		break;
	case ETMACTRn(0):
		etm_write(val, ETMACTR0);
		break;
	case ETMACTRn(1):
		etm_write(val, ETMACTR1);
		break;
	case ETMACTRn(2):
		etm_write(val, ETMACTR2);
		break;
	case ETMACTRn(3):
		etm_write(val, ETMACTR3);
		break;
	case ETMACTRn(4):
		etm_write(val, ETMACTR4);
		break;
	case ETMACTRn(5):
		etm_write(val, ETMACTR5);
		break;
	case ETMACTRn(6):
		etm_write(val, ETMACTR6);
		break;
	case ETMACTRn(7):
		etm_write(val, ETMACTR7);
		break;
	case ETMACTRn(8):
		etm_write(val, ETMACTR8);
		break;
	case ETMACTRn(9):
		etm_write(val, ETMACTR9);
		break;
	case ETMACTRn(10):
		etm_write(val, ETMACTR10);
		break;
	case ETMACTRn(11):
		etm_write(val, ETMACTR11);
		break;
	case ETMACTRn(12):
		etm_write(val, ETMACTR12);
		break;
	case ETMACTRn(13):
		etm_write(val, ETMACTR13);
		break;
	case ETMACTRn(14):
		etm_write(val, ETMACTR14);
		break;
	case ETMACTRn(15):
		etm_write(val, ETMACTR15);
		break;
	case ETMCNTRLDVRn(0):
		etm_write(val, ETMCNTRLDVR0);
		break;
	case ETMCNTRLDVRn(1):
		etm_write(val, ETMCNTRLDVR1);
		break;
	case ETMCNTRLDVRn(2):
		etm_write(val, ETMCNTRLDVR2);
		break;
	case ETMCNTRLDVRn(3):
		etm_write(val, ETMCNTRLDVR3);
		break;
	case ETMCNTENRn(0):
		etm_write(val, ETMCNTENR0);
		break;
	case ETMCNTENRn(1):
		etm_write(val, ETMCNTENR1);
		break;
	case ETMCNTENRn(2):
		etm_write(val, ETMCNTENR2);
		break;
	case ETMCNTENRn(3):
		etm_write(val, ETMCNTENR3);
		break;
	case ETMCNTRLDEVRn(0):
		etm_write(val, ETMCNTRLDEVR0);
		break;
	case ETMCNTRLDEVRn(1):
		etm_write(val, ETMCNTRLDEVR1);
		break;
	case ETMCNTRLDEVRn(2):
		etm_write(val, ETMCNTRLDEVR2);
		break;
	case ETMCNTRLDEVRn(3):
		etm_write(val, ETMCNTRLDEVR3);
		break;
	case ETMCNTVRn(0):
		etm_write(val, ETMCNTVR0);
		break;
	case ETMCNTVRn(1):
		etm_write(val, ETMCNTVR1);
		break;
	case ETMCNTVRn(2):
		etm_write(val, ETMCNTVR2);
		break;
	case ETMCNTVRn(3):
		etm_write(val, ETMCNTVR3);
		break;
	case ETMSQ12EVR:
		etm_write(val, ETMSQ12EVR);
		break;
	case ETMSQ21EVR:
		etm_write(val, ETMSQ21EVR);
		break;
	case ETMSQ23EVR:
		etm_write(val, ETMSQ23EVR);
		break;
	case ETMSQ31EVR:
		etm_write(val, ETMSQ31EVR);
		break;
	case ETMSQ32EVR:
		etm_write(val, ETMSQ32EVR);
		break;
	case ETMSQ13EVR:
		etm_write(val, ETMSQ13EVR);
		break;
	case ETMSQR:
		etm_write(val, ETMSQR);
		break;
	case ETMEXTOUTEVRn(0):
		etm_write(val, ETMEXTOUTEVR0);
		break;
	case ETMEXTOUTEVRn(1):
		etm_write(val, ETMEXTOUTEVR1);
		break;
	case ETMEXTOUTEVRn(2):
		etm_write(val, ETMEXTOUTEVR2);
		break;
	case ETMEXTOUTEVRn(3):
		etm_write(val, ETMEXTOUTEVR3);
		break;
	case ETMCIDCVRn(0):
		etm_write(val, ETMCIDCVR0);
		break;
	case ETMCIDCVRn(1):
		etm_write(val, ETMCIDCVR1);
		break;
	case ETMCIDCVRn(2):
		etm_write(val, ETMCIDCVR2);
		break;
	case ETMCIDCMR:
		etm_write(val, ETMCIDCMR);
		break;
	case ETMIMPSPEC0:
		etm_write(val, ETMIMPSPEC0);
		break;
	case ETMIMPSPEC1:
		etm_write(val, ETMIMPSPEC1);
		break;
	case ETMIMPSPEC2:
		etm_write(val, ETMIMPSPEC2);
		break;
	case ETMIMPSPEC3:
		etm_write(val, ETMIMPSPEC3);
		break;
	case ETMIMPSPEC4:
		etm_write(val, ETMIMPSPEC4);
		break;
	case ETMIMPSPEC5:
		etm_write(val, ETMIMPSPEC5);
		break;
	case ETMIMPSPEC6:
		etm_write(val, ETMIMPSPEC6);
		break;
	case ETMIMPSPEC7:
		etm_write(val, ETMIMPSPEC7);
		break;
	case ETMSYNCFR:
		etm_write(val, ETMSYNCFR);
		break;
	case ETMEXTINSELR:
		etm_write(val, ETMEXTINSELR);
		break;
	case ETMTESSEICR:
		etm_write(val, ETMTESSEICR);
		break;
	case ETMEIBCR:
		etm_write(val, ETMEIBCR);
		break;
	case ETMTSEVR:
		etm_write(val, ETMTSEVR);
		break;
	case ETMAUXCR:
		etm_write(val, ETMAUXCR);
		break;
	case ETMTRACEIDR:
		etm_write(val, ETMTRACEIDR);
		break;
	case ETMVMIDCVR:
		etm_write(val, ETMVMIDCVR);
		break;
	case ETMOSLAR:
		etm_write(val, ETMOSLAR);
		break;
	case ETMOSSRR:
		etm_write(val, ETMOSSRR);
		break;
	case ETMPDCR:
		etm_write(val, ETMPDCR);
		break;
	case ETMPDSR:
		etm_write(val, ETMPDSR);
		break;
	default:
		return -EINVAL;
	}

	return 0;
}
