18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: ISC 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (c) 2010 Broadcom Corporation 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef _SBCHIPC_H 78c2ecf20Sopenharmony_ci#define _SBCHIPC_H 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include "defs.h" /* for PAD macro */ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#define CHIPCREGOFFS(field) offsetof(struct chipcregs, field) 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cistruct chipcregs { 148c2ecf20Sopenharmony_ci u32 chipid; /* 0x0 */ 158c2ecf20Sopenharmony_ci u32 capabilities; 168c2ecf20Sopenharmony_ci u32 corecontrol; /* corerev >= 1 */ 178c2ecf20Sopenharmony_ci u32 bist; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci /* OTP */ 208c2ecf20Sopenharmony_ci u32 otpstatus; /* 0x10, corerev >= 10 */ 218c2ecf20Sopenharmony_ci u32 otpcontrol; 228c2ecf20Sopenharmony_ci u32 otpprog; 238c2ecf20Sopenharmony_ci u32 otplayout; /* corerev >= 23 */ 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci /* Interrupt control */ 268c2ecf20Sopenharmony_ci u32 intstatus; /* 0x20 */ 278c2ecf20Sopenharmony_ci u32 intmask; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci /* Chip specific regs */ 308c2ecf20Sopenharmony_ci u32 chipcontrol; /* 0x28, rev >= 11 */ 318c2ecf20Sopenharmony_ci u32 chipstatus; /* 0x2c, rev >= 11 */ 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci /* Jtag Master */ 348c2ecf20Sopenharmony_ci u32 jtagcmd; /* 0x30, rev >= 10 */ 358c2ecf20Sopenharmony_ci u32 jtagir; 368c2ecf20Sopenharmony_ci u32 jtagdr; 378c2ecf20Sopenharmony_ci u32 jtagctrl; 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci /* serial flash interface registers */ 408c2ecf20Sopenharmony_ci u32 flashcontrol; /* 0x40 */ 418c2ecf20Sopenharmony_ci u32 flashaddress; 428c2ecf20Sopenharmony_ci u32 flashdata; 438c2ecf20Sopenharmony_ci u32 PAD[1]; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci /* Silicon backplane configuration broadcast control */ 468c2ecf20Sopenharmony_ci u32 broadcastaddress; /* 0x50 */ 478c2ecf20Sopenharmony_ci u32 broadcastdata; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci /* gpio - cleared only by power-on-reset */ 508c2ecf20Sopenharmony_ci u32 gpiopullup; /* 0x58, corerev >= 20 */ 518c2ecf20Sopenharmony_ci u32 gpiopulldown; /* 0x5c, corerev >= 20 */ 528c2ecf20Sopenharmony_ci u32 gpioin; /* 0x60 */ 538c2ecf20Sopenharmony_ci u32 gpioout; /* 0x64 */ 548c2ecf20Sopenharmony_ci u32 gpioouten; /* 0x68 */ 558c2ecf20Sopenharmony_ci u32 gpiocontrol; /* 0x6C */ 568c2ecf20Sopenharmony_ci u32 gpiointpolarity; /* 0x70 */ 578c2ecf20Sopenharmony_ci u32 gpiointmask; /* 0x74 */ 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci /* GPIO events corerev >= 11 */ 608c2ecf20Sopenharmony_ci u32 gpioevent; 618c2ecf20Sopenharmony_ci u32 gpioeventintmask; 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci /* Watchdog timer */ 648c2ecf20Sopenharmony_ci u32 watchdog; /* 0x80 */ 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci /* GPIO events corerev >= 11 */ 678c2ecf20Sopenharmony_ci u32 gpioeventintpolarity; 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci /* GPIO based LED powersave registers corerev >= 16 */ 708c2ecf20Sopenharmony_ci u32 gpiotimerval; /* 0x88 */ 718c2ecf20Sopenharmony_ci u32 gpiotimeroutmask; 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci /* clock control */ 748c2ecf20Sopenharmony_ci u32 clockcontrol_n; /* 0x90 */ 758c2ecf20Sopenharmony_ci u32 clockcontrol_sb; /* aka m0 */ 768c2ecf20Sopenharmony_ci u32 clockcontrol_pci; /* aka m1 */ 778c2ecf20Sopenharmony_ci u32 clockcontrol_m2; /* mii/uart/mipsref */ 788c2ecf20Sopenharmony_ci u32 clockcontrol_m3; /* cpu */ 798c2ecf20Sopenharmony_ci u32 clkdiv; /* corerev >= 3 */ 808c2ecf20Sopenharmony_ci u32 gpiodebugsel; /* corerev >= 28 */ 818c2ecf20Sopenharmony_ci u32 capabilities_ext; /* 0xac */ 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci /* pll delay registers (corerev >= 4) */ 848c2ecf20Sopenharmony_ci u32 pll_on_delay; /* 0xb0 */ 858c2ecf20Sopenharmony_ci u32 fref_sel_delay; 868c2ecf20Sopenharmony_ci u32 slow_clk_ctl; /* 5 < corerev < 10 */ 878c2ecf20Sopenharmony_ci u32 PAD; 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci /* Instaclock registers (corerev >= 10) */ 908c2ecf20Sopenharmony_ci u32 system_clk_ctl; /* 0xc0 */ 918c2ecf20Sopenharmony_ci u32 clkstatestretch; 928c2ecf20Sopenharmony_ci u32 PAD[2]; 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci /* Indirect backplane access (corerev >= 22) */ 958c2ecf20Sopenharmony_ci u32 bp_addrlow; /* 0xd0 */ 968c2ecf20Sopenharmony_ci u32 bp_addrhigh; 978c2ecf20Sopenharmony_ci u32 bp_data; 988c2ecf20Sopenharmony_ci u32 PAD; 998c2ecf20Sopenharmony_ci u32 bp_indaccess; 1008c2ecf20Sopenharmony_ci u32 PAD[3]; 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci /* More clock dividers (corerev >= 32) */ 1038c2ecf20Sopenharmony_ci u32 clkdiv2; 1048c2ecf20Sopenharmony_ci u32 PAD[2]; 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci /* In AI chips, pointer to erom */ 1078c2ecf20Sopenharmony_ci u32 eromptr; /* 0xfc */ 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci /* ExtBus control registers (corerev >= 3) */ 1108c2ecf20Sopenharmony_ci u32 pcmcia_config; /* 0x100 */ 1118c2ecf20Sopenharmony_ci u32 pcmcia_memwait; 1128c2ecf20Sopenharmony_ci u32 pcmcia_attrwait; 1138c2ecf20Sopenharmony_ci u32 pcmcia_iowait; 1148c2ecf20Sopenharmony_ci u32 ide_config; 1158c2ecf20Sopenharmony_ci u32 ide_memwait; 1168c2ecf20Sopenharmony_ci u32 ide_attrwait; 1178c2ecf20Sopenharmony_ci u32 ide_iowait; 1188c2ecf20Sopenharmony_ci u32 prog_config; 1198c2ecf20Sopenharmony_ci u32 prog_waitcount; 1208c2ecf20Sopenharmony_ci u32 flash_config; 1218c2ecf20Sopenharmony_ci u32 flash_waitcount; 1228c2ecf20Sopenharmony_ci u32 SECI_config; /* 0x130 SECI configuration */ 1238c2ecf20Sopenharmony_ci u32 PAD[3]; 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci /* Enhanced Coexistence Interface (ECI) registers (corerev >= 21) */ 1268c2ecf20Sopenharmony_ci u32 eci_output; /* 0x140 */ 1278c2ecf20Sopenharmony_ci u32 eci_control; 1288c2ecf20Sopenharmony_ci u32 eci_inputlo; 1298c2ecf20Sopenharmony_ci u32 eci_inputmi; 1308c2ecf20Sopenharmony_ci u32 eci_inputhi; 1318c2ecf20Sopenharmony_ci u32 eci_inputintpolaritylo; 1328c2ecf20Sopenharmony_ci u32 eci_inputintpolaritymi; 1338c2ecf20Sopenharmony_ci u32 eci_inputintpolarityhi; 1348c2ecf20Sopenharmony_ci u32 eci_intmasklo; 1358c2ecf20Sopenharmony_ci u32 eci_intmaskmi; 1368c2ecf20Sopenharmony_ci u32 eci_intmaskhi; 1378c2ecf20Sopenharmony_ci u32 eci_eventlo; 1388c2ecf20Sopenharmony_ci u32 eci_eventmi; 1398c2ecf20Sopenharmony_ci u32 eci_eventhi; 1408c2ecf20Sopenharmony_ci u32 eci_eventmasklo; 1418c2ecf20Sopenharmony_ci u32 eci_eventmaskmi; 1428c2ecf20Sopenharmony_ci u32 eci_eventmaskhi; 1438c2ecf20Sopenharmony_ci u32 PAD[3]; 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ci /* SROM interface (corerev >= 32) */ 1468c2ecf20Sopenharmony_ci u32 sromcontrol; /* 0x190 */ 1478c2ecf20Sopenharmony_ci u32 sromaddress; 1488c2ecf20Sopenharmony_ci u32 sromdata; 1498c2ecf20Sopenharmony_ci u32 PAD[17]; 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci /* Clock control and hardware workarounds (corerev >= 20) */ 1528c2ecf20Sopenharmony_ci u32 clk_ctl_st; /* 0x1e0 */ 1538c2ecf20Sopenharmony_ci u32 hw_war; 1548c2ecf20Sopenharmony_ci u32 PAD[70]; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci /* UARTs */ 1578c2ecf20Sopenharmony_ci u8 uart0data; /* 0x300 */ 1588c2ecf20Sopenharmony_ci u8 uart0imr; 1598c2ecf20Sopenharmony_ci u8 uart0fcr; 1608c2ecf20Sopenharmony_ci u8 uart0lcr; 1618c2ecf20Sopenharmony_ci u8 uart0mcr; 1628c2ecf20Sopenharmony_ci u8 uart0lsr; 1638c2ecf20Sopenharmony_ci u8 uart0msr; 1648c2ecf20Sopenharmony_ci u8 uart0scratch; 1658c2ecf20Sopenharmony_ci u8 PAD[248]; /* corerev >= 1 */ 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci u8 uart1data; /* 0x400 */ 1688c2ecf20Sopenharmony_ci u8 uart1imr; 1698c2ecf20Sopenharmony_ci u8 uart1fcr; 1708c2ecf20Sopenharmony_ci u8 uart1lcr; 1718c2ecf20Sopenharmony_ci u8 uart1mcr; 1728c2ecf20Sopenharmony_ci u8 uart1lsr; 1738c2ecf20Sopenharmony_ci u8 uart1msr; 1748c2ecf20Sopenharmony_ci u8 uart1scratch; 1758c2ecf20Sopenharmony_ci u32 PAD[62]; 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci /* save/restore, corerev >= 48 */ 1788c2ecf20Sopenharmony_ci u32 sr_capability; /* 0x500 */ 1798c2ecf20Sopenharmony_ci u32 sr_control0; /* 0x504 */ 1808c2ecf20Sopenharmony_ci u32 sr_control1; /* 0x508 */ 1818c2ecf20Sopenharmony_ci u32 gpio_control; /* 0x50C */ 1828c2ecf20Sopenharmony_ci u32 PAD[60]; 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci /* PMU registers (corerev >= 20) */ 1858c2ecf20Sopenharmony_ci u32 pmucontrol; /* 0x600 */ 1868c2ecf20Sopenharmony_ci u32 pmucapabilities; 1878c2ecf20Sopenharmony_ci u32 pmustatus; 1888c2ecf20Sopenharmony_ci u32 res_state; 1898c2ecf20Sopenharmony_ci u32 res_pending; 1908c2ecf20Sopenharmony_ci u32 pmutimer; 1918c2ecf20Sopenharmony_ci u32 min_res_mask; 1928c2ecf20Sopenharmony_ci u32 max_res_mask; 1938c2ecf20Sopenharmony_ci u32 res_table_sel; 1948c2ecf20Sopenharmony_ci u32 res_dep_mask; 1958c2ecf20Sopenharmony_ci u32 res_updn_timer; 1968c2ecf20Sopenharmony_ci u32 res_timer; 1978c2ecf20Sopenharmony_ci u32 clkstretch; 1988c2ecf20Sopenharmony_ci u32 pmuwatchdog; 1998c2ecf20Sopenharmony_ci u32 gpiosel; /* 0x638, rev >= 1 */ 2008c2ecf20Sopenharmony_ci u32 gpioenable; /* 0x63c, rev >= 1 */ 2018c2ecf20Sopenharmony_ci u32 res_req_timer_sel; 2028c2ecf20Sopenharmony_ci u32 res_req_timer; 2038c2ecf20Sopenharmony_ci u32 res_req_mask; 2048c2ecf20Sopenharmony_ci u32 pmucapabilities_ext; /* 0x64c, pmurev >=15 */ 2058c2ecf20Sopenharmony_ci u32 chipcontrol_addr; /* 0x650 */ 2068c2ecf20Sopenharmony_ci u32 chipcontrol_data; /* 0x654 */ 2078c2ecf20Sopenharmony_ci u32 regcontrol_addr; 2088c2ecf20Sopenharmony_ci u32 regcontrol_data; 2098c2ecf20Sopenharmony_ci u32 pllcontrol_addr; 2108c2ecf20Sopenharmony_ci u32 pllcontrol_data; 2118c2ecf20Sopenharmony_ci u32 pmustrapopt; /* 0x668, corerev >= 28 */ 2128c2ecf20Sopenharmony_ci u32 pmu_xtalfreq; /* 0x66C, pmurev >= 10 */ 2138c2ecf20Sopenharmony_ci u32 retention_ctl; /* 0x670, pmurev >= 15 */ 2148c2ecf20Sopenharmony_ci u32 PAD[3]; 2158c2ecf20Sopenharmony_ci u32 retention_grpidx; /* 0x680 */ 2168c2ecf20Sopenharmony_ci u32 retention_grpctl; /* 0x684 */ 2178c2ecf20Sopenharmony_ci u32 PAD[94]; 2188c2ecf20Sopenharmony_ci u16 sromotp[768]; 2198c2ecf20Sopenharmony_ci}; 2208c2ecf20Sopenharmony_ci 2218c2ecf20Sopenharmony_ci/* chipid */ 2228c2ecf20Sopenharmony_ci#define CID_ID_MASK 0x0000ffff /* Chip Id mask */ 2238c2ecf20Sopenharmony_ci#define CID_REV_MASK 0x000f0000 /* Chip Revision mask */ 2248c2ecf20Sopenharmony_ci#define CID_REV_SHIFT 16 /* Chip Revision shift */ 2258c2ecf20Sopenharmony_ci#define CID_PKG_MASK 0x00f00000 /* Package Option mask */ 2268c2ecf20Sopenharmony_ci#define CID_PKG_SHIFT 20 /* Package Option shift */ 2278c2ecf20Sopenharmony_ci#define CID_CC_MASK 0x0f000000 /* CoreCount (corerev >= 4) */ 2288c2ecf20Sopenharmony_ci#define CID_CC_SHIFT 24 2298c2ecf20Sopenharmony_ci#define CID_TYPE_MASK 0xf0000000 /* Chip Type */ 2308c2ecf20Sopenharmony_ci#define CID_TYPE_SHIFT 28 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_ci/* capabilities */ 2338c2ecf20Sopenharmony_ci#define CC_CAP_UARTS_MASK 0x00000003 /* Number of UARTs */ 2348c2ecf20Sopenharmony_ci#define CC_CAP_MIPSEB 0x00000004 /* MIPS is in big-endian mode */ 2358c2ecf20Sopenharmony_ci#define CC_CAP_UCLKSEL 0x00000018 /* UARTs clock select */ 2368c2ecf20Sopenharmony_ci/* UARTs are driven by internal divided clock */ 2378c2ecf20Sopenharmony_ci#define CC_CAP_UINTCLK 0x00000008 2388c2ecf20Sopenharmony_ci#define CC_CAP_UARTGPIO 0x00000020 /* UARTs own GPIOs 15:12 */ 2398c2ecf20Sopenharmony_ci#define CC_CAP_EXTBUS_MASK 0x000000c0 /* External bus mask */ 2408c2ecf20Sopenharmony_ci#define CC_CAP_EXTBUS_NONE 0x00000000 /* No ExtBus present */ 2418c2ecf20Sopenharmony_ci#define CC_CAP_EXTBUS_FULL 0x00000040 /* ExtBus: PCMCIA, IDE & Prog */ 2428c2ecf20Sopenharmony_ci#define CC_CAP_EXTBUS_PROG 0x00000080 /* ExtBus: ProgIf only */ 2438c2ecf20Sopenharmony_ci#define CC_CAP_FLASH_MASK 0x00000700 /* Type of flash */ 2448c2ecf20Sopenharmony_ci#define CC_CAP_PLL_MASK 0x00038000 /* Type of PLL */ 2458c2ecf20Sopenharmony_ci#define CC_CAP_PWR_CTL 0x00040000 /* Power control */ 2468c2ecf20Sopenharmony_ci#define CC_CAP_OTPSIZE 0x00380000 /* OTP Size (0 = none) */ 2478c2ecf20Sopenharmony_ci#define CC_CAP_OTPSIZE_SHIFT 19 /* OTP Size shift */ 2488c2ecf20Sopenharmony_ci#define CC_CAP_OTPSIZE_BASE 5 /* OTP Size base */ 2498c2ecf20Sopenharmony_ci#define CC_CAP_JTAGP 0x00400000 /* JTAG Master Present */ 2508c2ecf20Sopenharmony_ci#define CC_CAP_ROM 0x00800000 /* Internal boot rom active */ 2518c2ecf20Sopenharmony_ci#define CC_CAP_BKPLN64 0x08000000 /* 64-bit backplane */ 2528c2ecf20Sopenharmony_ci#define CC_CAP_PMU 0x10000000 /* PMU Present, rev >= 20 */ 2538c2ecf20Sopenharmony_ci#define CC_CAP_SROM 0x40000000 /* Srom Present, rev >= 32 */ 2548c2ecf20Sopenharmony_ci/* Nand flash present, rev >= 35 */ 2558c2ecf20Sopenharmony_ci#define CC_CAP_NFLASH 0x80000000 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_ci#define CC_CAP2_SECI 0x00000001 /* SECI Present, rev >= 36 */ 2588c2ecf20Sopenharmony_ci/* GSIO (spi/i2c) present, rev >= 37 */ 2598c2ecf20Sopenharmony_ci#define CC_CAP2_GSIO 0x00000002 2608c2ecf20Sopenharmony_ci 2618c2ecf20Sopenharmony_ci/* sr_control0, rev >= 48 */ 2628c2ecf20Sopenharmony_ci#define CC_SR_CTL0_ENABLE_MASK BIT(0) 2638c2ecf20Sopenharmony_ci#define CC_SR_CTL0_ENABLE_SHIFT 0 2648c2ecf20Sopenharmony_ci#define CC_SR_CTL0_EN_SR_ENG_CLK_SHIFT 1 /* sr_clk to sr_memory enable */ 2658c2ecf20Sopenharmony_ci#define CC_SR_CTL0_RSRC_TRIGGER_SHIFT 2 /* Rising edge resource trigger 0 to 2668c2ecf20Sopenharmony_ci * sr_engine 2678c2ecf20Sopenharmony_ci */ 2688c2ecf20Sopenharmony_ci#define CC_SR_CTL0_MIN_DIV_SHIFT 6 /* Min division value for fast clk 2698c2ecf20Sopenharmony_ci * in sr_engine 2708c2ecf20Sopenharmony_ci */ 2718c2ecf20Sopenharmony_ci#define CC_SR_CTL0_EN_SBC_STBY_SHIFT 16 2728c2ecf20Sopenharmony_ci#define CC_SR_CTL0_EN_SR_ALP_CLK_MASK_SHIFT 18 2738c2ecf20Sopenharmony_ci#define CC_SR_CTL0_EN_SR_HT_CLK_SHIFT 19 2748c2ecf20Sopenharmony_ci#define CC_SR_CTL0_ALLOW_PIC_SHIFT 20 /* Allow pic to separate power 2758c2ecf20Sopenharmony_ci * domains 2768c2ecf20Sopenharmony_ci */ 2778c2ecf20Sopenharmony_ci#define CC_SR_CTL0_MAX_SR_LQ_CLK_CNT_SHIFT 25 2788c2ecf20Sopenharmony_ci#define CC_SR_CTL0_EN_MEM_DISABLE_FOR_SLEEP 30 2798c2ecf20Sopenharmony_ci 2808c2ecf20Sopenharmony_ci/* pmucapabilities */ 2818c2ecf20Sopenharmony_ci#define PCAP_REV_MASK 0x000000ff 2828c2ecf20Sopenharmony_ci#define PCAP_RC_MASK 0x00001f00 2838c2ecf20Sopenharmony_ci#define PCAP_RC_SHIFT 8 2848c2ecf20Sopenharmony_ci#define PCAP_TC_MASK 0x0001e000 2858c2ecf20Sopenharmony_ci#define PCAP_TC_SHIFT 13 2868c2ecf20Sopenharmony_ci#define PCAP_PC_MASK 0x001e0000 2878c2ecf20Sopenharmony_ci#define PCAP_PC_SHIFT 17 2888c2ecf20Sopenharmony_ci#define PCAP_VC_MASK 0x01e00000 2898c2ecf20Sopenharmony_ci#define PCAP_VC_SHIFT 21 2908c2ecf20Sopenharmony_ci#define PCAP_CC_MASK 0x1e000000 2918c2ecf20Sopenharmony_ci#define PCAP_CC_SHIFT 25 2928c2ecf20Sopenharmony_ci#define PCAP5_PC_MASK 0x003e0000 /* PMU corerev >= 5 */ 2938c2ecf20Sopenharmony_ci#define PCAP5_PC_SHIFT 17 2948c2ecf20Sopenharmony_ci#define PCAP5_VC_MASK 0x07c00000 2958c2ecf20Sopenharmony_ci#define PCAP5_VC_SHIFT 22 2968c2ecf20Sopenharmony_ci#define PCAP5_CC_MASK 0xf8000000 2978c2ecf20Sopenharmony_ci#define PCAP5_CC_SHIFT 27 2988c2ecf20Sopenharmony_ci/* pmucapabilites_ext PMU rev >= 15 */ 2998c2ecf20Sopenharmony_ci#define PCAPEXT_SR_SUPPORTED_MASK (1 << 1) 3008c2ecf20Sopenharmony_ci/* retention_ctl PMU rev >= 15 */ 3018c2ecf20Sopenharmony_ci#define PMU_RCTL_MACPHY_DISABLE_MASK (1 << 26) 3028c2ecf20Sopenharmony_ci#define PMU_RCTL_LOGIC_DISABLE_MASK (1 << 27) 3038c2ecf20Sopenharmony_ci 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_ci/* 3068c2ecf20Sopenharmony_ci* Maximum delay for the PMU state transition in us. 3078c2ecf20Sopenharmony_ci* This is an upper bound intended for spinwaits etc. 3088c2ecf20Sopenharmony_ci*/ 3098c2ecf20Sopenharmony_ci#define PMU_MAX_TRANSITION_DLY 15000 3108c2ecf20Sopenharmony_ci 3118c2ecf20Sopenharmony_ci#endif /* _SBCHIPC_H */ 312