* correct naming error. (a shift is a shift until you use it.. then its a mask)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42745 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -146,23 +146,23 @@ struct ddc_info {
|
|||||||
|
|
||||||
uint16 mask_scl_reg;
|
uint16 mask_scl_reg;
|
||||||
uint16 mask_sda_reg;
|
uint16 mask_sda_reg;
|
||||||
uint16 mask_scl_shift;
|
uint16 mask_scl_mask;
|
||||||
uint16 mask_sda_shift;
|
uint16 mask_sda_mask;
|
||||||
|
|
||||||
uint16 gpio_en_scl_reg;
|
uint16 gpio_en_scl_reg;
|
||||||
uint16 gpio_en_sda_reg;
|
uint16 gpio_en_sda_reg;
|
||||||
uint16 gpio_en_scl_shift;
|
uint16 gpio_en_scl_mask;
|
||||||
uint16 gpio_en_sda_shift;
|
uint16 gpio_en_sda_mask;
|
||||||
|
|
||||||
uint16 gpio_y_scl_reg;
|
uint16 gpio_y_scl_reg;
|
||||||
uint16 gpio_y_sda_reg;
|
uint16 gpio_y_sda_reg;
|
||||||
uint16 gpio_y_scl_shift;
|
uint16 gpio_y_scl_mask;
|
||||||
uint16 gpio_y_sda_shift;
|
uint16 gpio_y_sda_mask;
|
||||||
|
|
||||||
uint16 gpio_a_scl_reg;
|
uint16 gpio_a_scl_reg;
|
||||||
uint16 gpio_a_sda_reg;
|
uint16 gpio_a_sda_reg;
|
||||||
uint16 gpio_a_scl_shift;
|
uint16 gpio_a_scl_mask;
|
||||||
uint16 gpio_a_sda_shift;
|
uint16 gpio_a_sda_mask;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -292,31 +292,31 @@ lock_i2c(void* cookie, bool lock)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Clear pins
|
// Clear pins
|
||||||
buffer = Read32(OUT, info->gpio_a_scl_reg) & ~info->gpio_a_scl_shift;
|
buffer = Read32(OUT, info->gpio_a_scl_reg) & ~info->gpio_a_scl_mask;
|
||||||
Write32(OUT, info->gpio_a_scl_reg, buffer);
|
Write32(OUT, info->gpio_a_scl_reg, buffer);
|
||||||
buffer = Read32(OUT, info->gpio_a_sda_reg) & ~info->gpio_a_sda_shift;
|
buffer = Read32(OUT, info->gpio_a_sda_reg) & ~info->gpio_a_sda_mask;
|
||||||
Write32(OUT, info->gpio_a_sda_reg, buffer);
|
Write32(OUT, info->gpio_a_sda_reg, buffer);
|
||||||
|
|
||||||
// Set pins to input
|
// Set pins to input
|
||||||
buffer = Read32(OUT, info->gpio_en_scl_reg) & ~info->gpio_en_scl_shift;
|
buffer = Read32(OUT, info->gpio_en_scl_reg) & ~info->gpio_en_scl_mask;
|
||||||
Write32(OUT, info->gpio_en_scl_reg, buffer);
|
Write32(OUT, info->gpio_en_scl_reg, buffer);
|
||||||
buffer = Read32(OUT, info->gpio_en_sda_reg) & ~info->gpio_en_sda_shift;
|
buffer = Read32(OUT, info->gpio_en_sda_reg) & ~info->gpio_en_sda_mask;
|
||||||
Write32(OUT, info->gpio_en_sda_reg, buffer);
|
Write32(OUT, info->gpio_en_sda_reg, buffer);
|
||||||
|
|
||||||
// mask GPIO pins for software use
|
// mask GPIO pins for software use
|
||||||
buffer = Read32(OUT, info->mask_scl_reg);
|
buffer = Read32(OUT, info->mask_scl_reg);
|
||||||
if (lock == true)
|
if (lock == true)
|
||||||
buffer |= info->mask_scl_shift;
|
buffer |= info->mask_scl_mask;
|
||||||
else
|
else
|
||||||
buffer &= ~info->mask_scl_shift;
|
buffer &= ~info->mask_scl_mask;
|
||||||
Write32(OUT, info->mask_scl_reg, buffer);
|
Write32(OUT, info->mask_scl_reg, buffer);
|
||||||
Read32(OUT, info->mask_scl_reg);
|
Read32(OUT, info->mask_scl_reg);
|
||||||
|
|
||||||
buffer = Read32(OUT, info->mask_sda_reg);
|
buffer = Read32(OUT, info->mask_sda_reg);
|
||||||
if (lock == true)
|
if (lock == true)
|
||||||
buffer |= info->mask_sda_shift;
|
buffer |= info->mask_sda_mask;
|
||||||
else
|
else
|
||||||
buffer &= ~info->mask_sda_shift;
|
buffer &= ~info->mask_sda_mask;
|
||||||
Write32(OUT, info->mask_sda_reg, buffer);
|
Write32(OUT, info->mask_sda_reg, buffer);
|
||||||
Read32(OUT, info->mask_sda_reg);
|
Read32(OUT, info->mask_sda_reg);
|
||||||
}
|
}
|
||||||
@@ -328,8 +328,8 @@ get_i2c_signals(void* cookie, int* _clock, int* _data)
|
|||||||
ddc_info *info = (ddc_info*)cookie;
|
ddc_info *info = (ddc_info*)cookie;
|
||||||
|
|
||||||
lock_i2c(cookie, true);
|
lock_i2c(cookie, true);
|
||||||
uint32 scl = Read32(OUT, info->gpio_y_scl_reg) & info->gpio_y_scl_shift;
|
uint32 scl = Read32(OUT, info->gpio_y_scl_reg) & info->gpio_y_scl_mask;
|
||||||
uint32 sda = Read32(OUT, info->gpio_y_sda_reg) & info->gpio_y_sda_shift;
|
uint32 sda = Read32(OUT, info->gpio_y_sda_reg) & info->gpio_y_sda_mask;
|
||||||
lock_i2c(cookie, false);
|
lock_i2c(cookie, false);
|
||||||
|
|
||||||
*_clock = (scl != 0);
|
*_clock = (scl != 0);
|
||||||
@@ -349,12 +349,12 @@ set_i2c_signals(void* cookie, int clock, int data)
|
|||||||
|
|
||||||
lock_i2c(cookie, true);
|
lock_i2c(cookie, true);
|
||||||
uint32 scl = Read32(OUT, info->gpio_en_scl_reg)
|
uint32 scl = Read32(OUT, info->gpio_en_scl_reg)
|
||||||
& ~info->gpio_en_scl_shift;
|
& ~info->gpio_en_scl_mask;
|
||||||
uint32 sda = Read32(OUT, info->gpio_en_sda_reg)
|
uint32 sda = Read32(OUT, info->gpio_en_sda_reg)
|
||||||
& ~info->gpio_en_sda_shift;
|
& ~info->gpio_en_sda_mask;
|
||||||
|
|
||||||
scl |= clock ? 0 : info->gpio_en_scl_shift;
|
scl |= clock ? 0 : info->gpio_en_scl_mask;
|
||||||
sda |= data ? 0 : info->gpio_en_sda_shift;
|
sda |= data ? 0 : info->gpio_en_sda_mask;
|
||||||
|
|
||||||
Write32(OUT, info->gpio_a_scl_reg, clock);
|
Write32(OUT, info->gpio_a_scl_reg, clock);
|
||||||
Write32(OUT, info->gpio_a_sda_reg, data);
|
Write32(OUT, info->gpio_a_sda_reg, data);
|
||||||
@@ -452,9 +452,9 @@ radeon_gpu_i2c_setup(uint32 connector, uint8 gpio_id)
|
|||||||
= B_LENDIAN_TO_HOST_INT16(gpio->usClkMaskRegisterIndex) * 4;
|
= B_LENDIAN_TO_HOST_INT16(gpio->usClkMaskRegisterIndex) * 4;
|
||||||
gConnector[connector]->connector_ddc_info.mask_sda_reg
|
gConnector[connector]->connector_ddc_info.mask_sda_reg
|
||||||
= B_LENDIAN_TO_HOST_INT16(gpio->usDataMaskRegisterIndex) * 4;
|
= B_LENDIAN_TO_HOST_INT16(gpio->usDataMaskRegisterIndex) * 4;
|
||||||
gConnector[connector]->connector_ddc_info.mask_scl_shift
|
gConnector[connector]->connector_ddc_info.mask_scl_mask
|
||||||
= (1 << gpio->ucClkMaskShift);
|
= (1 << gpio->ucClkMaskShift);
|
||||||
gConnector[connector]->connector_ddc_info.mask_sda_shift
|
gConnector[connector]->connector_ddc_info.mask_sda_mask
|
||||||
= (1 << gpio->ucDataMaskShift);
|
= (1 << gpio->ucDataMaskShift);
|
||||||
|
|
||||||
// GPIO output / write (A) enable
|
// GPIO output / write (A) enable
|
||||||
@@ -463,9 +463,9 @@ radeon_gpu_i2c_setup(uint32 connector, uint8 gpio_id)
|
|||||||
= B_LENDIAN_TO_HOST_INT16(gpio->usClkEnRegisterIndex) * 4;
|
= B_LENDIAN_TO_HOST_INT16(gpio->usClkEnRegisterIndex) * 4;
|
||||||
gConnector[connector]->connector_ddc_info.gpio_en_sda_reg
|
gConnector[connector]->connector_ddc_info.gpio_en_sda_reg
|
||||||
= B_LENDIAN_TO_HOST_INT16(gpio->usDataEnRegisterIndex) * 4;
|
= B_LENDIAN_TO_HOST_INT16(gpio->usDataEnRegisterIndex) * 4;
|
||||||
gConnector[connector]->connector_ddc_info.gpio_en_scl_shift
|
gConnector[connector]->connector_ddc_info.gpio_en_scl_mask
|
||||||
= (1 << gpio->ucClkEnShift);
|
= (1 << gpio->ucClkEnShift);
|
||||||
gConnector[connector]->connector_ddc_info.gpio_en_sda_shift
|
gConnector[connector]->connector_ddc_info.gpio_en_sda_mask
|
||||||
= (1 << gpio->ucDataEnShift);
|
= (1 << gpio->ucDataEnShift);
|
||||||
|
|
||||||
// GPIO output / write (A)
|
// GPIO output / write (A)
|
||||||
@@ -473,9 +473,9 @@ radeon_gpu_i2c_setup(uint32 connector, uint8 gpio_id)
|
|||||||
= B_LENDIAN_TO_HOST_INT16(gpio->usClkA_RegisterIndex) * 4;
|
= B_LENDIAN_TO_HOST_INT16(gpio->usClkA_RegisterIndex) * 4;
|
||||||
gConnector[connector]->connector_ddc_info.gpio_a_sda_reg
|
gConnector[connector]->connector_ddc_info.gpio_a_sda_reg
|
||||||
= B_LENDIAN_TO_HOST_INT16(gpio->usDataA_RegisterIndex) * 4;
|
= B_LENDIAN_TO_HOST_INT16(gpio->usDataA_RegisterIndex) * 4;
|
||||||
gConnector[connector]->connector_ddc_info.gpio_a_scl_shift
|
gConnector[connector]->connector_ddc_info.gpio_a_scl_mask
|
||||||
= (1 << gpio->ucClkA_Shift);
|
= (1 << gpio->ucClkA_Shift);
|
||||||
gConnector[connector]->connector_ddc_info.gpio_a_sda_shift
|
gConnector[connector]->connector_ddc_info.gpio_a_sda_mask
|
||||||
= (1 << gpio->ucDataA_Shift);
|
= (1 << gpio->ucDataA_Shift);
|
||||||
|
|
||||||
// GPIO input / read (Y)
|
// GPIO input / read (Y)
|
||||||
@@ -483,9 +483,9 @@ radeon_gpu_i2c_setup(uint32 connector, uint8 gpio_id)
|
|||||||
= B_LENDIAN_TO_HOST_INT16(gpio->usClkY_RegisterIndex) * 4;
|
= B_LENDIAN_TO_HOST_INT16(gpio->usClkY_RegisterIndex) * 4;
|
||||||
gConnector[connector]->connector_ddc_info.gpio_y_sda_reg
|
gConnector[connector]->connector_ddc_info.gpio_y_sda_reg
|
||||||
= B_LENDIAN_TO_HOST_INT16(gpio->usDataY_RegisterIndex) * 4;
|
= B_LENDIAN_TO_HOST_INT16(gpio->usDataY_RegisterIndex) * 4;
|
||||||
gConnector[connector]->connector_ddc_info.gpio_y_scl_shift
|
gConnector[connector]->connector_ddc_info.gpio_y_scl_mask
|
||||||
= (1 << gpio->ucClkY_Shift);
|
= (1 << gpio->ucClkY_Shift);
|
||||||
gConnector[connector]->connector_ddc_info.gpio_y_sda_shift
|
gConnector[connector]->connector_ddc_info.gpio_y_sda_mask
|
||||||
= (1 << gpio->ucDataY_Shift);
|
= (1 << gpio->ucDataY_Shift);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user