blob: 5768fb13775c75f425324828dd34420540c14e64 [file] [log] [blame]
Sumit Garge6a488b2022-07-12 12:42:11 +05301/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Qualcomm QCS404 sysmap
4 *
5 * (C) Copyright 2022 Sumit Garg <sumit.garg@linaro.org>
6 */
7#ifndef _MACH_SYSMAP_QCS404_H
8#define _MACH_SYSMAP_QCS404_H
9
10#define GICD_BASE (0x0b000000)
11#define GICC_BASE (0x0b002000)
12
13/* Clocks: (from CLK_CTL_BASE) */
14#define GPLL0_STATUS (0x21000)
Sumit Garge9e62342023-02-01 19:28:50 +053015#define GPLL1_STATUS (0x20000)
Sumit Garge6a488b2022-07-12 12:42:11 +053016#define APCS_GPLL_ENA_VOTE (0x45000)
17#define APCS_CLOCK_BRANCH_ENA_VOTE (0x45004)
18
19/* BLSP1 AHB clock (root clock for BLSP) */
20#define BLSP1_AHB_CBCR 0x1008
21
22/* Uart clock control registers */
23#define BLSP1_UART2_BCR (0x3028)
24#define BLSP1_UART2_APPS_CBCR (0x302C)
25#define BLSP1_UART2_APPS_CMD_RCGR (0x3034)
26#define BLSP1_UART2_APPS_CFG_RCGR (0x3038)
27#define BLSP1_UART2_APPS_M (0x303C)
28#define BLSP1_UART2_APPS_N (0x3040)
29#define BLSP1_UART2_APPS_D (0x3044)
30
Sumit Garg89e0dff2023-02-13 10:19:09 +053031/* I2C controller clock control registerss */
32#define BLSP1_QUP0_I2C_APPS_CBCR (0x6028)
33#define BLSP1_QUP0_I2C_APPS_CMD_RCGR (0x602C)
34#define BLSP1_QUP0_I2C_APPS_CFG_RCGR (0x6030)
35#define BLSP1_QUP1_I2C_APPS_CBCR (0x2008)
36#define BLSP1_QUP1_I2C_APPS_CMD_RCGR (0x200C)
37#define BLSP1_QUP1_I2C_APPS_CFG_RCGR (0x2010)
38#define BLSP1_QUP2_I2C_APPS_CBCR (0x3010)
39#define BLSP1_QUP2_I2C_APPS_CMD_RCGR (0x3000)
40#define BLSP1_QUP2_I2C_APPS_CFG_RCGR (0x3004)
41#define BLSP1_QUP3_I2C_APPS_CBCR (0x4020)
42#define BLSP1_QUP3_I2C_APPS_CMD_RCGR (0x4000)
43#define BLSP1_QUP3_I2C_APPS_CFG_RCGR (0x4004)
44#define BLSP1_QUP4_I2C_APPS_CBCR (0x5020)
45#define BLSP1_QUP4_I2C_APPS_CMD_RCGR (0x5000)
46#define BLSP1_QUP4_I2C_APPS_CFG_RCGR (0x5004)
47
Sumit Garge6a488b2022-07-12 12:42:11 +053048/* SD controller clock control registers */
49#define SDCC_BCR(n) (((n) * 0x1000) + 0x41000)
50#define SDCC_CMD_RCGR(n) (((n) * 0x1000) + 0x41004)
51#define SDCC_CFG_RCGR(n) (((n) * 0x1000) + 0x41008)
52#define SDCC_M(n) (((n) * 0x1000) + 0x4100C)
53#define SDCC_N(n) (((n) * 0x1000) + 0x41010)
54#define SDCC_D(n) (((n) * 0x1000) + 0x41014)
55#define SDCC_APPS_CBCR(n) (((n) * 0x1000) + 0x41018)
56#define SDCC_AHB_CBCR(n) (((n) * 0x1000) + 0x4101C)
57
Sumit Garg3018e522022-08-04 19:57:15 +053058/* USB-3.0 controller clock control registers */
59#define SYS_NOC_USB3_CBCR (0x26014)
60#define USB30_BCR (0x39000)
61#define USB3PHY_BCR (0x39008)
62#define USB30_MASTER_CBCR (0x3900C)
63#define USB30_SLEEP_CBCR (0x39010)
64#define USB30_MOCK_UTMI_CBCR (0x39014)
65#define USB30_MOCK_UTMI_CMD_RCGR (0x3901C)
66#define USB30_MOCK_UTMI_CFG_RCGR (0x39020)
67#define USB30_MASTER_CMD_RCGR (0x39028)
68#define USB30_MASTER_CFG_RCGR (0x3902C)
69#define USB30_MASTER_M (0x39030)
70#define USB30_MASTER_N (0x39034)
71#define USB30_MASTER_D (0x39038)
72#define USB2A_PHY_SLEEP_CBCR (0x4102C)
73#define USB_HS_PHY_CFG_AHB_CBCR (0x41030)
74
Sumit Garge9e62342023-02-01 19:28:50 +053075/* ETH controller clock control registers */
76#define ETH_PTP_CBCR (0x4e004)
77#define ETH_RGMII_CBCR (0x4e008)
78#define ETH_SLAVE_AHB_CBCR (0x4e00c)
79#define ETH_AXI_CBCR (0x4e010)
80#define EMAC_PTP_CMD_RCGR (0x4e014)
81#define EMAC_PTP_CFG_RCGR (0x4e018)
82#define EMAC_CMD_RCGR (0x4e01c)
83#define EMAC_CFG_RCGR (0x4e020)
84#define EMAC_M (0x4e024)
85#define EMAC_N (0x4e028)
86#define EMAC_D (0x4e02c)
87
Sumit Garge6a488b2022-07-12 12:42:11 +053088#endif