blob: 0ac0d4a3958aa40a78d9326646ed7f09f1cf4d5b [file] [log] [blame]
Angel Ponsa2ee7612020-04-04 18:51:15 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Jimmy Zhangbf04eda2014-02-11 17:21:20 -08002
3#ifndef __SOC_NVIDIA_TEGRA_APBMISC_H__
4#define __SOC_NVIDIA_TEGRA_APBMISC_H__
5
6#include <stdint.h>
7
8struct apbmisc {
Tom Warren355dc1e2015-05-21 15:21:12 -07009 u32 reserved0[2]; /* ABP_MISC_PP_ offsets 00 and 04 */
10 u32 pp_strapping_opt_a; /* _STRAPPING_OPT_A_0, offset 08 */
11 u32 reserved1[6]; /* ABP_MISC_PP_ offsets 0C-20 */
Jimmy Zhangbf04eda2014-02-11 17:21:20 -080012 u32 pp_config_ctl; /* _CONFIG_CTL_0, offset 24 */
Tom Warren355dc1e2015-05-21 15:21:12 -070013 u32 reserved2[6]; /* APB_MISC_PP_ offsets 28-3C */
Ken Chang41359bd2014-04-21 17:54:28 +080014 u32 pp_pinmux_global; /* _PINMUX_GLOBAL_0, offset 40 */
Jimmy Zhangbf04eda2014-02-11 17:21:20 -080015};
16
17#define PP_CONFIG_CTL_TBE (1 << 7)
18#define PP_CONFIG_CTL_JTAG (1 << 6)
19
Ken Chang41359bd2014-04-21 17:54:28 +080020#define PP_PINMUX_CLAMP_INPUTS (1 << 0)
21
Aaron Durbinbf534182014-08-04 11:40:45 -050022enum {
23 MISC_GP_HIDREV = 0x804
24};
25
26struct tegra_revision {
27 int hid_fam;
28 int chip_id;
29 int major;
30 int minor;
31};
Ken Chang41359bd2014-04-21 17:54:28 +080032
Jimmy Zhangbf04eda2014-02-11 17:21:20 -080033void enable_jtag(void);
Ken Chang41359bd2014-04-21 17:54:28 +080034void clamp_tristate_inputs(void);
Aaron Durbinbf534182014-08-04 11:40:45 -050035void tegra_revision_info(struct tegra_revision *id);
Jimmy Zhangbf04eda2014-02-11 17:21:20 -080036
Tom Warren355dc1e2015-05-21 15:21:12 -070037enum {
38 PP_STRAPPING_OPT_A_RAM_CODE_SHIFT = 4,
39 PP_STRAPPING_OPT_A_RAM_CODE_MASK =
40 0xF << PP_STRAPPING_OPT_A_RAM_CODE_SHIFT,
41};
42
Jimmy Zhangbf04eda2014-02-11 17:21:20 -080043#endif /* __SOC_NVIDIA_TEGRA_APBMISC_H__ */