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));

Reply via email to