|
@@ -571,6 +571,7 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde
|
|
|
}
|
|
|
|
|
|
if (clk_mask && data_mask) {
|
|
|
+ /* system specific masks */
|
|
|
i2c.mask_clk_mask = clk_mask;
|
|
|
i2c.mask_data_mask = data_mask;
|
|
|
i2c.a_clk_mask = clk_mask;
|
|
@@ -579,7 +580,19 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde
|
|
|
i2c.en_data_mask = data_mask;
|
|
|
i2c.y_clk_mask = clk_mask;
|
|
|
i2c.y_data_mask = data_mask;
|
|
|
+ } else if ((ddc_line == RADEON_GPIOPAD_MASK) ||
|
|
|
+ (ddc_line == RADEON_MDGPIO_MASK)) {
|
|
|
+ /* default gpiopad masks */
|
|
|
+ i2c.mask_clk_mask = (0x20 << 8);
|
|
|
+ i2c.mask_data_mask = 0x80;
|
|
|
+ i2c.a_clk_mask = (0x20 << 8);
|
|
|
+ i2c.a_data_mask = 0x80;
|
|
|
+ i2c.en_clk_mask = (0x20 << 8);
|
|
|
+ i2c.en_data_mask = 0x80;
|
|
|
+ i2c.y_clk_mask = (0x20 << 8);
|
|
|
+ i2c.y_data_mask = 0x80;
|
|
|
} else {
|
|
|
+ /* default masks for ddc pads */
|
|
|
i2c.mask_clk_mask = RADEON_GPIO_EN_1;
|
|
|
i2c.mask_data_mask = RADEON_GPIO_EN_0;
|
|
|
i2c.a_clk_mask = RADEON_GPIO_A_1;
|