Module Name: src
Committed By: kiyohara
Date: Mon Dec 23 02:52:47 UTC 2013
Modified Files:
src/sys/arch/arm/marvell: kirkwoodreg.h mvsoc.c
Log Message:
Fixup model value for Kirkwood 88F6192.
Thanks for lwazidub at gmail com.
Add some KIRKWOOD_MISC_* Registers.
s/AUDIOSDIO/AUDIO/.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/marvell/kirkwoodreg.h
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/marvell/mvsoc.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/marvell/kirkwoodreg.h
diff -u src/sys/arch/arm/marvell/kirkwoodreg.h:1.5 src/sys/arch/arm/marvell/kirkwoodreg.h:1.6
--- src/sys/arch/arm/marvell/kirkwoodreg.h:1.5 Sat Sep 28 05:46:51 2013
+++ src/sys/arch/arm/marvell/kirkwoodreg.h Mon Dec 23 02:52:47 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: kirkwoodreg.h,v 1.5 2013/09/28 05:46:51 kiyohara Exp $ */
+/* $NetBSD: kirkwoodreg.h,v 1.6 2013/12/23 02:52:47 kiyohara Exp $ */
/*
* Copyright (c) 2007, 2008 KIYOHARA Takashi
* All rights reserved.
@@ -127,7 +127,6 @@
* Pin Multiplexing Interface Registers
*/
#define KIRKWOOD_MPP_BASE (MVSOC_DEVBUS_BASE + 0x0000)
-#define KIRKWOOD_MPP_SIZE 0x40 /* XXXX */
#define KIRKWOOD_MPP_MPPC0R 0x00
#define KIRKWOOD_MPP_MPPC1R 0x04
#define KIRKWOOD_MPP_MPPC2R 0x08
@@ -138,6 +137,18 @@
#define KIRKWOOD_MPP_SAMPLE_AT_RESET 0x30
/*
+ * Miscellaneous Registers
+ */
+#define KIRKWOOD_MISC_BASE (MVSOC_DEVBUS_BASE + 0x0000)
+#define KIRKWOOD_MISC_DEVICEID 0x34
+#define KIRKWOOD_MISC_CLOCKCONTROL 0x4c
+#define KIRKWOOD_MISC_SYSRSTLC 0x50 /* SYSRSTn Length Counter */
+#define KIRKWOOD_MISC_AGC 0x7c /* Analog Group Configuration */
+#define KIRKWOOD_MISC_SSCGC 0xd8 /* SSCG Configuration */
+#define KIRKWOOD_MISC_PTPCC 0xdc /* PTP Clock Configuration */
+#define KIRKWOOD_MISC_IOC0 0xe0 /* IO Configuration 0 */
+
+/*
* Real-Time Clock Unit Registers
*/
#define KIRKWOOD_RTC_BASE (MVSOC_DEVBUS_BASE + 0x0300)
@@ -214,7 +225,7 @@
/*
* Audio (I2S/S/PDIF) Interface Registers
*/
-#define KIRKWOOD_AUDIO_BASE (KIRKWOOD_UNITID2PHYS(AUDIOSDIO))/* 0xa0000 */
+#define KIRKWOOD_AUDIO_BASE (KIRKWOOD_UNITID2PHYS(AUDIO)) /* 0xa0000 */
/*
* MPEG-2 Transport Stream (TS) Interface Registers
Index: src/sys/arch/arm/marvell/mvsoc.c
diff -u src/sys/arch/arm/marvell/mvsoc.c:1.13 src/sys/arch/arm/marvell/mvsoc.c:1.14
--- src/sys/arch/arm/marvell/mvsoc.c:1.13 Mon Sep 30 13:19:28 2013
+++ src/sys/arch/arm/marvell/mvsoc.c Mon Dec 23 02:52:47 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: mvsoc.c,v 1.13 2013/09/30 13:19:28 kiyohara Exp $ */
+/* $NetBSD: mvsoc.c,v 1.14 2013/12/23 02:52:47 kiyohara Exp $ */
/*
* Copyright (c) 2007, 2008 KIYOHARA Takashi
* All rights reserved.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mvsoc.c,v 1.13 2013/09/30 13:19:28 kiyohara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mvsoc.c,v 1.14 2013/12/23 02:52:47 kiyohara Exp $");
#include "opt_cputypes.h"
#include "opt_mvsoc.h"
@@ -881,6 +881,14 @@ mvsoc_model(void)
model = PCI_PRODUCT_MARVELL_88F5082;
}
#endif
+#if defined(KIRKWOOD)
+ if (model == PCI_PRODUCT_MARVELL_88F6281) {
+ reg = *(volatile uint32_t *)(regbase + KIRKWOOD_MISC_BASE +
+ KIRKWOOD_MISC_DEVICEID);
+ if (reg == 1) /* 88F6192 is 1 */
+ model = MARVELL_KIRKWOOD_88F6192;
+ }
+#endif
return model;
}