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

Reply via email to