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

g12a.h (9020B)


      1/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
      2/*
      3 * Copyright (c) 2016 Amlogic, Inc.
      4 * Author: Michael Turquette <mturquette@baylibre.com>
      5 *
      6 * Copyright (c) 2018 Amlogic, inc.
      7 * Author: Qiufang Dai <qiufang.dai@amlogic.com>
      8 * Author: Jian Hu <jian.hu@amlogic.com>
      9 *
     10 */
     11#ifndef __G12A_H
     12#define __G12A_H
     13
     14/*
     15 * Clock controller register offsets
     16 *
     17 * Register offsets from the data sheet must be multiplied by 4 before
     18 * adding them to the base address to get the right value.
     19 */
     20#define HHI_MIPI_CNTL0			0x000
     21#define HHI_MIPI_CNTL1			0x004
     22#define HHI_MIPI_CNTL2			0x008
     23#define HHI_MIPI_STS			0x00C
     24#define HHI_GP0_PLL_CNTL0		0x040
     25#define HHI_GP0_PLL_CNTL1		0x044
     26#define HHI_GP0_PLL_CNTL2		0x048
     27#define HHI_GP0_PLL_CNTL3		0x04C
     28#define HHI_GP0_PLL_CNTL4		0x050
     29#define HHI_GP0_PLL_CNTL5		0x054
     30#define HHI_GP0_PLL_CNTL6		0x058
     31#define HHI_GP0_PLL_STS			0x05C
     32#define HHI_GP1_PLL_CNTL0		0x060
     33#define HHI_GP1_PLL_CNTL1		0x064
     34#define HHI_GP1_PLL_CNTL2		0x068
     35#define HHI_GP1_PLL_CNTL3		0x06C
     36#define HHI_GP1_PLL_CNTL4		0x070
     37#define HHI_GP1_PLL_CNTL5		0x074
     38#define HHI_GP1_PLL_CNTL6		0x078
     39#define HHI_GP1_PLL_STS			0x07C
     40#define HHI_PCIE_PLL_CNTL0		0x098
     41#define HHI_PCIE_PLL_CNTL1		0x09C
     42#define HHI_PCIE_PLL_CNTL2		0x0A0
     43#define HHI_PCIE_PLL_CNTL3		0x0A4
     44#define HHI_PCIE_PLL_CNTL4		0x0A8
     45#define HHI_PCIE_PLL_CNTL5		0x0AC
     46#define HHI_PCIE_PLL_STS		0x0B8
     47#define HHI_HIFI_PLL_CNTL0		0x0D8
     48#define HHI_HIFI_PLL_CNTL1		0x0DC
     49#define HHI_HIFI_PLL_CNTL2		0x0E0
     50#define HHI_HIFI_PLL_CNTL3		0x0E4
     51#define HHI_HIFI_PLL_CNTL4		0x0E8
     52#define HHI_HIFI_PLL_CNTL5		0x0EC
     53#define HHI_HIFI_PLL_CNTL6		0x0F0
     54#define HHI_VIID_CLK_DIV		0x128
     55#define HHI_VIID_CLK_CNTL		0x12C
     56#define HHI_GCLK_MPEG0			0x140
     57#define HHI_GCLK_MPEG1			0x144
     58#define HHI_GCLK_MPEG2			0x148
     59#define HHI_GCLK_OTHER			0x150
     60#define HHI_GCLK_OTHER2			0x154
     61#define HHI_SYS_CPU_CLK_CNTL1		0x15c
     62#define HHI_VID_CLK_DIV			0x164
     63#define HHI_MPEG_CLK_CNTL		0x174
     64#define HHI_AUD_CLK_CNTL		0x178
     65#define HHI_VID_CLK_CNTL		0x17c
     66#define HHI_TS_CLK_CNTL			0x190
     67#define HHI_VID_CLK_CNTL2		0x194
     68#define HHI_SYS_CPU_CLK_CNTL0		0x19c
     69#define HHI_VID_PLL_CLK_DIV		0x1A0
     70#define HHI_MALI_CLK_CNTL		0x1b0
     71#define HHI_VPU_CLKC_CNTL		0x1b4
     72#define HHI_VPU_CLK_CNTL		0x1bC
     73#define HHI_NNA_CLK_CNTL		0x1C8
     74#define HHI_HDMI_CLK_CNTL		0x1CC
     75#define HHI_VDEC_CLK_CNTL		0x1E0
     76#define HHI_VDEC2_CLK_CNTL		0x1E4
     77#define HHI_VDEC3_CLK_CNTL		0x1E8
     78#define HHI_VDEC4_CLK_CNTL		0x1EC
     79#define HHI_HDCP22_CLK_CNTL		0x1F0
     80#define HHI_VAPBCLK_CNTL		0x1F4
     81#define HHI_SYS_CPUB_CLK_CNTL1		0x200
     82#define HHI_SYS_CPUB_CLK_CNTL		0x208
     83#define HHI_VPU_CLKB_CNTL		0x20C
     84#define HHI_SYS_CPU_CLK_CNTL2		0x210
     85#define HHI_SYS_CPU_CLK_CNTL3		0x214
     86#define HHI_SYS_CPU_CLK_CNTL4		0x218
     87#define HHI_SYS_CPU_CLK_CNTL5		0x21c
     88#define HHI_SYS_CPU_CLK_CNTL6		0x220
     89#define HHI_GEN_CLK_CNTL		0x228
     90#define HHI_VDIN_MEAS_CLK_CNTL		0x250
     91#define HHI_MIPIDSI_PHY_CLK_CNTL	0x254
     92#define HHI_NAND_CLK_CNTL		0x25C
     93#define HHI_SD_EMMC_CLK_CNTL		0x264
     94#define HHI_MPLL_CNTL0			0x278
     95#define HHI_MPLL_CNTL1			0x27C
     96#define HHI_MPLL_CNTL2			0x280
     97#define HHI_MPLL_CNTL3			0x284
     98#define HHI_MPLL_CNTL4			0x288
     99#define HHI_MPLL_CNTL5			0x28c
    100#define HHI_MPLL_CNTL6			0x290
    101#define HHI_MPLL_CNTL7			0x294
    102#define HHI_MPLL_CNTL8			0x298
    103#define HHI_FIX_PLL_CNTL0		0x2A0
    104#define HHI_FIX_PLL_CNTL1		0x2A4
    105#define HHI_FIX_PLL_CNTL3		0x2AC
    106#define HHI_SYS_PLL_CNTL0		0x2f4
    107#define HHI_SYS_PLL_CNTL1		0x2f8
    108#define HHI_SYS_PLL_CNTL2		0x2fc
    109#define HHI_SYS_PLL_CNTL3		0x300
    110#define HHI_SYS_PLL_CNTL4		0x304
    111#define HHI_SYS_PLL_CNTL5		0x308
    112#define HHI_SYS_PLL_CNTL6		0x30c
    113#define HHI_HDMI_PLL_CNTL0		0x320
    114#define HHI_HDMI_PLL_CNTL1		0x324
    115#define HHI_HDMI_PLL_CNTL2		0x328
    116#define HHI_HDMI_PLL_CNTL3		0x32c
    117#define HHI_HDMI_PLL_CNTL4		0x330
    118#define HHI_HDMI_PLL_CNTL5		0x334
    119#define HHI_HDMI_PLL_CNTL6		0x338
    120#define HHI_SPICC_CLK_CNTL		0x3dc
    121#define HHI_SYS1_PLL_CNTL0		0x380
    122#define HHI_SYS1_PLL_CNTL1		0x384
    123#define HHI_SYS1_PLL_CNTL2		0x388
    124#define HHI_SYS1_PLL_CNTL3		0x38c
    125#define HHI_SYS1_PLL_CNTL4		0x390
    126#define HHI_SYS1_PLL_CNTL5		0x394
    127#define HHI_SYS1_PLL_CNTL6		0x398
    128
    129/*
    130 * CLKID index values
    131 *
    132 * These indices are entirely contrived and do not map onto the hardware.
    133 * It has now been decided to expose everything by default in the DT header:
    134 * include/dt-bindings/clock/g12a-clkc.h. Only the clocks ids we don't want
    135 * to expose, such as the internal muxes and dividers of composite clocks,
    136 * will remain defined here.
    137 */
    138#define CLKID_MPEG_SEL				8
    139#define CLKID_MPEG_DIV				9
    140#define CLKID_SD_EMMC_A_CLK0_SEL		63
    141#define CLKID_SD_EMMC_A_CLK0_DIV		64
    142#define CLKID_SD_EMMC_B_CLK0_SEL		65
    143#define CLKID_SD_EMMC_B_CLK0_DIV		66
    144#define CLKID_SD_EMMC_C_CLK0_SEL		67
    145#define CLKID_SD_EMMC_C_CLK0_DIV		68
    146#define CLKID_MPLL0_DIV				69
    147#define CLKID_MPLL1_DIV				70
    148#define CLKID_MPLL2_DIV				71
    149#define CLKID_MPLL3_DIV				72
    150#define CLKID_MPLL_PREDIV			73
    151#define CLKID_FCLK_DIV2_DIV			75
    152#define CLKID_FCLK_DIV3_DIV			76
    153#define CLKID_FCLK_DIV4_DIV			77
    154#define CLKID_FCLK_DIV5_DIV			78
    155#define CLKID_FCLK_DIV7_DIV			79
    156#define CLKID_FCLK_DIV2P5_DIV			100
    157#define CLKID_FIXED_PLL_DCO			101
    158#define CLKID_SYS_PLL_DCO			102
    159#define CLKID_GP0_PLL_DCO			103
    160#define CLKID_HIFI_PLL_DCO			104
    161#define CLKID_VPU_0_DIV				111
    162#define CLKID_VPU_1_DIV				114
    163#define CLKID_VAPB_0_DIV			118
    164#define CLKID_VAPB_1_DIV			121
    165#define CLKID_HDMI_PLL_DCO			125
    166#define CLKID_HDMI_PLL_OD			126
    167#define CLKID_HDMI_PLL_OD2			127
    168#define CLKID_VID_PLL_SEL			130
    169#define CLKID_VID_PLL_DIV			131
    170#define CLKID_VCLK_SEL				132
    171#define CLKID_VCLK2_SEL				133
    172#define CLKID_VCLK_INPUT			134
    173#define CLKID_VCLK2_INPUT			135
    174#define CLKID_VCLK_DIV				136
    175#define CLKID_VCLK2_DIV				137
    176#define CLKID_VCLK_DIV2_EN			140
    177#define CLKID_VCLK_DIV4_EN			141
    178#define CLKID_VCLK_DIV6_EN			142
    179#define CLKID_VCLK_DIV12_EN			143
    180#define CLKID_VCLK2_DIV2_EN			144
    181#define CLKID_VCLK2_DIV4_EN			145
    182#define CLKID_VCLK2_DIV6_EN			146
    183#define CLKID_VCLK2_DIV12_EN			147
    184#define CLKID_CTS_ENCI_SEL			158
    185#define CLKID_CTS_ENCP_SEL			159
    186#define CLKID_CTS_VDAC_SEL			160
    187#define CLKID_HDMI_TX_SEL			161
    188#define CLKID_HDMI_SEL				166
    189#define CLKID_HDMI_DIV				167
    190#define CLKID_MALI_0_DIV			170
    191#define CLKID_MALI_1_DIV			173
    192#define CLKID_MPLL_50M_DIV			176
    193#define CLKID_SYS_PLL_DIV16_EN			178
    194#define CLKID_SYS_PLL_DIV16			179
    195#define CLKID_CPU_CLK_DYN0_SEL			180
    196#define CLKID_CPU_CLK_DYN0_DIV			181
    197#define CLKID_CPU_CLK_DYN0			182
    198#define CLKID_CPU_CLK_DYN1_SEL			183
    199#define CLKID_CPU_CLK_DYN1_DIV			184
    200#define CLKID_CPU_CLK_DYN1			185
    201#define CLKID_CPU_CLK_DYN			186
    202#define CLKID_CPU_CLK_DIV16_EN			188
    203#define CLKID_CPU_CLK_DIV16			189
    204#define CLKID_CPU_CLK_APB_DIV			190
    205#define CLKID_CPU_CLK_APB			191
    206#define CLKID_CPU_CLK_ATB_DIV			192
    207#define CLKID_CPU_CLK_ATB			193
    208#define CLKID_CPU_CLK_AXI_DIV			194
    209#define CLKID_CPU_CLK_AXI			195
    210#define CLKID_CPU_CLK_TRACE_DIV			196
    211#define CLKID_CPU_CLK_TRACE			197
    212#define CLKID_PCIE_PLL_DCO			198
    213#define CLKID_PCIE_PLL_DCO_DIV2			199
    214#define CLKID_PCIE_PLL_OD			200
    215#define CLKID_VDEC_1_SEL			202
    216#define CLKID_VDEC_1_DIV			203
    217#define CLKID_VDEC_HEVC_SEL			205
    218#define CLKID_VDEC_HEVC_DIV			206
    219#define CLKID_VDEC_HEVCF_SEL			208
    220#define CLKID_VDEC_HEVCF_DIV			209
    221#define CLKID_TS_DIV				211
    222#define CLKID_SYS1_PLL_DCO			213
    223#define CLKID_SYS1_PLL				214
    224#define CLKID_SYS1_PLL_DIV16_EN			215
    225#define CLKID_SYS1_PLL_DIV16			216
    226#define CLKID_CPUB_CLK_DYN0_SEL			217
    227#define CLKID_CPUB_CLK_DYN0_DIV			218
    228#define CLKID_CPUB_CLK_DYN0			219
    229#define CLKID_CPUB_CLK_DYN1_SEL			220
    230#define CLKID_CPUB_CLK_DYN1_DIV			221
    231#define CLKID_CPUB_CLK_DYN1			222
    232#define CLKID_CPUB_CLK_DYN			223
    233#define CLKID_CPUB_CLK_DIV16_EN			225
    234#define CLKID_CPUB_CLK_DIV16			226
    235#define CLKID_CPUB_CLK_DIV2			227
    236#define CLKID_CPUB_CLK_DIV3			228
    237#define CLKID_CPUB_CLK_DIV4			229
    238#define CLKID_CPUB_CLK_DIV5			230
    239#define CLKID_CPUB_CLK_DIV6			231
    240#define CLKID_CPUB_CLK_DIV7			232
    241#define CLKID_CPUB_CLK_DIV8			233
    242#define CLKID_CPUB_CLK_APB_SEL			234
    243#define CLKID_CPUB_CLK_APB			235
    244#define CLKID_CPUB_CLK_ATB_SEL			236
    245#define CLKID_CPUB_CLK_ATB			237
    246#define CLKID_CPUB_CLK_AXI_SEL			238
    247#define CLKID_CPUB_CLK_AXI			239
    248#define CLKID_CPUB_CLK_TRACE_SEL		240
    249#define CLKID_CPUB_CLK_TRACE			241
    250#define CLKID_GP1_PLL_DCO			242
    251#define CLKID_DSU_CLK_DYN0_SEL			244
    252#define CLKID_DSU_CLK_DYN0_DIV			245
    253#define CLKID_DSU_CLK_DYN0			246
    254#define CLKID_DSU_CLK_DYN1_SEL			247
    255#define CLKID_DSU_CLK_DYN1_DIV			248
    256#define CLKID_DSU_CLK_DYN1			249
    257#define CLKID_DSU_CLK_DYN			250
    258#define CLKID_DSU_CLK_FINAL			251
    259#define CLKID_SPICC0_SCLK_SEL			256
    260#define CLKID_SPICC0_SCLK_DIV			257
    261#define CLKID_SPICC1_SCLK_SEL			259
    262#define CLKID_SPICC1_SCLK_DIV			260
    263#define CLKID_NNA_AXI_CLK_SEL			262
    264#define CLKID_NNA_AXI_CLK_DIV			263
    265#define CLKID_NNA_CORE_CLK_SEL			265
    266#define CLKID_NNA_CORE_CLK_DIV			266
    267#define CLKID_MIPI_DSI_PXCLK_DIV		268
    268
    269#define NR_CLKS					271
    270
    271/* include the CLKIDs that have been made part of the DT binding */
    272#include <dt-bindings/clock/g12a-clkc.h>
    273
    274#endif /* __G12A_H */