diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_combios.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_combios.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c index 4af89126e223..33a56a09ff10 100644 --- a/drivers/gpu/drm/radeon/radeon_combios.c +++ b/drivers/gpu/drm/radeon/radeon_combios.c | |||
@@ -1548,6 +1548,9 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev) | |||
1548 | of_machine_is_compatible("PowerBook6,7")) { | 1548 | of_machine_is_compatible("PowerBook6,7")) { |
1549 | /* ibook */ | 1549 | /* ibook */ |
1550 | rdev->mode_info.connector_table = CT_IBOOK; | 1550 | rdev->mode_info.connector_table = CT_IBOOK; |
1551 | } else if (of_machine_is_compatible("PowerMac3,5")) { | ||
1552 | /* PowerMac G4 Silver radeon 7500 */ | ||
1553 | rdev->mode_info.connector_table = CT_MAC_G4_SILVER; | ||
1551 | } else if (of_machine_is_compatible("PowerMac4,4")) { | 1554 | } else if (of_machine_is_compatible("PowerMac4,4")) { |
1552 | /* emac */ | 1555 | /* emac */ |
1553 | rdev->mode_info.connector_table = CT_EMAC; | 1556 | rdev->mode_info.connector_table = CT_EMAC; |
@@ -2212,6 +2215,54 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev) | |||
2212 | CONNECTOR_OBJECT_ID_SVIDEO, | 2215 | CONNECTOR_OBJECT_ID_SVIDEO, |
2213 | &hpd); | 2216 | &hpd); |
2214 | break; | 2217 | break; |
2218 | case CT_MAC_G4_SILVER: | ||
2219 | DRM_INFO("Connector Table: %d (mac g4 silver)\n", | ||
2220 | rdev->mode_info.connector_table); | ||
2221 | /* DVI-I - tv dac, int tmds */ | ||
2222 | ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0); | ||
2223 | hpd.hpd = RADEON_HPD_1; /* ??? */ | ||
2224 | radeon_add_legacy_encoder(dev, | ||
2225 | radeon_get_encoder_enum(dev, | ||
2226 | ATOM_DEVICE_DFP1_SUPPORT, | ||
2227 | 0), | ||
2228 | ATOM_DEVICE_DFP1_SUPPORT); | ||
2229 | radeon_add_legacy_encoder(dev, | ||
2230 | radeon_get_encoder_enum(dev, | ||
2231 | ATOM_DEVICE_CRT2_SUPPORT, | ||
2232 | 2), | ||
2233 | ATOM_DEVICE_CRT2_SUPPORT); | ||
2234 | radeon_add_legacy_connector(dev, 0, | ||
2235 | ATOM_DEVICE_DFP1_SUPPORT | | ||
2236 | ATOM_DEVICE_CRT2_SUPPORT, | ||
2237 | DRM_MODE_CONNECTOR_DVII, &ddc_i2c, | ||
2238 | CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I, | ||
2239 | &hpd); | ||
2240 | /* VGA - primary dac */ | ||
2241 | ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0); | ||
2242 | hpd.hpd = RADEON_HPD_NONE; | ||
2243 | radeon_add_legacy_encoder(dev, | ||
2244 | radeon_get_encoder_enum(dev, | ||
2245 | ATOM_DEVICE_CRT1_SUPPORT, | ||
2246 | 1), | ||
2247 | ATOM_DEVICE_CRT1_SUPPORT); | ||
2248 | radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT1_SUPPORT, | ||
2249 | DRM_MODE_CONNECTOR_VGA, &ddc_i2c, | ||
2250 | CONNECTOR_OBJECT_ID_VGA, | ||
2251 | &hpd); | ||
2252 | /* TV - TV DAC */ | ||
2253 | ddc_i2c.valid = false; | ||
2254 | hpd.hpd = RADEON_HPD_NONE; | ||
2255 | radeon_add_legacy_encoder(dev, | ||
2256 | radeon_get_encoder_enum(dev, | ||
2257 | ATOM_DEVICE_TV1_SUPPORT, | ||
2258 | 2), | ||
2259 | ATOM_DEVICE_TV1_SUPPORT); | ||
2260 | radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, | ||
2261 | DRM_MODE_CONNECTOR_SVIDEO, | ||
2262 | &ddc_i2c, | ||
2263 | CONNECTOR_OBJECT_ID_SVIDEO, | ||
2264 | &hpd); | ||
2265 | break; | ||
2215 | default: | 2266 | default: |
2216 | DRM_INFO("Connector table: %d (invalid)\n", | 2267 | DRM_INFO("Connector table: %d (invalid)\n", |
2217 | rdev->mode_info.connector_table); | 2268 | rdev->mode_info.connector_table); |