1 // SPDX-License-Identifier: MIT 2 // 3 // Copyright 2025 Advanced Micro Devices, Inc. 4 5 #ifndef __DCN10_DIO_H__ 6 #define __DCN10_DIO_H__ 7 8 #include "dio.h" 9 10 #define TO_DCN10_DIO(dio_base) \ 11 container_of(dio_base, struct dcn10_dio, base) 12 13 #define DIO_REG_LIST_DCN10()\ 14 SR(DIO_MEM_PWR_CTRL) 15 16 struct dcn_dio_registers { 17 uint32_t DIO_MEM_PWR_CTRL; 18 }; 19 20 struct dcn_dio_shift { 21 uint8_t I2C_LIGHT_SLEEP_FORCE; 22 }; 23 24 struct dcn_dio_mask { 25 uint32_t I2C_LIGHT_SLEEP_FORCE; 26 }; 27 28 struct dcn10_dio { 29 struct dio base; 30 const struct dcn_dio_registers *regs; 31 const struct dcn_dio_shift *shifts; 32 const struct dcn_dio_mask *masks; 33 }; 34 35 void dcn10_dio_construct( 36 struct dcn10_dio *dio10, 37 struct dc_context *ctx, 38 const struct dcn_dio_registers *regs, 39 const struct dcn_dio_shift *shifts, 40 const struct dcn_dio_mask *masks); 41 42 #endif /* __DCN10_DIO_H__ */ 43