Rev 1321 | Rev 1963 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1321 | Rev 1430 | ||
---|---|---|---|
Line 715... | Line 715... | ||
715 | # define AVIVO_LVDS_BACKLIGHT_LEVEL_SHIFT 8 |
715 | # define AVIVO_LVDS_BACKLIGHT_LEVEL_SHIFT 8 |
Line 716... | Line 716... | ||
716 | 716 | ||
Line 717... | Line 717... | ||
717 | #define AVIVO_DVOA_BIT_DEPTH_CONTROL 0x7988 |
717 | #define AVIVO_DVOA_BIT_DEPTH_CONTROL 0x7988 |
718 | - | ||
719 | #define AVIVO_DC_GPIO_HPD_A 0x7e94 |
- | |
720 | - | ||
721 | #define AVIVO_GPIO_0 0x7e30 |
- | |
722 | #define AVIVO_GPIO_1 0x7e40 |
- | |
723 | #define AVIVO_GPIO_2 0x7e50 |
- | |
724 | #define AVIVO_GPIO_3 0x7e60 |
718 | |
Line 725... | Line 719... | ||
725 | 719 | #define AVIVO_DC_GPIO_HPD_A 0x7e94 |
|
726 | #define AVIVO_DC_GPIO_HPD_Y 0x7e9c |
720 | #define AVIVO_DC_GPIO_HPD_Y 0x7e9c |
727 | 721 | ||
728 | #define AVIVO_I2C_STATUS 0x7d30 |
722 | #define AVIVO_DC_I2C_STATUS1 0x7d30 |
729 | # define AVIVO_I2C_STATUS_DONE (1 << 0) |
723 | # define AVIVO_DC_I2C_DONE (1 << 0) |
730 | # define AVIVO_I2C_STATUS_NACK (1 << 1) |
724 | # define AVIVO_DC_I2C_NACK (1 << 1) |
731 | # define AVIVO_I2C_STATUS_HALT (1 << 2) |
725 | # define AVIVO_DC_I2C_HALT (1 << 2) |
732 | # define AVIVO_I2C_STATUS_GO (1 << 3) |
726 | # define AVIVO_DC_I2C_GO (1 << 3) |
733 | # define AVIVO_I2C_STATUS_MASK 0x7 |
727 | #define AVIVO_DC_I2C_RESET 0x7d34 |
734 | /* If radeon_mm_i2c is to be believed, this is HALT, NACK, and maybe |
728 | # define AVIVO_DC_I2C_SOFT_RESET (1 << 0) |
735 | * DONE? */ |
729 | # define AVIVO_DC_I2C_ABORT (1 << 8) |
- | 730 | #define AVIVO_DC_I2C_CONTROL1 0x7d38 |
|
- | 731 | # define AVIVO_DC_I2C_START (1 << 0) |
|
- | 732 | # define AVIVO_DC_I2C_STOP (1 << 1) |
|
- | 733 | # define AVIVO_DC_I2C_RECEIVE (1 << 2) |
|
- | 734 | # define AVIVO_DC_I2C_EN (1 << 8) |
|
- | 735 | # define AVIVO_DC_I2C_PIN_SELECT(x) ((x) << 16) |
|
736 | # define AVIVO_I2C_STATUS_CMD_RESET 0x7 |
736 | # define AVIVO_SEL_DDC1 0 |
737 | # define AVIVO_I2C_STATUS_CMD_WAIT (1 << 3) |
737 | # define AVIVO_SEL_DDC2 1 |
738 | #define AVIVO_I2C_STOP 0x7d34 |
738 | # define AVIVO_SEL_DDC3 2 |
739 | #define AVIVO_I2C_START_CNTL 0x7d38 |
739 | #define AVIVO_DC_I2C_CONTROL2 0x7d3c |
740 | # define AVIVO_I2C_START (1 << 8) |
740 | # define AVIVO_DC_I2C_ADDR_COUNT(x) ((x) << 0) |
741 | # define AVIVO_I2C_CONNECTOR0 (0 << 16) |
741 | # define AVIVO_DC_I2C_DATA_COUNT(x) ((x) << 8) |
742 | # define AVIVO_I2C_CONNECTOR1 (1 << 16) |
742 | #define AVIVO_DC_I2C_CONTROL3 0x7d40 |
- | 743 | # define AVIVO_DC_I2C_DATA_DRIVE_EN (1 << 0) |
|
- | 744 | # define AVIVO_DC_I2C_DATA_DRIVE_SEL (1 << 1) |
|
743 | #define R520_I2C_START (1<<0) |
745 | # define AVIVO_DC_I2C_CLK_DRIVE_EN (1 << 7) |
744 | #define R520_I2C_STOP (1<<1) |
746 | # define AVIVO_DC_I2C_RD_INTRA_BYTE_DELAY(x) ((x) << 8) |
- | 747 | # define AVIVO_DC_I2C_WR_INTRA_BYTE_DELAY(x) ((x) << 16) |
|
745 | #define R520_I2C_RX (1<<2) |
748 | # define AVIVO_DC_I2C_TIME_LIMIT(x) ((x) << 24) |
746 | #define R520_I2C_EN (1<<8) |
749 | #define AVIVO_DC_I2C_DATA 0x7d44 |
747 | #define R520_I2C_DDC1 (0<<16) |
750 | #define AVIVO_DC_I2C_INTERRUPT_CONTROL 0x7d48 |
748 | #define R520_I2C_DDC2 (1<<16) |
751 | # define AVIVO_DC_I2C_INTERRUPT_STATUS (1 << 0) |
- | 752 | # define AVIVO_DC_I2C_INTERRUPT_AK (1 << 8) |
|
749 | #define R520_I2C_DDC3 (2<<16) |
753 | # define AVIVO_DC_I2C_INTERRUPT_ENABLE (1 << 16) |
750 | #define R520_I2C_DDC_MASK (3<<16) |
754 | #define AVIVO_DC_I2C_ARBITRATION 0x7d50 |
751 | #define AVIVO_I2C_CONTROL2 0x7d3c |
755 | # define AVIVO_DC_I2C_SW_WANTS_TO_USE_I2C (1 << 0) |
752 | # define AVIVO_I2C_7D3C_SIZE_SHIFT 8 |
756 | # define AVIVO_DC_I2C_SW_CAN_USE_I2C (1 << 1) |
- | 757 | # define AVIVO_DC_I2C_SW_DONE_USING_I2C (1 << 8) |
|
- | 758 | # define AVIVO_DC_I2C_HW_NEEDS_I2C (1 << 9) |
|
753 | # define AVIVO_I2C_7D3C_SIZE_MASK (0xf << 8) |
759 | # define AVIVO_DC_I2C_ABORT_HDCP_I2C (1 << 16) |
754 | #define AVIVO_I2C_CONTROL3 0x7d40 |
760 | # define AVIVO_DC_I2C_HW_USING_I2C (1 << 17) |
755 | /* Reading is done 4 bytes at a time: read the bottom 8 bits from |
761 | |
756 | * 7d44, four times in a row. |
762 | #define AVIVO_DC_GPIO_DDC1_MASK 0x7e40 |
- | 763 | #define AVIVO_DC_GPIO_DDC1_A 0x7e44 |
|
757 | * Writing is a little more complex. First write DATA with |
764 | #define AVIVO_DC_GPIO_DDC1_EN 0x7e48 |
758 | * 0xnnnnnnzz, then 0xnnnnnnyy, where nnnnnn is some non-deterministic |
765 | #define AVIVO_DC_GPIO_DDC1_Y 0x7e4c |
759 | * magic number, zz is, I think, the slave address, and yy is the byte |
766 | |
760 | * you want to write. */ |
767 | #define AVIVO_DC_GPIO_DDC2_MASK 0x7e50 |
- | 768 | #define AVIVO_DC_GPIO_DDC2_A 0x7e54 |
|
761 | #define AVIVO_I2C_DATA 0x7d44 |
769 | #define AVIVO_DC_GPIO_DDC2_EN 0x7e58 |
762 | #define R520_I2C_ADDR_COUNT_MASK (0x7) |
770 | #define AVIVO_DC_GPIO_DDC2_Y 0x7e5c |
763 | #define R520_I2C_DATA_COUNT_SHIFT (8) |
771 | |
764 | #define R520_I2C_DATA_COUNT_MASK (0xF00) |
772 | #define AVIVO_DC_GPIO_DDC3_MASK 0x7e60 |
Line 765... | Line 773... | ||
765 | #define AVIVO_I2C_CNTL 0x7d50 |
773 | #define AVIVO_DC_GPIO_DDC3_A 0x7e64 |
766 | # define AVIVO_I2C_EN (1 << 0) |
774 | #define AVIVO_DC_GPIO_DDC3_EN 0x7e68 |
767 | # define AVIVO_I2C_RESET (1 << 8) |
775 | #define AVIVO_DC_GPIO_DDC3_Y 0x7e6c |