1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #ifndef __STONEYRIDGE_CHIP_H__
4 #define __STONEYRIDGE_CHIP_H__
8 #include <commonlib/helpers.h>
9 #include <drivers/i2c/designware/dw_i2c.h>
12 #include <acpi/acpi_device.h>
15 #if CONFIG(AMD_APU_MERLINFALCON)
17 #define MAX_DIMMS_PER_CH 2
18 #else /* AMD_APU_STONEYRIDGE || AMD_APU_PRAIRIEFALCON */
20 #define MAX_DIMMS_PER_CH 2
23 #define STONEY_I2C_DEV_MAX 4
25 struct soc_amd_stoneyridge_config
{
26 u8 spd_addr_lookup
[MAX_NODES
][MAX_DRAM_CH
][MAX_DIMMS_PER_CH
];
30 } dram_clear_on_reset
;
33 /* Do not enable UMA in the system. */
35 /* Enable UMA with a specific size. */
36 UMAMODE_SPECIFIED_SIZE
,
37 /* Let AGESA determine the proper size. Non-legacy requires
38 * the resolution to be specified PLATFORM_CONFIGURATION */
40 UMAMODE_AUTO_NON_LEGACY
,
43 /* Used if UMAMODE_SPECIFIED_SIZE is set. */
47 * If sb_reset_i2c_peripherals() is called, this devicetree register
48 * defines which I2C SCL will be toggled 9 times at 100 KHz.
49 * For example, should we need I2C0 and I2C3 have their peripheral
50 * devices reset by toggling SCL, use:
52 * register i2c_scl_reset = (GPIO_I2C0_SCL | GPIO_I2C3_SCL)
55 struct dw_i2c_bus_config i2c
[STONEY_I2C_DEV_MAX
];
60 * This specifies the LVDS/eDP power-up sequence time for the delay
61 * between VaryBL and BLON.
62 * 0 - Use the VBIOS default (default). The video BIOS default is 32ms.
63 * n - Values other than zero specify a setting of (4 * n) milliseconds
66 u8 lvds_poseq_varybl_to_blon
;
67 u8 lvds_poseq_blon_to_varybl
;
70 #endif /* __STONEYRIDGE_CHIP_H__ */