Module Name: src Committed By: jmcneill Date: Fri May 29 12:41:14 UTC 2015
Modified Files: src/sys/arch/arm/amlogic: amlogic_crureg.h amlogic_gpio.c Log Message: Fix pin group mappings and non-DIAGNOSTIC kernel builds, from anon ymous. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/amlogic/amlogic_crureg.h cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/amlogic/amlogic_gpio.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/amlogic/amlogic_crureg.h diff -u src/sys/arch/arm/amlogic/amlogic_crureg.h:1.10 src/sys/arch/arm/amlogic/amlogic_crureg.h:1.11 --- src/sys/arch/arm/amlogic/amlogic_crureg.h:1.10 Sat Apr 25 14:41:33 2015 +++ src/sys/arch/arm/amlogic/amlogic_crureg.h Fri May 29 12:41:14 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: amlogic_crureg.h,v 1.10 2015/04/25 14:41:33 jmcneill Exp $ */ +/* $NetBSD: amlogic_crureg.h,v 1.11 2015/05/29 12:41:14 jmcneill Exp $ */ /*- * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca> @@ -85,26 +85,22 @@ #define PREG_PAD_GPIO0_EN_N_REG CBUS_REG(0x200c) #define PREG_PAD_GPIO0_OUT_REG CBUS_REG(0x200d) #define PREG_PAD_GPIO0_IN_REG CBUS_REG(0x200e) -#define PREG_PAD_GPIO0_PUPD_EN_REG CBUS_REG(0x204c) -#define PREG_PAD_GPIO0_PUPD_REG CBUS_REG(0x203e) #define PREG_PAD_GPIO1_EN_N_REG CBUS_REG(0x200f) #define PREG_PAD_GPIO1_OUT_REG CBUS_REG(0x2010) #define PREG_PAD_GPIO1_IN_REG CBUS_REG(0x2011) -#define PREG_PAD_GPIO1_PUPD_EN_REG CBUS_REG(0x204b) -#define PREG_PAD_GPIO1_PUPD_REG CBUS_REG(0x203d) #define PREG_PAD_GPIO2_EN_N_REG CBUS_REG(0x2012) #define PREG_PAD_GPIO2_OUT_REG CBUS_REG(0x2013) #define PREG_PAD_GPIO2_IN_REG CBUS_REG(0x2014) -#define PREG_PAD_GPIO2_PUPD_EN_REG CBUS_REG(0x2048) -#define PREG_PAD_GPIO2_PUPD_REG CBUS_REG(0x203a) #define PREG_PAD_GPIO3_EN_N_REG CBUS_REG(0x2015) #define PREG_PAD_GPIO3_OUT_REG CBUS_REG(0x2016) #define PREG_PAD_GPIO3_IN_REG CBUS_REG(0x2017) -#define PREG_PAD_GPIO3_PUPD_EN_REG CBUS_REG(0x204a) -#define PREG_PAD_GPIO3_PUPD_REG CBUS_REG(0x203c) + +#define PREG_PAD_GPIO4_EN_N_REG CBUS_REG(0x2018) +#define PREG_PAD_GPIO4_OUT_REG CBUS_REG(0x2019) +#define PREG_PAD_GPIO4_IN_REG CBUS_REG(0x201a) #define PREG_PAD_GPIO5_EN_N_REG CBUS_REG(0x201b) #define PREG_PAD_GPIO5_OUT_REG CBUS_REG(0x201c) Index: src/sys/arch/arm/amlogic/amlogic_gpio.c diff -u src/sys/arch/arm/amlogic/amlogic_gpio.c:1.1 src/sys/arch/arm/amlogic/amlogic_gpio.c:1.2 --- src/sys/arch/arm/amlogic/amlogic_gpio.c:1.1 Sat Apr 25 14:41:33 2015 +++ src/sys/arch/arm/amlogic/amlogic_gpio.c Fri May 29 12:41:14 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: amlogic_gpio.c,v 1.1 2015/04/25 14:41:33 jmcneill Exp $ */ +/* $NetBSD: amlogic_gpio.c,v 1.2 2015/05/29 12:41:14 jmcneill Exp $ */ /*- * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca> @@ -29,7 +29,7 @@ #include "locators.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amlogic_gpio.c,v 1.1 2015/04/25 14:41:33 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amlogic_gpio.c,v 1.2 2015/05/29 12:41:14 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -66,26 +66,26 @@ const struct amlogic_gpio_pingrp { _C(PREG_PAD_GPIO0_EN_N_REG), 0, _C(PREG_PAD_GPIO0_OUT_REG), 0, _C(PREG_PAD_GPIO0_IN_REG), 0, - _C(PREG_PAD_GPIO0_PUPD_EN_REG), 0, - _C(PREG_PAD_GPIO0_PUPD_REG), 0 }, + _C(PAD_PULL_UP_EN_4_REG), 0, + _C(PAD_PULL_UP_4_REG), 0 }, { "GPIOY", 0x7fff, _C(PREG_PAD_GPIO1_EN_N_REG), 0, _C(PREG_PAD_GPIO1_OUT_REG), 0, _C(PREG_PAD_GPIO1_IN_REG), 0, - _C(PREG_PAD_GPIO1_PUPD_EN_REG), 0, - _C(PREG_PAD_GPIO1_PUPD_REG), 0 }, + _C(PAD_PULL_UP_EN_3_REG), 0, + _C(PAD_PULL_UP_3_REG), 0 }, { "GPIODV", 0x3f000200, - _C(PREG_PAD_GPIO1_EN_N_REG), 0, - _C(PREG_PAD_GPIO1_OUT_REG), 0, - _C(PREG_PAD_GPIO1_IN_REG), 0, - _C(PREG_PAD_GPIO1_PUPD_EN_REG), 0, - _C(PREG_PAD_GPIO1_PUPD_REG), 0 }, + _C(PREG_PAD_GPIO2_EN_N_REG), 0, + _C(PREG_PAD_GPIO2_OUT_REG), 0, + _C(PREG_PAD_GPIO2_IN_REG), 0, + _C(PAD_PULL_UP_EN_0_REG), 0, + _C(PAD_PULL_UP_0_REG), 0 }, { "GPIOH", 0x3f, _C(PREG_PAD_GPIO3_EN_N_REG), 19, _C(PREG_PAD_GPIO3_OUT_REG), 19, _C(PREG_PAD_GPIO3_IN_REG), 19, - _C(PREG_PAD_GPIO3_PUPD_EN_REG), 16, - _C(PREG_PAD_GPIO3_PUPD_REG), 16 }, + _C(PAD_PULL_UP_EN_1_REG), 16, + _C(PAD_PULL_UP_1_REG), 16 }, { "GPIOAO", 0x3fff, _AO(AMLOGIC_GPIOAO_EN_N_REG), 0, _AO(AMLOGIC_GPIOAO_OUT_REG), 16, @@ -96,14 +96,14 @@ const struct amlogic_gpio_pingrp { _C(PREG_PAD_GPIO3_EN_N_REG), 0, _C(PREG_PAD_GPIO3_OUT_REG), 0, _C(PREG_PAD_GPIO3_IN_REG), 0, - _C(PREG_PAD_GPIO3_PUPD_EN_REG), 0, - _C(PREG_PAD_GPIO3_PUPD_REG), 0 }, + _C(PAD_PULL_UP_EN_2_REG), 0, + _C(PAD_PULL_UP_2_REG), 0 }, { "CARD", 0x7f, _C(PREG_PAD_GPIO0_EN_N_REG), 22, _C(PREG_PAD_GPIO0_OUT_REG), 22, _C(PREG_PAD_GPIO0_IN_REG), 22, - _C(PREG_PAD_GPIO0_PUPD_EN_REG), 20, - _C(PREG_PAD_GPIO0_PUPD_REG), 20 } + _C(PAD_PULL_UP_EN_2_REG), 20, + _C(PAD_PULL_UP_2_REG), 20 } }; #undef _C #undef _AO @@ -245,7 +245,7 @@ amlogic_gpio_pin_write(void *priv, int p struct amlogic_gpio_softc *sc = grp->grp_sc; const bus_size_t reg = grp->grp_pg->out_reg; const u_int shift = grp->grp_pg->out_shift; - const uint32_t mask = grp->grp_pg->mask; + const uint32_t mask __diagused = grp->grp_pg->mask; uint32_t v; KASSERT(mask & (1 << pin)); @@ -270,7 +270,7 @@ amlogic_gpio_pin_ctl(void *priv, int pin const u_int en_shift = grp->grp_pg->en_shift; const u_int pupd_en_shift = grp->grp_pg->pupd_en_shift; const u_int pupd_shift = grp->grp_pg->pupd_shift; - const uint32_t mask = grp->grp_pg->mask; + const uint32_t mask __diagused = grp->grp_pg->mask; uint32_t v, pupd_en, pupd; KASSERT(mask & (1 << pin));