1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2017 - 2020, Broadcom 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #ifndef SWREG_H 8*91f16700Schasinglulu #define SWREG_H 9*91f16700Schasinglulu 10*91f16700Schasinglulu /* default voltage if no valid OTP */ 11*91f16700Schasinglulu #define VDDC_CORE_DEF_VOLT 910000 /* 0.91v */ 12*91f16700Schasinglulu #define IHOST_DEF_VOLT 940000 /* 0.94v */ 13*91f16700Schasinglulu 14*91f16700Schasinglulu #define B0_VDDC_CORE_DEF_VOLT 950000 /* 0.95v */ 15*91f16700Schasinglulu #define B0_IHOST_DEF_VOLT 950000 /* 0.95v */ 16*91f16700Schasinglulu #define B0_DDR_VDDC_DEF_VOLT 1000000 /* 1v */ 17*91f16700Schasinglulu 18*91f16700Schasinglulu #define SWREG_IHOST1_DIS 4 19*91f16700Schasinglulu #define SWREG_IHOST1_REG_RESETB 5 20*91f16700Schasinglulu #define SWREG_IHOST1_PMU_STABLE 2 21*91f16700Schasinglulu 22*91f16700Schasinglulu enum sw_reg { 23*91f16700Schasinglulu DDR_VDDC = 1, 24*91f16700Schasinglulu IHOST03, 25*91f16700Schasinglulu IHOST12, 26*91f16700Schasinglulu IHOST_ARRAY, 27*91f16700Schasinglulu DDRIO_SLAVE, 28*91f16700Schasinglulu VDDC_CORE, 29*91f16700Schasinglulu VDDC1, 30*91f16700Schasinglulu DDRIO_MASTER 31*91f16700Schasinglulu }; 32*91f16700Schasinglulu 33*91f16700Schasinglulu int set_swreg(enum sw_reg reg_id, uint32_t micro_volts); 34*91f16700Schasinglulu int swreg_firmware_update(void); 35*91f16700Schasinglulu 36*91f16700Schasinglulu #endif 37