Skip to content

Commit

Permalink
nb/amd/amdmct/mct_ddr3: Save and restore SkewMemClk for S3 resume
Browse files Browse the repository at this point in the history
Change-Id: Ib331bd330530d4d6be5eb7351d9f9b15c135dd63
Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
Reviewed-on: https://review.coreboot.org/13167
Tested-by: build bot (Jenkins)
Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
Reviewed-by: Martin Roth <martinroth@google.com>
  • Loading branch information
madscientist159 authored and Martin Roth committed Feb 1, 2016
1 parent e79cb5e commit b410d26
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/northbridge/amd/amdmct/mct_ddr3/mct_d.h
Original file line number Diff line number Diff line change
Expand Up @@ -729,7 +729,7 @@ struct amd_s3_persistent_mct_channel_data {
uint32_t f3x5c;
uint32_t f3x60;

/* Family 15h-specific registers (90 dwords) */
/* Family 15h-specific registers (91 dwords) */
uint32_t f2x200;
uint32_t f2x204;
uint32_t f2x208;
Expand Down Expand Up @@ -785,8 +785,9 @@ struct amd_s3_persistent_mct_channel_data {
uint32_t f2x9cx0d0fc231;
uint32_t f2x9cx0d0f0_0_f_31[9]; /* [lane] */
uint32_t f2x9cx0d0f8021;
uint32_t f2x9cx0d0fe00a;

/* TOTAL: 342 dwords */
/* TOTAL: 343 dwords */
} __attribute__((packed));

struct amd_s3_persistent_node_data {
Expand Down
6 changes: 6 additions & 0 deletions src/northbridge/amd/amdmct/mct_ddr3/s3utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -454,6 +454,9 @@ void copy_mct_data_to_save_variable(struct amd_s3_persistent_data* persistent_da
data->f2x9cx0d0f0_0_f_31[i] = read_amd_dct_index_register_dct(dev_fn2, node, channel, 0x98, 0x0d0f0031 | (i << 8));

data->f2x9cx0d0f8021 = read_amd_dct_index_register_dct(dev_fn2, node, channel, 0x98, 0x0d0f8021);

if (channel == 1)
data->f2x9cx0d0fe00a = read_amd_dct_index_register_dct(dev_fn2, node, channel, 0x98, 0x0d0fe00a);
}

/* Stage 4 */
Expand Down Expand Up @@ -796,6 +799,9 @@ void restore_mct_data_from_save_variable(struct amd_s3_persistent_data* persiste
write_amd_dct_index_register_dct(PCI_DEV(0, 0x18 + node, 2), node, channel, 0x98, 0x0d0f0031 | (i << 8), data->f2x9cx0d0f0_0_f_31[i]);

write_amd_dct_index_register_dct(PCI_DEV(0, 0x18 + node, 2), node, channel, 0x98, 0x0d0f8021, data->f2x9cx0d0f8021);

if (channel == 1)
write_amd_dct_index_register_dct(PCI_DEV(0, 0x18 + node, 2), node, channel, 0x98, 0x0d0fe00a, data->f2x9cx0d0fe00a);
}
}
}
Expand Down

0 comments on commit b410d26

Please sign in to comment.