Fix rcc_gpio_modify_bits(). Obviously (1 << 0) is not the same as 0.
Pointy hat to: loos MFC after: 3 days
This commit is contained in:
parent
ab8fdacc82
commit
378f3b198d
@ -57,12 +57,12 @@ struct rcc_gpio_pin {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct rcc_gpio_pin rcc_pins[] = {
|
static struct rcc_gpio_pin rcc_pins[] = {
|
||||||
{ .pin = 11, .name = "reset switch", .caps = GPIO_PIN_INPUT },
|
{ .pin = (1 << 11), .name = "reset switch", .caps = GPIO_PIN_INPUT },
|
||||||
{ .pin = 15, .name = "red LED", .caps = GPIO_PIN_OUTPUT },
|
{ .pin = (1 << 15), .name = "red LED", .caps = GPIO_PIN_OUTPUT },
|
||||||
{ .pin = 17, .name = "green LED", .caps = GPIO_PIN_OUTPUT },
|
{ .pin = (1 << 17), .name = "green LED", .caps = GPIO_PIN_OUTPUT },
|
||||||
#if 0
|
#if 0
|
||||||
{ .pin = 16, .name = "HD1 LED", .caps = GPIO_PIN_OUTPUT },
|
{ .pin = (1 << 16), .name = "HD1 LED", .caps = GPIO_PIN_OUTPUT },
|
||||||
{ .pin = 18, .name = "HD2 LED", .caps = GPIO_PIN_OUTPUT },
|
{ .pin = (1 << 18), .name = "HD2 LED", .caps = GPIO_PIN_OUTPUT },
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -87,14 +87,14 @@ struct rcc_gpio_softc {
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
rcc_gpio_modify_bits(struct rcc_gpio_softc *sc, uint32_t reg, uint32_t mask,
|
rcc_gpio_modify_bits(struct rcc_gpio_softc *sc, uint32_t reg, uint32_t mask,
|
||||||
uint32_t bit)
|
uint32_t writebits)
|
||||||
{
|
{
|
||||||
uint32_t value;
|
uint32_t value;
|
||||||
|
|
||||||
RCC_GPIO_LOCK(sc);
|
RCC_GPIO_LOCK(sc);
|
||||||
value = RCC_READ(sc, reg);
|
value = RCC_READ(sc, reg);
|
||||||
value &= ~(1 << mask);
|
value &= ~mask;
|
||||||
value |= (1 << bit);
|
value |= writebits;
|
||||||
RCC_WRITE(sc, reg, value);
|
RCC_WRITE(sc, reg, value);
|
||||||
RCC_GPIO_UNLOCK(sc);
|
RCC_GPIO_UNLOCK(sc);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user