|
@@ -34,9 +34,66 @@
|
|
|
|
|
|
#define DCB_LOC_ON_CHIP 0
|
|
#define DCB_LOC_ON_CHIP 0
|
|
|
|
|
|
|
|
+struct dcb_i2c_entry {
|
|
|
|
+ uint8_t port_type;
|
|
|
|
+ uint8_t read, write;
|
|
|
|
+ struct nouveau_i2c_chan *chan;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+enum dcb_gpio_tag {
|
|
|
|
+ DCB_GPIO_TVDAC0 = 0xc,
|
|
|
|
+ DCB_GPIO_TVDAC1 = 0x2d,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct dcb_gpio_entry {
|
|
|
|
+ enum dcb_gpio_tag tag;
|
|
|
|
+ int line;
|
|
|
|
+ bool invert;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct dcb_gpio_table {
|
|
|
|
+ int entries;
|
|
|
|
+ struct dcb_gpio_entry entry[DCB_MAX_NUM_GPIO_ENTRIES];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+enum dcb_connector_type {
|
|
|
|
+ DCB_CONNECTOR_VGA = 0x00,
|
|
|
|
+ DCB_CONNECTOR_TV_0 = 0x10,
|
|
|
|
+ DCB_CONNECTOR_TV_1 = 0x11,
|
|
|
|
+ DCB_CONNECTOR_TV_3 = 0x13,
|
|
|
|
+ DCB_CONNECTOR_DVI_I = 0x30,
|
|
|
|
+ DCB_CONNECTOR_DVI_D = 0x31,
|
|
|
|
+ DCB_CONNECTOR_LVDS = 0x40,
|
|
|
|
+ DCB_CONNECTOR_DP = 0x46,
|
|
|
|
+ DCB_CONNECTOR_eDP = 0x47,
|
|
|
|
+ DCB_CONNECTOR_HDMI_0 = 0x60,
|
|
|
|
+ DCB_CONNECTOR_HDMI_1 = 0x61,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct dcb_connector_table_entry {
|
|
|
|
+ uint32_t entry;
|
|
|
|
+ enum dcb_connector_type type;
|
|
|
|
+ uint8_t index;
|
|
|
|
+ uint8_t gpio_tag;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct dcb_connector_table {
|
|
|
|
+ int entries;
|
|
|
|
+ struct dcb_connector_table_entry entry[DCB_MAX_NUM_CONNECTOR_ENTRIES];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+enum dcb_type {
|
|
|
|
+ OUTPUT_ANALOG = 0,
|
|
|
|
+ OUTPUT_TV = 1,
|
|
|
|
+ OUTPUT_TMDS = 2,
|
|
|
|
+ OUTPUT_LVDS = 3,
|
|
|
|
+ OUTPUT_DP = 6,
|
|
|
|
+ OUTPUT_ANY = -1
|
|
|
|
+};
|
|
|
|
+
|
|
struct dcb_entry {
|
|
struct dcb_entry {
|
|
int index; /* may not be raw dcb index if merging has happened */
|
|
int index; /* may not be raw dcb index if merging has happened */
|
|
- uint8_t type;
|
|
|
|
|
|
+ enum dcb_type type;
|
|
uint8_t i2c_index;
|
|
uint8_t i2c_index;
|
|
uint8_t heads;
|
|
uint8_t heads;
|
|
uint8_t connector;
|
|
uint8_t connector;
|
|
@@ -71,40 +128,6 @@ struct dcb_entry {
|
|
bool i2c_upper_default;
|
|
bool i2c_upper_default;
|
|
};
|
|
};
|
|
|
|
|
|
-struct dcb_i2c_entry {
|
|
|
|
- uint8_t port_type;
|
|
|
|
- uint8_t read, write;
|
|
|
|
- struct nouveau_i2c_chan *chan;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-enum dcb_gpio_tag {
|
|
|
|
- DCB_GPIO_TVDAC0 = 0xc,
|
|
|
|
- DCB_GPIO_TVDAC1 = 0x2d,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-struct dcb_gpio_entry {
|
|
|
|
- enum dcb_gpio_tag tag;
|
|
|
|
- int line;
|
|
|
|
- bool invert;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-struct dcb_gpio_table {
|
|
|
|
- int entries;
|
|
|
|
- struct dcb_gpio_entry entry[DCB_MAX_NUM_GPIO_ENTRIES];
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-struct dcb_connector_table_entry {
|
|
|
|
- uint32_t entry;
|
|
|
|
- uint8_t type;
|
|
|
|
- uint8_t index;
|
|
|
|
- uint8_t gpio_tag;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-struct dcb_connector_table {
|
|
|
|
- int entries;
|
|
|
|
- struct dcb_connector_table_entry entry[DCB_MAX_NUM_CONNECTOR_ENTRIES];
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
struct dcb_table {
|
|
struct dcb_table {
|
|
uint8_t version;
|
|
uint8_t version;
|
|
|
|
|
|
@@ -121,15 +144,6 @@ struct dcb_table {
|
|
struct dcb_connector_table connector;
|
|
struct dcb_connector_table connector;
|
|
};
|
|
};
|
|
|
|
|
|
-enum nouveau_encoder_type {
|
|
|
|
- OUTPUT_ANALOG = 0,
|
|
|
|
- OUTPUT_TV = 1,
|
|
|
|
- OUTPUT_TMDS = 2,
|
|
|
|
- OUTPUT_LVDS = 3,
|
|
|
|
- OUTPUT_DP = 6,
|
|
|
|
- OUTPUT_ANY = -1
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
enum nouveau_or {
|
|
enum nouveau_or {
|
|
OUTPUT_A = (1 << 0),
|
|
OUTPUT_A = (1 << 0),
|
|
OUTPUT_B = (1 << 1),
|
|
OUTPUT_B = (1 << 1),
|