/* SPDX-License-Identifier: MIT */ #ifndef AST_POST_H #define AST_POST_H #include #include struct ast_device; /* DRAM timing tables */ struct ast_dramstruct { u32 index; u32 data; }; /* control commands */ #define __AST_DRAMSTRUCT_UDELAY 0xff00 #define __AST_DRAMSTRUCT_INVALID 0xffff #define __AST_DRAMSTRUCT_INDEX(_name) \ (__AST_DRAMSTRUCT_ ## _name) #define __AST_DRAMSTRUCT_INIT(_index, _value) \ { (_index), (_value) } #define AST_DRAMSTRUCT_REG(_reg, _value) \ __AST_DRAMSTRUCT_INIT(_reg, _value) #define AST_DRAMSTRUCT_UDELAY(_usecs) \ __AST_DRAMSTRUCT_INIT(__AST_DRAMSTRUCT_UDELAY, _usecs) #define AST_DRAMSTRUCT_INVALID \ __AST_DRAMSTRUCT_INIT(__AST_DRAMSTRUCT_INVALID, U32_MAX) #define AST_DRAMSTRUCT_IS_REG(_entry, _reg) \ ((_entry)->index == (_reg)) #define AST_DRAMSTRUCT_IS(_entry, _name) \ ((_entry)->index == __AST_DRAMSTRUCT_INDEX(_name)) bool mmc_test(struct ast_device *ast, u32 datagen, u8 test_ctl); bool mmc_test_burst(struct ast_device *ast, u32 datagen); /* ast_2000.c */ void ast_2000_set_def_ext_reg(struct ast_device *ast); /* ast_2300.c */ void ast_2300_set_def_ext_reg(struct ast_device *ast); #endif