Lines Matching refs:pei_data
56 static int read_seed_from_cmos(struct pei_data *pei_data) in read_seed_from_cmos() argument
74 ret = rtc_read32(dev, CMOS_OFFSET_MRC_SEED, &pei_data->scrambler_seed); in read_seed_from_cmos()
77 &pei_data->scrambler_seed_s3); in read_seed_from_cmos()
85 pei_data->scrambler_seed, CMOS_OFFSET_MRC_SEED); in read_seed_from_cmos()
87 pei_data->scrambler_seed_s3, CMOS_OFFSET_MRC_SEED_S3); in read_seed_from_cmos()
90 c1 = compute_ip_checksum((u8 *)&pei_data->scrambler_seed, in read_seed_from_cmos()
92 c2 = compute_ip_checksum((u8 *)&pei_data->scrambler_seed_s3, in read_seed_from_cmos()
101 pei_data->scrambler_seed = 0; in read_seed_from_cmos()
102 pei_data->scrambler_seed_s3 = 0; in read_seed_from_cmos()
109 static int prepare_mrc_cache(struct pei_data *pei_data) in prepare_mrc_cache() argument
115 ret = read_seed_from_cmos(pei_data); in prepare_mrc_cache()
125 pei_data->mrc_input = mrc_cache->data; in prepare_mrc_cache()
126 pei_data->mrc_input_len = mrc_cache->data_size; in prepare_mrc_cache()
128 pei_data->mrc_input, pei_data->mrc_input_len, in prepare_mrc_cache()
134 static int write_seeds_to_cmos(struct pei_data *pei_data) in write_seeds_to_cmos() argument
147 rtc_write32(dev, CMOS_OFFSET_MRC_SEED, pei_data->scrambler_seed); in write_seeds_to_cmos()
149 pei_data->scrambler_seed, CMOS_OFFSET_MRC_SEED); in write_seeds_to_cmos()
151 rtc_write32(dev, CMOS_OFFSET_MRC_SEED_S3, pei_data->scrambler_seed_s3); in write_seeds_to_cmos()
153 pei_data->scrambler_seed_s3, CMOS_OFFSET_MRC_SEED_S3); in write_seeds_to_cmos()
156 c1 = compute_ip_checksum((u8 *)&pei_data->scrambler_seed, in write_seeds_to_cmos()
158 c2 = compute_ip_checksum((u8 *)&pei_data->scrambler_seed_s3, in write_seeds_to_cmos()
181 struct pei_data *pei_data) in post_system_agent_init() argument
197 if (!pei_data->pcie_init) in post_system_agent_init()
206 static int copy_spd(struct udevice *dev, struct pei_data *peid) in copy_spd()
403 struct pei_data _pei_data __aligned(8) = { in dram_init()
456 struct pei_data *pei_data = &_pei_data; in dram_init() local
478 ret = copy_spd(dev, pei_data); in dram_init()
483 pei_data->boot_mode = gd->arch.pei_boot_mode; in dram_init()
485 debug("mrc_input %p\n", pei_data->mrc_input); in dram_init()
492 pei_data->boot_mode == PEI_BOOT_RESUME) { in dram_init()
493 ret = prepare_mrc_cache(pei_data); in dram_init()
499 if (pei_data->boot_mode == PEI_BOOT_RESUME && !pei_data->mrc_input) { in dram_init()
505 pei_data->tx_byte = sdram_console_tx_byte; in dram_init()
519 ret = mrc_common_init(dev, pei_data, false); in dram_init()
532 debug("MRC output data length %#x at %p\n", pei_data->mrc_output_len, in dram_init()
533 pei_data->mrc_output); in dram_init()
535 post_system_agent_init(dev, me_dev, pei_data); in dram_init()
539 if (pei_data->boot_mode != PEI_BOOT_RESUME) { in dram_init()
544 gd->arch.mrc_output = (char *)pei_data->mrc_output; in dram_init()
545 gd->arch.mrc_output_len = pei_data->mrc_output_len; in dram_init()
546 ret = write_seeds_to_cmos(pei_data); in dram_init()