1*6c43f6c8STom Warren /* 2*6c43f6c8STom Warren * (C) Copyright 2013-2015 3*6c43f6c8STom Warren * NVIDIA Corporation <www.nvidia.com> 4*6c43f6c8STom Warren * 5*6c43f6c8STom Warren * SPDX-License-Identifier: GPL-2.0+ 6*6c43f6c8STom Warren */ 7*6c43f6c8STom Warren 8*6c43f6c8STom Warren /* Tegra210 clock PLL tables */ 9*6c43f6c8STom Warren 10*6c43f6c8STom Warren #ifndef _TEGRA210_CLOCK_TABLES_H_ 11*6c43f6c8STom Warren #define _TEGRA210_CLOCK_TABLES_H_ 12*6c43f6c8STom Warren 13*6c43f6c8STom Warren /* The PLLs supported by the hardware */ 14*6c43f6c8STom Warren enum clock_id { 15*6c43f6c8STom Warren CLOCK_ID_FIRST, 16*6c43f6c8STom Warren CLOCK_ID_CGENERAL = CLOCK_ID_FIRST, 17*6c43f6c8STom Warren CLOCK_ID_MEMORY, 18*6c43f6c8STom Warren CLOCK_ID_PERIPH, 19*6c43f6c8STom Warren CLOCK_ID_AUDIO, 20*6c43f6c8STom Warren CLOCK_ID_USB, 21*6c43f6c8STom Warren CLOCK_ID_DISPLAY, 22*6c43f6c8STom Warren 23*6c43f6c8STom Warren /* now the simple ones */ 24*6c43f6c8STom Warren CLOCK_ID_FIRST_SIMPLE, 25*6c43f6c8STom Warren CLOCK_ID_XCPU = CLOCK_ID_FIRST_SIMPLE, 26*6c43f6c8STom Warren CLOCK_ID_EPCI, 27*6c43f6c8STom Warren CLOCK_ID_SFROM32KHZ, 28*6c43f6c8STom Warren 29*6c43f6c8STom Warren /* These are the base clocks (inputs to the Tegra SoC) */ 30*6c43f6c8STom Warren CLOCK_ID_32KHZ, 31*6c43f6c8STom Warren CLOCK_ID_OSC, 32*6c43f6c8STom Warren 33*6c43f6c8STom Warren CLOCK_ID_COUNT, /* number of PLLs */ 34*6c43f6c8STom Warren 35*6c43f6c8STom Warren /* 36*6c43f6c8STom Warren * These are clock IDs that are used in table clock_source[][] 37*6c43f6c8STom Warren * but will not be assigned as a clock source for any peripheral. 38*6c43f6c8STom Warren */ 39*6c43f6c8STom Warren CLOCK_ID_DISPLAY2, 40*6c43f6c8STom Warren CLOCK_ID_CGENERAL_0, 41*6c43f6c8STom Warren CLOCK_ID_CGENERAL_1, 42*6c43f6c8STom Warren CLOCK_ID_CGENERAL2, 43*6c43f6c8STom Warren CLOCK_ID_CGENERAL3, 44*6c43f6c8STom Warren CLOCK_ID_CGENERAL4_0, 45*6c43f6c8STom Warren CLOCK_ID_CGENERAL4_1, 46*6c43f6c8STom Warren CLOCK_ID_CGENERAL4_2, 47*6c43f6c8STom Warren CLOCK_ID_MEMORY2, 48*6c43f6c8STom Warren CLOCK_ID_SRC2, 49*6c43f6c8STom Warren 50*6c43f6c8STom Warren CLOCK_ID_NONE = -1, 51*6c43f6c8STom Warren }; 52*6c43f6c8STom Warren 53*6c43f6c8STom Warren /* The clocks supported by the hardware */ 54*6c43f6c8STom Warren enum periph_id { 55*6c43f6c8STom Warren PERIPH_ID_FIRST, 56*6c43f6c8STom Warren 57*6c43f6c8STom Warren /* Low word: 31:0 (DEVICES_L) */ 58*6c43f6c8STom Warren PERIPH_ID_CPU = PERIPH_ID_FIRST, 59*6c43f6c8STom Warren PERIPH_ID_COP, 60*6c43f6c8STom Warren PERIPH_ID_TRIGSYS, 61*6c43f6c8STom Warren PERIPH_ID_ISPB, 62*6c43f6c8STom Warren PERIPH_ID_RESERVED4, 63*6c43f6c8STom Warren PERIPH_ID_TMR, 64*6c43f6c8STom Warren PERIPH_ID_UART1, 65*6c43f6c8STom Warren PERIPH_ID_UART2, 66*6c43f6c8STom Warren 67*6c43f6c8STom Warren /* 8 */ 68*6c43f6c8STom Warren PERIPH_ID_GPIO, 69*6c43f6c8STom Warren PERIPH_ID_SDMMC2, 70*6c43f6c8STom Warren PERIPH_ID_SPDIF, 71*6c43f6c8STom Warren PERIPH_ID_I2S2, 72*6c43f6c8STom Warren PERIPH_ID_I2C1, 73*6c43f6c8STom Warren PERIPH_ID_RESERVED13, 74*6c43f6c8STom Warren PERIPH_ID_SDMMC1, 75*6c43f6c8STom Warren PERIPH_ID_SDMMC4, 76*6c43f6c8STom Warren 77*6c43f6c8STom Warren /* 16 */ 78*6c43f6c8STom Warren PERIPH_ID_TCW, 79*6c43f6c8STom Warren PERIPH_ID_PWM, 80*6c43f6c8STom Warren PERIPH_ID_I2S3, 81*6c43f6c8STom Warren PERIPH_ID_RESERVED19, 82*6c43f6c8STom Warren PERIPH_ID_VI, 83*6c43f6c8STom Warren PERIPH_ID_RESERVED21, 84*6c43f6c8STom Warren PERIPH_ID_USBD, 85*6c43f6c8STom Warren PERIPH_ID_ISP, 86*6c43f6c8STom Warren 87*6c43f6c8STom Warren /* 24 */ 88*6c43f6c8STom Warren PERIPH_ID_RESERVED24, 89*6c43f6c8STom Warren PERIPH_ID_RESERVED25, 90*6c43f6c8STom Warren PERIPH_ID_DISP2, 91*6c43f6c8STom Warren PERIPH_ID_DISP1, 92*6c43f6c8STom Warren PERIPH_ID_HOST1X, 93*6c43f6c8STom Warren PERIPH_ID_VCP, 94*6c43f6c8STom Warren PERIPH_ID_I2S1, 95*6c43f6c8STom Warren PERIPH_ID_CACHE2, 96*6c43f6c8STom Warren 97*6c43f6c8STom Warren /* Middle word: 63:32 (DEVICES_H) */ 98*6c43f6c8STom Warren PERIPH_ID_MEM, 99*6c43f6c8STom Warren PERIPH_ID_AHBDMA, 100*6c43f6c8STom Warren PERIPH_ID_APBDMA, 101*6c43f6c8STom Warren PERIPH_ID_RESERVED35, 102*6c43f6c8STom Warren PERIPH_ID_RESERVED36, 103*6c43f6c8STom Warren PERIPH_ID_STAT_MON, 104*6c43f6c8STom Warren PERIPH_ID_RESERVED38, 105*6c43f6c8STom Warren PERIPH_ID_FUSE, 106*6c43f6c8STom Warren 107*6c43f6c8STom Warren /* 40 */ 108*6c43f6c8STom Warren PERIPH_ID_KFUSE, 109*6c43f6c8STom Warren PERIPH_ID_SBC1, 110*6c43f6c8STom Warren PERIPH_ID_SNOR, 111*6c43f6c8STom Warren PERIPH_ID_RESERVED43, 112*6c43f6c8STom Warren PERIPH_ID_SBC2, 113*6c43f6c8STom Warren PERIPH_ID_XIO, 114*6c43f6c8STom Warren PERIPH_ID_SBC3, 115*6c43f6c8STom Warren PERIPH_ID_I2C5, 116*6c43f6c8STom Warren 117*6c43f6c8STom Warren /* 48 */ 118*6c43f6c8STom Warren PERIPH_ID_DSI, 119*6c43f6c8STom Warren PERIPH_ID_RESERVED49, 120*6c43f6c8STom Warren PERIPH_ID_HSI, 121*6c43f6c8STom Warren PERIPH_ID_HDMI, 122*6c43f6c8STom Warren PERIPH_ID_CSI, 123*6c43f6c8STom Warren PERIPH_ID_RESERVED53, 124*6c43f6c8STom Warren PERIPH_ID_I2C2, 125*6c43f6c8STom Warren PERIPH_ID_UART3, 126*6c43f6c8STom Warren 127*6c43f6c8STom Warren /* 56 */ 128*6c43f6c8STom Warren PERIPH_ID_MIPI_CAL, 129*6c43f6c8STom Warren PERIPH_ID_EMC, 130*6c43f6c8STom Warren PERIPH_ID_USB2, 131*6c43f6c8STom Warren PERIPH_ID_USB3, 132*6c43f6c8STom Warren PERIPH_ID_RESERVED60, 133*6c43f6c8STom Warren PERIPH_ID_VDE, 134*6c43f6c8STom Warren PERIPH_ID_BSEA, 135*6c43f6c8STom Warren PERIPH_ID_BSEV, 136*6c43f6c8STom Warren 137*6c43f6c8STom Warren /* Upper word 95:64 (DEVICES_U) */ 138*6c43f6c8STom Warren PERIPH_ID_RESERVED64, 139*6c43f6c8STom Warren PERIPH_ID_UART4, 140*6c43f6c8STom Warren PERIPH_ID_UART5, 141*6c43f6c8STom Warren PERIPH_ID_I2C3, 142*6c43f6c8STom Warren PERIPH_ID_SBC4, 143*6c43f6c8STom Warren PERIPH_ID_SDMMC3, 144*6c43f6c8STom Warren PERIPH_ID_PCIE, 145*6c43f6c8STom Warren PERIPH_ID_OWR, 146*6c43f6c8STom Warren 147*6c43f6c8STom Warren /* 72 */ 148*6c43f6c8STom Warren PERIPH_ID_AFI, 149*6c43f6c8STom Warren PERIPH_ID_CORESIGHT, 150*6c43f6c8STom Warren PERIPH_ID_PCIEXCLK, 151*6c43f6c8STom Warren PERIPH_ID_AVPUCQ, 152*6c43f6c8STom Warren PERIPH_ID_LA, 153*6c43f6c8STom Warren PERIPH_ID_TRACECLKIN, 154*6c43f6c8STom Warren PERIPH_ID_SOC_THERM, 155*6c43f6c8STom Warren PERIPH_ID_DTV, 156*6c43f6c8STom Warren 157*6c43f6c8STom Warren /* 80 */ 158*6c43f6c8STom Warren PERIPH_ID_RESERVED80, 159*6c43f6c8STom Warren PERIPH_ID_I2CSLOW, 160*6c43f6c8STom Warren PERIPH_ID_DSIB, 161*6c43f6c8STom Warren PERIPH_ID_TSEC, 162*6c43f6c8STom Warren PERIPH_ID_RESERVED84, 163*6c43f6c8STom Warren PERIPH_ID_RESERVED85, 164*6c43f6c8STom Warren PERIPH_ID_RESERVED86, 165*6c43f6c8STom Warren PERIPH_ID_EMUCIF, 166*6c43f6c8STom Warren 167*6c43f6c8STom Warren /* 88 */ 168*6c43f6c8STom Warren PERIPH_ID_RESERVED88, 169*6c43f6c8STom Warren PERIPH_ID_XUSB_HOST, 170*6c43f6c8STom Warren PERIPH_ID_RESERVED90, 171*6c43f6c8STom Warren PERIPH_ID_MSENC, 172*6c43f6c8STom Warren PERIPH_ID_RESERVED92, 173*6c43f6c8STom Warren PERIPH_ID_RESERVED93, 174*6c43f6c8STom Warren PERIPH_ID_RESERVED94, 175*6c43f6c8STom Warren PERIPH_ID_XUSB_DEV, 176*6c43f6c8STom Warren 177*6c43f6c8STom Warren PERIPH_ID_VW_FIRST, 178*6c43f6c8STom Warren /* V word: 31:0 */ 179*6c43f6c8STom Warren PERIPH_ID_CPUG = PERIPH_ID_VW_FIRST, 180*6c43f6c8STom Warren PERIPH_ID_CPULP, 181*6c43f6c8STom Warren PERIPH_ID_V_RESERVED2, 182*6c43f6c8STom Warren PERIPH_ID_MSELECT, 183*6c43f6c8STom Warren PERIPH_ID_V_RESERVED4, 184*6c43f6c8STom Warren PERIPH_ID_I2S4, 185*6c43f6c8STom Warren PERIPH_ID_I2S5, 186*6c43f6c8STom Warren PERIPH_ID_I2C4, 187*6c43f6c8STom Warren 188*6c43f6c8STom Warren /* 104 */ 189*6c43f6c8STom Warren PERIPH_ID_SBC5, 190*6c43f6c8STom Warren PERIPH_ID_SBC6, 191*6c43f6c8STom Warren PERIPH_ID_AHUB, 192*6c43f6c8STom Warren PERIPH_ID_APB2APE, 193*6c43f6c8STom Warren PERIPH_ID_V_RESERVED12, 194*6c43f6c8STom Warren PERIPH_ID_V_RESERVED13, 195*6c43f6c8STom Warren PERIPH_ID_V_RESERVED14, 196*6c43f6c8STom Warren PERIPH_ID_HDA2CODEC2X, 197*6c43f6c8STom Warren 198*6c43f6c8STom Warren /* 112 */ 199*6c43f6c8STom Warren PERIPH_ID_ATOMICS, 200*6c43f6c8STom Warren PERIPH_ID_V_RESERVED17, 201*6c43f6c8STom Warren PERIPH_ID_V_RESERVED18, 202*6c43f6c8STom Warren PERIPH_ID_V_RESERVED19, 203*6c43f6c8STom Warren PERIPH_ID_V_RESERVED20, 204*6c43f6c8STom Warren PERIPH_ID_V_RESERVED21, 205*6c43f6c8STom Warren PERIPH_ID_V_RESERVED22, 206*6c43f6c8STom Warren PERIPH_ID_ACTMON, 207*6c43f6c8STom Warren 208*6c43f6c8STom Warren /* 120 */ 209*6c43f6c8STom Warren PERIPH_ID_EXTPERIPH1, 210*6c43f6c8STom Warren PERIPH_ID_EXTPERIPH2, 211*6c43f6c8STom Warren PERIPH_ID_EXTPERIPH3, 212*6c43f6c8STom Warren PERIPH_ID_OOB, 213*6c43f6c8STom Warren PERIPH_ID_SATA, 214*6c43f6c8STom Warren PERIPH_ID_HDA, 215*6c43f6c8STom Warren PERIPH_ID_V_RESERVED30, 216*6c43f6c8STom Warren PERIPH_ID_V_RESERVED31, 217*6c43f6c8STom Warren 218*6c43f6c8STom Warren /* W word: 31:0 */ 219*6c43f6c8STom Warren PERIPH_ID_HDA2HDMICODEC, 220*6c43f6c8STom Warren PERIPH_ID_SATACOLD, 221*6c43f6c8STom Warren PERIPH_ID_W_RESERVED2, 222*6c43f6c8STom Warren PERIPH_ID_W_RESERVED3, 223*6c43f6c8STom Warren PERIPH_ID_W_RESERVED4, 224*6c43f6c8STom Warren PERIPH_ID_W_RESERVED5, 225*6c43f6c8STom Warren PERIPH_ID_W_RESERVED6, 226*6c43f6c8STom Warren PERIPH_ID_W_RESERVED7, 227*6c43f6c8STom Warren 228*6c43f6c8STom Warren /* 136 */ 229*6c43f6c8STom Warren PERIPH_ID_CEC, 230*6c43f6c8STom Warren PERIPH_ID_W_RESERVED9, 231*6c43f6c8STom Warren PERIPH_ID_W_RESERVED10, 232*6c43f6c8STom Warren PERIPH_ID_W_RESERVED11, 233*6c43f6c8STom Warren PERIPH_ID_W_RESERVED12, 234*6c43f6c8STom Warren PERIPH_ID_W_RESERVED13, 235*6c43f6c8STom Warren PERIPH_ID_XUSB_PADCTL, 236*6c43f6c8STom Warren PERIPH_ID_W_RESERVED15, 237*6c43f6c8STom Warren 238*6c43f6c8STom Warren /* 144 */ 239*6c43f6c8STom Warren PERIPH_ID_W_RESERVED16, 240*6c43f6c8STom Warren PERIPH_ID_W_RESERVED17, 241*6c43f6c8STom Warren PERIPH_ID_W_RESERVED18, 242*6c43f6c8STom Warren PERIPH_ID_W_RESERVED19, 243*6c43f6c8STom Warren PERIPH_ID_W_RESERVED20, 244*6c43f6c8STom Warren PERIPH_ID_ENTROPY, 245*6c43f6c8STom Warren PERIPH_ID_DDS, 246*6c43f6c8STom Warren PERIPH_ID_W_RESERVED23, 247*6c43f6c8STom Warren 248*6c43f6c8STom Warren /* 152 */ 249*6c43f6c8STom Warren PERIPH_ID_W_RESERVED24, 250*6c43f6c8STom Warren PERIPH_ID_W_RESERVED25, 251*6c43f6c8STom Warren PERIPH_ID_W_RESERVED26, 252*6c43f6c8STom Warren PERIPH_ID_DVFS, 253*6c43f6c8STom Warren PERIPH_ID_XUSB_SS, 254*6c43f6c8STom Warren PERIPH_ID_W_RESERVED29, 255*6c43f6c8STom Warren PERIPH_ID_W_RESERVED30, 256*6c43f6c8STom Warren PERIPH_ID_W_RESERVED31, 257*6c43f6c8STom Warren 258*6c43f6c8STom Warren PERIPH_ID_X_FIRST, 259*6c43f6c8STom Warren /* X word: 31:0 */ 260*6c43f6c8STom Warren PERIPH_ID_SPARE = PERIPH_ID_X_FIRST, 261*6c43f6c8STom Warren PERIPH_ID_X_RESERVED1, 262*6c43f6c8STom Warren PERIPH_ID_X_RESERVED2, 263*6c43f6c8STom Warren PERIPH_ID_X_RESERVED3, 264*6c43f6c8STom Warren PERIPH_ID_CAM_MCLK, 265*6c43f6c8STom Warren PERIPH_ID_CAM_MCLK2, 266*6c43f6c8STom Warren PERIPH_ID_I2C6, 267*6c43f6c8STom Warren PERIPH_ID_X_RESERVED7, 268*6c43f6c8STom Warren 269*6c43f6c8STom Warren /* 168 */ 270*6c43f6c8STom Warren PERIPH_ID_X_RESERVED8, 271*6c43f6c8STom Warren PERIPH_ID_X_RESERVED9, 272*6c43f6c8STom Warren PERIPH_ID_X_RESERVED10, 273*6c43f6c8STom Warren PERIPH_ID_VIM2_CLK, 274*6c43f6c8STom Warren PERIPH_ID_X_RESERVED12, 275*6c43f6c8STom Warren PERIPH_ID_X_RESERVED13, 276*6c43f6c8STom Warren PERIPH_ID_EMC_DLL, 277*6c43f6c8STom Warren PERIPH_ID_X_RESERVED15, 278*6c43f6c8STom Warren 279*6c43f6c8STom Warren /* 176 */ 280*6c43f6c8STom Warren PERIPH_ID_HDMI_AUDIO, 281*6c43f6c8STom Warren PERIPH_ID_CLK72MHZ, 282*6c43f6c8STom Warren PERIPH_ID_VIC, 283*6c43f6c8STom Warren PERIPH_ID_X_RESERVED19, 284*6c43f6c8STom Warren PERIPH_ID_X_RESERVED20, 285*6c43f6c8STom Warren PERIPH_ID_DPAUX, 286*6c43f6c8STom Warren PERIPH_ID_SOR0, 287*6c43f6c8STom Warren PERIPH_ID_X_RESERVED23, 288*6c43f6c8STom Warren 289*6c43f6c8STom Warren /* 184 */ 290*6c43f6c8STom Warren PERIPH_ID_GPU, 291*6c43f6c8STom Warren PERIPH_ID_X_RESERVED25, 292*6c43f6c8STom Warren PERIPH_ID_X_RESERVED26, 293*6c43f6c8STom Warren PERIPH_ID_X_RESERVED27, 294*6c43f6c8STom Warren PERIPH_ID_X_RESERVED28, 295*6c43f6c8STom Warren PERIPH_ID_X_RESERVED29, 296*6c43f6c8STom Warren PERIPH_ID_X_RESERVED30, 297*6c43f6c8STom Warren PERIPH_ID_X_RESERVED31, 298*6c43f6c8STom Warren 299*6c43f6c8STom Warren PERIPH_ID_Y_FIRST, 300*6c43f6c8STom Warren /* Y word: 31:0 (192:223) */ 301*6c43f6c8STom Warren PERIPH_ID_SPARE1 = PERIPH_ID_Y_FIRST, 302*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED1, 303*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED2, 304*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED3, 305*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED4, 306*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED5, 307*6c43f6c8STom Warren PERIPH_ID_APE, 308*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED7, 309*6c43f6c8STom Warren 310*6c43f6c8STom Warren /* 200 */ 311*6c43f6c8STom Warren PERIPH_ID_MC_CDPA, 312*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED9, 313*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED10, 314*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED11, 315*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED12, 316*6c43f6c8STom Warren PERIPH_ID_PEX_USB_UPHY, 317*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED14, 318*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED15, 319*6c43f6c8STom Warren 320*6c43f6c8STom Warren /* 208 */ 321*6c43f6c8STom Warren PERIPH_ID_VI_I2C, 322*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED17, 323*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED18, 324*6c43f6c8STom Warren PERIPH_ID_QSPI, 325*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED20, 326*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED21, 327*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED22, 328*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED23, 329*6c43f6c8STom Warren 330*6c43f6c8STom Warren /* 216 */ 331*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED24, 332*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED25, 333*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED26, 334*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED27, 335*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED28, 336*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED29, 337*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED30, 338*6c43f6c8STom Warren PERIPH_ID_Y_RESERVED31, 339*6c43f6c8STom Warren 340*6c43f6c8STom Warren PERIPH_ID_COUNT, 341*6c43f6c8STom Warren PERIPH_ID_NONE = -1, 342*6c43f6c8STom Warren }; 343*6c43f6c8STom Warren 344*6c43f6c8STom Warren enum pll_out_id { 345*6c43f6c8STom Warren PLL_OUT1, 346*6c43f6c8STom Warren PLL_OUT2, 347*6c43f6c8STom Warren PLL_OUT3, 348*6c43f6c8STom Warren PLL_OUT4 349*6c43f6c8STom Warren }; 350*6c43f6c8STom Warren 351*6c43f6c8STom Warren /* 352*6c43f6c8STom Warren * Clock peripheral IDs which sadly don't match up with PERIPH_ID. we want 353*6c43f6c8STom Warren * callers to use the PERIPH_ID for all access to peripheral clocks to avoid 354*6c43f6c8STom Warren * confusion bewteen PERIPH_ID_... and PERIPHC_... 355*6c43f6c8STom Warren * 356*6c43f6c8STom Warren * We don't call this CLOCK_PERIPH_ID or PERIPH_CLOCK_ID as it would just be 357*6c43f6c8STom Warren * confusing. 358*6c43f6c8STom Warren */ 359*6c43f6c8STom Warren enum periphc_internal_id { 360*6c43f6c8STom Warren /* 0x00 */ 361*6c43f6c8STom Warren PERIPHC_I2S2, 362*6c43f6c8STom Warren PERIPHC_I2S3, 363*6c43f6c8STom Warren PERIPHC_SPDIF_OUT, 364*6c43f6c8STom Warren PERIPHC_SPDIF_IN, 365*6c43f6c8STom Warren PERIPHC_PWM, 366*6c43f6c8STom Warren PERIPHC_05h, 367*6c43f6c8STom Warren PERIPHC_SBC2, 368*6c43f6c8STom Warren PERIPHC_SBC3, 369*6c43f6c8STom Warren 370*6c43f6c8STom Warren /* 0x08 */ 371*6c43f6c8STom Warren PERIPHC_08h, 372*6c43f6c8STom Warren PERIPHC_I2C1, 373*6c43f6c8STom Warren PERIPHC_I2C5, 374*6c43f6c8STom Warren PERIPHC_0bh, 375*6c43f6c8STom Warren PERIPHC_0ch, 376*6c43f6c8STom Warren PERIPHC_SBC1, 377*6c43f6c8STom Warren PERIPHC_DISP1, 378*6c43f6c8STom Warren PERIPHC_DISP2, 379*6c43f6c8STom Warren 380*6c43f6c8STom Warren /* 0x10 */ 381*6c43f6c8STom Warren PERIPHC_10h, 382*6c43f6c8STom Warren PERIPHC_11h, 383*6c43f6c8STom Warren PERIPHC_VI, 384*6c43f6c8STom Warren PERIPHC_13h, 385*6c43f6c8STom Warren PERIPHC_SDMMC1, 386*6c43f6c8STom Warren PERIPHC_SDMMC2, 387*6c43f6c8STom Warren PERIPHC_G3D, 388*6c43f6c8STom Warren PERIPHC_G2D, 389*6c43f6c8STom Warren 390*6c43f6c8STom Warren /* 0x18 */ 391*6c43f6c8STom Warren PERIPHC_18h, 392*6c43f6c8STom Warren PERIPHC_SDMMC4, 393*6c43f6c8STom Warren PERIPHC_VFIR, 394*6c43f6c8STom Warren PERIPHC_1Bh, 395*6c43f6c8STom Warren PERIPHC_1Ch, 396*6c43f6c8STom Warren PERIPHC_HSI, 397*6c43f6c8STom Warren PERIPHC_UART1, 398*6c43f6c8STom Warren PERIPHC_UART2, 399*6c43f6c8STom Warren 400*6c43f6c8STom Warren /* 0x20 */ 401*6c43f6c8STom Warren PERIPHC_HOST1X, 402*6c43f6c8STom Warren PERIPHC_21h, 403*6c43f6c8STom Warren PERIPHC_22h, 404*6c43f6c8STom Warren PERIPHC_HDMI, 405*6c43f6c8STom Warren PERIPHC_24h, 406*6c43f6c8STom Warren PERIPHC_25h, 407*6c43f6c8STom Warren PERIPHC_I2C2, 408*6c43f6c8STom Warren PERIPHC_EMC, 409*6c43f6c8STom Warren 410*6c43f6c8STom Warren /* 0x28 */ 411*6c43f6c8STom Warren PERIPHC_UART3, 412*6c43f6c8STom Warren PERIPHC_29h, 413*6c43f6c8STom Warren PERIPHC_VI_SENSOR, 414*6c43f6c8STom Warren PERIPHC_2bh, 415*6c43f6c8STom Warren PERIPHC_2ch, 416*6c43f6c8STom Warren PERIPHC_SBC4, 417*6c43f6c8STom Warren PERIPHC_I2C3, 418*6c43f6c8STom Warren PERIPHC_SDMMC3, 419*6c43f6c8STom Warren 420*6c43f6c8STom Warren /* 0x30 */ 421*6c43f6c8STom Warren PERIPHC_UART4, 422*6c43f6c8STom Warren PERIPHC_UART5, 423*6c43f6c8STom Warren PERIPHC_VDE, 424*6c43f6c8STom Warren PERIPHC_OWR, 425*6c43f6c8STom Warren PERIPHC_NOR, 426*6c43f6c8STom Warren PERIPHC_CSITE, 427*6c43f6c8STom Warren PERIPHC_I2S1, 428*6c43f6c8STom Warren PERIPHC_DTV, 429*6c43f6c8STom Warren 430*6c43f6c8STom Warren /* 0x38 */ 431*6c43f6c8STom Warren PERIPHC_38h, 432*6c43f6c8STom Warren PERIPHC_39h, 433*6c43f6c8STom Warren PERIPHC_3ah, 434*6c43f6c8STom Warren PERIPHC_3bh, 435*6c43f6c8STom Warren PERIPHC_MSENC, 436*6c43f6c8STom Warren PERIPHC_TSEC, 437*6c43f6c8STom Warren PERIPHC_3eh, 438*6c43f6c8STom Warren PERIPHC_OSC, 439*6c43f6c8STom Warren 440*6c43f6c8STom Warren PERIPHC_VW_FIRST, 441*6c43f6c8STom Warren /* 0x40 */ 442*6c43f6c8STom Warren PERIPHC_40h = PERIPHC_VW_FIRST, 443*6c43f6c8STom Warren PERIPHC_MSELECT, 444*6c43f6c8STom Warren PERIPHC_TSENSOR, 445*6c43f6c8STom Warren PERIPHC_I2S4, 446*6c43f6c8STom Warren PERIPHC_I2S5, 447*6c43f6c8STom Warren PERIPHC_I2C4, 448*6c43f6c8STom Warren PERIPHC_SBC5, 449*6c43f6c8STom Warren PERIPHC_SBC6, 450*6c43f6c8STom Warren 451*6c43f6c8STom Warren /* 0x48 */ 452*6c43f6c8STom Warren PERIPHC_AUDIO, 453*6c43f6c8STom Warren PERIPHC_49h, 454*6c43f6c8STom Warren PERIPHC_4ah, 455*6c43f6c8STom Warren PERIPHC_4bh, 456*6c43f6c8STom Warren PERIPHC_4ch, 457*6c43f6c8STom Warren PERIPHC_HDA2CODEC2X, 458*6c43f6c8STom Warren PERIPHC_ACTMON, 459*6c43f6c8STom Warren PERIPHC_EXTPERIPH1, 460*6c43f6c8STom Warren 461*6c43f6c8STom Warren /* 0x50 */ 462*6c43f6c8STom Warren PERIPHC_EXTPERIPH2, 463*6c43f6c8STom Warren PERIPHC_EXTPERIPH3, 464*6c43f6c8STom Warren PERIPHC_52h, 465*6c43f6c8STom Warren PERIPHC_I2CSLOW, 466*6c43f6c8STom Warren PERIPHC_SYS, 467*6c43f6c8STom Warren PERIPHC_55h, 468*6c43f6c8STom Warren PERIPHC_56h, 469*6c43f6c8STom Warren PERIPHC_57h, 470*6c43f6c8STom Warren 471*6c43f6c8STom Warren /* 0x58 */ 472*6c43f6c8STom Warren PERIPHC_58h, 473*6c43f6c8STom Warren PERIPHC_59h, 474*6c43f6c8STom Warren PERIPHC_5ah, 475*6c43f6c8STom Warren PERIPHC_5bh, 476*6c43f6c8STom Warren PERIPHC_SATAOOB, 477*6c43f6c8STom Warren PERIPHC_SATA, 478*6c43f6c8STom Warren PERIPHC_HDA, /* 0x428 */ 479*6c43f6c8STom Warren PERIPHC_5fh, 480*6c43f6c8STom Warren 481*6c43f6c8STom Warren PERIPHC_X_FIRST, 482*6c43f6c8STom Warren /* 0x60 */ 483*6c43f6c8STom Warren PERIPHC_XUSB_CORE_HOST = PERIPHC_X_FIRST, /* 0x600 */ 484*6c43f6c8STom Warren PERIPHC_XUSB_FALCON, 485*6c43f6c8STom Warren PERIPHC_XUSB_FS, 486*6c43f6c8STom Warren PERIPHC_XUSB_CORE_DEV, 487*6c43f6c8STom Warren PERIPHC_XUSB_SS, 488*6c43f6c8STom Warren PERIPHC_CILAB, 489*6c43f6c8STom Warren PERIPHC_CILCD, 490*6c43f6c8STom Warren PERIPHC_CILE, 491*6c43f6c8STom Warren 492*6c43f6c8STom Warren /* 0x68 */ 493*6c43f6c8STom Warren PERIPHC_DSIA_LP, 494*6c43f6c8STom Warren PERIPHC_DSIB_LP, 495*6c43f6c8STom Warren PERIPHC_ENTROPY, 496*6c43f6c8STom Warren PERIPHC_DVFS_REF, 497*6c43f6c8STom Warren PERIPHC_DVFS_SOC, 498*6c43f6c8STom Warren PERIPHC_TRACECLKIN, 499*6c43f6c8STom Warren PERIPHC_6Eh, 500*6c43f6c8STom Warren PERIPHC_6Fh, 501*6c43f6c8STom Warren 502*6c43f6c8STom Warren /* 0x70 */ 503*6c43f6c8STom Warren PERIPHC_EMC_LATENCY, 504*6c43f6c8STom Warren PERIPHC_SOC_THERM, 505*6c43f6c8STom Warren PERIPHC_72h, 506*6c43f6c8STom Warren PERIPHC_73h, 507*6c43f6c8STom Warren PERIPHC_74h, 508*6c43f6c8STom Warren PERIPHC_75h, 509*6c43f6c8STom Warren PERIPHC_VI_SENSOR2, 510*6c43f6c8STom Warren PERIPHC_I2C6, 511*6c43f6c8STom Warren 512*6c43f6c8STom Warren /* 0x78 */ 513*6c43f6c8STom Warren PERIPHC_78h, 514*6c43f6c8STom Warren PERIPHC_EMC_DLL, 515*6c43f6c8STom Warren PERIPHC_7ah, 516*6c43f6c8STom Warren PERIPHC_CLK72MHZ, 517*6c43f6c8STom Warren PERIPHC_7ch, 518*6c43f6c8STom Warren PERIPHC_7dh, 519*6c43f6c8STom Warren PERIPHC_VIC, 520*6c43f6c8STom Warren PERIPHC_7fh, 521*6c43f6c8STom Warren 522*6c43f6c8STom Warren PERIPHC_Y_FIRST, 523*6c43f6c8STom Warren /* 0x80 */ 524*6c43f6c8STom Warren PERIPHC_SDMMC_LEGACY_TM = PERIPHC_Y_FIRST, /* 0x694 */ 525*6c43f6c8STom Warren PERIPHC_NVDEC, /* 0x698 */ 526*6c43f6c8STom Warren PERIPHC_NVJPG, /* 0x69c */ 527*6c43f6c8STom Warren PERIPHC_NVENC, /* 0x6a0 */ 528*6c43f6c8STom Warren PERIPHC_84h, 529*6c43f6c8STom Warren PERIPHC_85h, 530*6c43f6c8STom Warren PERIPHC_86h, 531*6c43f6c8STom Warren PERIPHC_87h, 532*6c43f6c8STom Warren 533*6c43f6c8STom Warren /* 0x88 */ 534*6c43f6c8STom Warren PERIPHC_88h, 535*6c43f6c8STom Warren PERIPHC_89h, 536*6c43f6c8STom Warren PERIPHC_DMIC3, /* 0x6bc: */ 537*6c43f6c8STom Warren PERIPHC_APE, /* 0x6c0: */ 538*6c43f6c8STom Warren PERIPHC_QSPI, /* 0x6c4: */ 539*6c43f6c8STom Warren PERIPHC_VI_I2C, /* 0x6c8: */ 540*6c43f6c8STom Warren PERIPHC_USB2_HSIC_TRK, /* 0x6cc: */ 541*6c43f6c8STom Warren PERIPHC_PEX_SATA_USB_RX_BYP, /* 0x6d0: */ 542*6c43f6c8STom Warren 543*6c43f6c8STom Warren /* 0x90 */ 544*6c43f6c8STom Warren PERIPHC_MAUD, /* 0x6d4: */ 545*6c43f6c8STom Warren PERIPHC_TSECB, /* 0x6d8: */ 546*6c43f6c8STom Warren 547*6c43f6c8STom Warren PERIPHC_COUNT, 548*6c43f6c8STom Warren PERIPHC_NONE = -1, 549*6c43f6c8STom Warren }; 550*6c43f6c8STom Warren 551*6c43f6c8STom Warren /* Converts a clock number to a clock register: 0=L, 1=H, 2=U, 0=V, 1=W */ 552*6c43f6c8STom Warren #define PERIPH_REG(id) \ 553*6c43f6c8STom Warren (id < PERIPH_ID_VW_FIRST) ? \ 554*6c43f6c8STom Warren ((id) >> 5) : ((id - PERIPH_ID_VW_FIRST) >> 5) 555*6c43f6c8STom Warren 556*6c43f6c8STom Warren /* Mask value for a clock (within PERIPH_REG(id)) */ 557*6c43f6c8STom Warren #define PERIPH_MASK(id) (1 << ((id) & 0x1f)) 558*6c43f6c8STom Warren 559*6c43f6c8STom Warren /* return 1 if a PLL ID is in range */ 560*6c43f6c8STom Warren #define clock_id_is_pll(id) ((id) >= CLOCK_ID_FIRST && (id) < CLOCK_ID_COUNT) 561*6c43f6c8STom Warren 562*6c43f6c8STom Warren /* return 1 if a peripheral ID is in range */ 563*6c43f6c8STom Warren #define clock_periph_id_isvalid(id) ((id) >= PERIPH_ID_FIRST && \ 564*6c43f6c8STom Warren (id) < PERIPH_ID_COUNT) 565*6c43f6c8STom Warren 566*6c43f6c8STom Warren #endif /* _TEGRA210_CLOCK_TABLES_H_ */ 567