Module Name: src
Committed By: jmcneill
Date: Wed Mar 4 12:36:12 UTC 2015
Modified Files:
src/sys/arch/arm/amlogic: amlogic_board.c amlogic_crureg.h
amlogic_intr.h amlogic_io.c amlogic_reg.h amlogic_var.h
files.amlogic
src/sys/arch/evbarm/conf: ODROID-C1
Log Message:
ODROID-C1 onboard ethernet support.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/amlogic/amlogic_board.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/amlogic/amlogic_crureg.h
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/amlogic/amlogic_intr.h \
src/sys/arch/arm/amlogic/amlogic_io.c \
src/sys/arch/arm/amlogic/files.amlogic
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/amlogic/amlogic_reg.h
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/amlogic/amlogic_var.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/evbarm/conf/ODROID-C1
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_board.c
diff -u src/sys/arch/arm/amlogic/amlogic_board.c:1.6 src/sys/arch/arm/amlogic/amlogic_board.c:1.7
--- src/sys/arch/arm/amlogic/amlogic_board.c:1.6 Sun Mar 1 15:06:09 2015
+++ src/sys/arch/arm/amlogic/amlogic_board.c Wed Mar 4 12:36:12 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: amlogic_board.c,v 1.6 2015/03/01 15:06:09 jmcneill Exp $ */
+/* $NetBSD: amlogic_board.c,v 1.7 2015/03/04 12:36:12 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -29,7 +29,7 @@
#include "opt_amlogic.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amlogic_board.c,v 1.6 2015/03/01 15:06:09 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amlogic_board.c,v 1.7 2015/03/04 12:36:12 jmcneill Exp $");
#define _ARM32_BUS_DMA_PRIVATE
#include <sys/param.h>
@@ -157,6 +157,13 @@ amlogic_get_rate_a9periph(void)
return amlogic_get_rate_a9() / div;
}
+void
+amlogic_eth_init(void)
+{
+ CBUS_WRITE(EE_CLK_GATING1_REG,
+ CBUS_READ(EE_CLK_GATING1_REG) | EE_CLK_GATING1_ETHERNET);
+}
+
static void
amlogic_usbphy_clkgate_enable(int port)
{
Index: src/sys/arch/arm/amlogic/amlogic_crureg.h
diff -u src/sys/arch/arm/amlogic/amlogic_crureg.h:1.4 src/sys/arch/arm/amlogic/amlogic_crureg.h:1.5
--- src/sys/arch/arm/amlogic/amlogic_crureg.h:1.4 Sat Feb 28 18:50:57 2015
+++ src/sys/arch/arm/amlogic/amlogic_crureg.h Wed Mar 4 12:36:12 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: amlogic_crureg.h,v 1.4 2015/02/28 18:50:57 jmcneill Exp $ */
+/* $NetBSD: amlogic_crureg.h,v 1.5 2015/03/04 12:36:12 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -39,9 +39,12 @@
#define EE_CLK_GATING1_USB_GENERAL __BIT(26)
#define EE_CLK_GATING1_USB1 __BIT(22)
#define EE_CLK_GATING1_USB0 __BIT(21)
+#define EE_CLK_GATING1_ETHERNET __BIT(3)
+
#define EE_CLK_GATING2_USB0_TO_DDR __BIT(9)
#define EE_CLK_GATING2_USB1_TO_DDR __BIT(8)
+
#define HHI_SYS_CPU_CLK_CNTL1_REG CBUS_REG(0x1057)
#define HHI_SYS_CPU_CLK_CNTL1_SDIV __BITS(29,20)
#define HHI_SYS_CPU_CLK_CNTL1_PERIPH_CLK_MUX __BITS(8,6)
Index: src/sys/arch/arm/amlogic/amlogic_intr.h
diff -u src/sys/arch/arm/amlogic/amlogic_intr.h:1.3 src/sys/arch/arm/amlogic/amlogic_intr.h:1.4
--- src/sys/arch/arm/amlogic/amlogic_intr.h:1.3 Sat Feb 28 15:20:43 2015
+++ src/sys/arch/arm/amlogic/amlogic_intr.h Wed Mar 4 12:36:12 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: amlogic_intr.h,v 1.3 2015/02/28 15:20:43 jmcneill Exp $ */
+/* $NetBSD: amlogic_intr.h,v 1.4 2015/03/04 12:36:12 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -35,6 +35,8 @@
#include <arm/cortex/gic_intr.h>
#include <arm/cortex/a9tmr_intr.h>
+#define AMLOGIC_INTR_GMAC 40
+#define AMLOGIC_INTR_MMC 60
#define AMLOGIC_INTR_USB0 62
#define AMLOGIC_INTR_USB1 63
#define AMLOGIC_INTR_UART2AO 70
Index: src/sys/arch/arm/amlogic/amlogic_io.c
diff -u src/sys/arch/arm/amlogic/amlogic_io.c:1.3 src/sys/arch/arm/amlogic/amlogic_io.c:1.4
--- src/sys/arch/arm/amlogic/amlogic_io.c:1.3 Sat Feb 28 15:20:43 2015
+++ src/sys/arch/arm/amlogic/amlogic_io.c Wed Mar 4 12:36:12 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: amlogic_io.c,v 1.3 2015/02/28 15:20:43 jmcneill Exp $ */
+/* $NetBSD: amlogic_io.c,v 1.4 2015/03/04 12:36:12 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -29,7 +29,7 @@
#include "opt_amlogic.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amlogic_io.c,v 1.3 2015/02/28 15:20:43 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amlogic_io.c,v 1.4 2015/03/04 12:36:12 jmcneill Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -55,6 +55,8 @@ static int amlogicio_find(device_t, cfda
static bool amlogicio_found = false;
+#define NOPORT AMLOGICIOCF_PORT_DEFAULT
+
static const struct amlogic_locators amlogic_locators[] = {
{ "amlogiccom",
AMLOGIC_UART0AO_OFFSET, AMLOGIC_UART_SIZE, 0, AMLOGIC_INTR_UART0AO },
@@ -64,6 +66,8 @@ static const struct amlogic_locators aml
AMLOGIC_USB0_OFFSET, AMLOGIC_USB_SIZE, 0, AMLOGIC_INTR_USB0 },
{ "dwctwo",
AMLOGIC_USB1_OFFSET, AMLOGIC_USB_SIZE, 1, AMLOGIC_INTR_USB1 },
+ { "awge",
+ AMLOGIC_GMAC_OFFSET, AMLOGIC_GMAC_SIZE, NOPORT, AMLOGIC_INTR_GMAC },
#if notyet
{ "amlogicmmc",
AMLOGIC_MMC_OFFSET, AMLOGIC_MMC_SIZE, 0, AMLOGIC_INTR_MMC },
Index: src/sys/arch/arm/amlogic/files.amlogic
diff -u src/sys/arch/arm/amlogic/files.amlogic:1.3 src/sys/arch/arm/amlogic/files.amlogic:1.4
--- src/sys/arch/arm/amlogic/files.amlogic:1.3 Sat Feb 28 15:20:43 2015
+++ src/sys/arch/arm/amlogic/files.amlogic Wed Mar 4 12:36:12 2015
@@ -1,4 +1,4 @@
-# $NetBSD: files.amlogic,v 1.3 2015/02/28 15:20:43 jmcneill Exp $
+# $NetBSD: files.amlogic,v 1.4 2015/03/04 12:36:12 jmcneill Exp $
#
# Configuration info for Amlogic ARM Peripherals
#
@@ -34,6 +34,10 @@ file arch/arm/amlogic/amlogic_mmc.c aml
attach dwctwo at amlogicio with amlogic_dwctwo
file arch/arm/amlogic/amlogic_dwctwo.c amlogic_dwctwo
+# ethernet mac
+attach awge at amlogicio with amlogic_gmac
+file arch/arm/amlogic/amlogic_gmac.c amlogic_gmac
+
# Console parameters
defparam opt_amlogic.h CONADDR
defparam opt_amlogic.h CONSPEED
Index: src/sys/arch/arm/amlogic/amlogic_reg.h
diff -u src/sys/arch/arm/amlogic/amlogic_reg.h:1.5 src/sys/arch/arm/amlogic/amlogic_reg.h:1.6
--- src/sys/arch/arm/amlogic/amlogic_reg.h:1.5 Sun Mar 1 15:37:26 2015
+++ src/sys/arch/arm/amlogic/amlogic_reg.h Wed Mar 4 12:36:12 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: amlogic_reg.h,v 1.5 2015/03/01 15:37:26 jmcneill Exp $ */
+/* $NetBSD: amlogic_reg.h,v 1.6 2015/03/04 12:36:12 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -37,9 +37,6 @@
#define AMLOGIC_CBUS_OFFSET 0x01100000
-#define AMLOGIC_UART0_OFFSET 0x01102130
-#define AMLOGIC_UART1_OFFSET 0x01102137
-#define AMLOGIC_UART2_OFFSET 0x011021c0
#define AMLOGIC_UART0AO_OFFSET 0x081004c0
#define AMLOGIC_UART2AO_OFFSET 0x081004e0
#define AMLOGIC_UART_SIZE 0x20
@@ -58,6 +55,9 @@
#define AMLOGIC_USB1_OFFSET 0x090c0000
#define AMLOGIC_USB_SIZE 0x40000
+#define AMLOGIC_GMAC_OFFSET 0x09410000
+#define AMLOGIC_GMAC_SIZE 0x10000
+
#define AMLOGIC_SRAM_OFFSET 0x19000000
#define AMLOGIC_CPUCONF_OFFSET 0x1901ff80
Index: src/sys/arch/arm/amlogic/amlogic_var.h
diff -u src/sys/arch/arm/amlogic/amlogic_var.h:1.2 src/sys/arch/arm/amlogic/amlogic_var.h:1.3
--- src/sys/arch/arm/amlogic/amlogic_var.h:1.2 Sat Feb 28 15:20:43 2015
+++ src/sys/arch/arm/amlogic/amlogic_var.h Wed Mar 4 12:36:12 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: amlogic_var.h,v 1.2 2015/02/28 15:20:43 jmcneill Exp $ */
+/* $NetBSD: amlogic_var.h,v 1.3 2015/03/04 12:36:12 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -57,6 +57,7 @@ extern struct arm32_bus_dma_tag amlogic_
void amlogic_bootstrap(void);
void amlogic_usbphy_init(int);
+void amlogic_eth_init(void);
uint32_t amlogic_get_rate_xtal(void);
uint32_t amlogic_get_rate_sys(void);
Index: src/sys/arch/evbarm/conf/ODROID-C1
diff -u src/sys/arch/evbarm/conf/ODROID-C1:1.5 src/sys/arch/evbarm/conf/ODROID-C1:1.6
--- src/sys/arch/evbarm/conf/ODROID-C1:1.5 Sun Mar 1 15:37:26 2015
+++ src/sys/arch/evbarm/conf/ODROID-C1 Wed Mar 4 12:36:12 2015
@@ -1,5 +1,5 @@
#
-# $NetBSD: ODROID-C1,v 1.5 2015/03/01 15:37:26 jmcneill Exp $
+# $NetBSD: ODROID-C1,v 1.6 2015/03/04 12:36:12 jmcneill Exp $
#
# Odroid-C1 (Amlogic S805) based SBC (Single Board Computer)
#
@@ -175,6 +175,11 @@ amlogicio0 at mainbus?
amlogiccom0 at amlogicio0 port 0
options CONSADDR=0xc81004c0, CONSPEED=115200
+# Gigabit ethernet
+awge0 at amlogicio0
+rgephy* at mii? phy ?
+ukphy* at mii? phy ?
+
# USB
dwctwo0 at amlogicio0 port 0
dwctwo1 at amlogicio0 port 1