blob: 0cf2b3d3f1c0e621f98da7a9f7445f3292b24a58 [file] [log] [blame]
Pratik Patelb8bb4032012-07-22 23:09:11 -07001/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
Pratik Patel7831c082011-06-08 21:44:37 -07002 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
Pratik Patel6fb38342012-06-03 14:51:38 -070013#ifndef _CORESIGHT_PRIV_H
14#define _CORESIGHT_PRIV_H
Pratik Patel7831c082011-06-08 21:44:37 -070015
Pratik Patelcf418622011-09-22 11:15:11 -070016#include <linux/bitops.h>
17
Pratik Patel17f3b822011-11-21 12:41:47 -080018/* Coresight management registers (0xF00-0xFCC)
19 * 0xFA0 - 0xFA4: Management registers in PFTv1.0
20 * Trace registers in PFTv1.1
21 */
Pratik Patel6fb38342012-06-03 14:51:38 -070022#define CORESIGHT_ITCTRL (0xF00)
23#define CORESIGHT_CLAIMSET (0xFA0)
24#define CORESIGHT_CLAIMCLR (0xFA4)
25#define CORESIGHT_LAR (0xFB0)
26#define CORESIGHT_LSR (0xFB4)
27#define CORESIGHT_AUTHSTATUS (0xFB8)
28#define CORESIGHT_DEVID (0xFC8)
29#define CORESIGHT_DEVTYPE (0xFCC)
Pratik Patel7831c082011-06-08 21:44:37 -070030
Pratik Patel6fb38342012-06-03 14:51:38 -070031#define CORESIGHT_UNLOCK (0xC5ACCE55)
Pratik Patel7831c082011-06-08 21:44:37 -070032
Pratik Patel17f3b822011-11-21 12:41:47 -080033#define TIMEOUT_US (100)
Pratik Patel7831c082011-06-08 21:44:37 -070034
35#define BM(lsb, msb) ((BIT(msb) - BIT(lsb)) + BIT(msb))
36#define BMVAL(val, lsb, msb) ((val & BM(lsb, msb)) >> lsb)
37#define BVAL(val, n) ((val & BIT(n)) >> n)
38
Pratik Patelb8bb4032012-07-22 23:09:11 -070039#ifdef CONFIG_MSM_QDSS
40extern void msm_qdss_csr_enable_bam_to_usb(void);
41extern void msm_qdss_csr_disable_bam_to_usb(void);
Pratik Patele6e41da2012-09-12 12:50:29 -070042extern unsigned int etm_readl_cp14(uint32_t off);
43extern void etm_writel_cp14(uint32_t val, uint32_t off);
Pratik Patelb8bb4032012-07-22 23:09:11 -070044#else
45static inline void msm_qdss_csr_enable_bam_to_usb(void) {}
46static inline void msm_qdss_csr_disable_bam_to_usb(void) {}
Pratik Patele6e41da2012-09-12 12:50:29 -070047static inline unsigned int etm_readl_cp14(uint32_t off) { return 0; }
48static inline void etm_writel_cp14(uint32_t val, uint32_t off) {}
Pratik Patelb8bb4032012-07-22 23:09:11 -070049#endif
50
Pratik Patel7831c082011-06-08 21:44:37 -070051#endif