#include <arch/cache.h>
#include <console/console.h>
#include <soc/addressmap.h>
#include <soc/clk_rst.h>
#include <soc/pmc.h>
#include <soc/sdram.h>
Go to the source code of this file.
|
#define | pack(src, src_bits, dst, dst_bits) |
|
#define | s(param, src_bits, pmcreg, dst_bits) pack(sdram->param, src_bits, pmc->pmcreg, dst_bits) |
|
#define | m(clkreg, src_bits, pmcreg, dst_bits) pack(clk_rst->clkreg, src_bits, pmc->pmcreg, dst_bits) |
|
#define | c(value, pmcreg, dst_bits) pack(value, (1 ? dst_bits) - (0 ? dst_bits) : 0, pmc->pmcreg, dst_bits) |
|
#define c |
( |
|
value, |
|
|
|
pmcreg, |
|
|
|
dst_bits |
|
) |
| pack(value, (1 ? dst_bits) - (0 ? dst_bits) : 0, pmc->pmcreg, dst_bits) |
#define m |
( |
|
clkreg, |
|
|
|
src_bits, |
|
|
|
pmcreg, |
|
|
|
dst_bits |
|
) |
| pack(clk_rst->clkreg, src_bits, pmc->pmcreg, dst_bits) |
◆ pack
#define pack |
( |
|
src, |
|
|
|
src_bits, |
|
|
|
dst, |
|
|
|
dst_bits |
|
) |
| |
Value: { \
_Static_assert((1 ? src_bits) >= (0 ? src_bits) && (1 ? dst_bits) >= \
(0 ? dst_bits), "byte range flipped (must be MSB:LSB)"); \
_Static_assert((1 ? src_bits) - (0 ? src_bits) == (1 ? dst_bits) - \
(0 ? dst_bits), "src and dst byte range lengths differ"); \
u32
mask = 0xffffffff >> (31 - ((1 ? src_bits) - (0 ? src_bits))); \
dst &= ~(
mask << (0 ? dst_bits)); \
dst |= ((src >> (0 ? src_bits)) &
mask) << (0 ? dst_bits); \
}
#define s |
( |
|
param, |
|
|
|
src_bits, |
|
|
|
pmcreg, |
|
|
|
dst_bits |
|
) |
| pack(sdram->param, src_bits, pmc->pmcreg, dst_bits) |
◆ sdram_lp0_save_params()