Module Name:    src
Committed By:   jmcneill
Date:           Sat Jan 19 20:53:32 UTC 2019

Modified Files:
        src/sys/dev/fdt: dwc2_fdt.c

Log Message:
Add support for Meson8b


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/fdt/dwc2_fdt.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/dev/fdt/dwc2_fdt.c
diff -u src/sys/dev/fdt/dwc2_fdt.c:1.3 src/sys/dev/fdt/dwc2_fdt.c:1.4
--- src/sys/dev/fdt/dwc2_fdt.c:1.3	Wed Aug 15 07:46:15 2018
+++ src/sys/dev/fdt/dwc2_fdt.c	Sat Jan 19 20:53:32 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: dwc2_fdt.c,v 1.3 2018/08/15 07:46:15 skrll Exp $	*/
+/*	$NetBSD: dwc2_fdt.c,v 1.4 2019/01/19 20:53:32 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dwc2_fdt.c,v 1.3 2018/08/15 07:46:15 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dwc2_fdt.c,v 1.4 2019/01/19 20:53:32 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -64,6 +64,7 @@ static int dwc2_fdt_match(device_t, stru
 static void dwc2_fdt_attach(device_t, device_t, void *);
 static void dwc2_fdt_deferred(device_t);
 
+static void dwc2_fdt_amlogic_params(struct dwc2_fdt_softc *, struct dwc2_core_params *);
 static void dwc2_fdt_rockchip_params(struct dwc2_fdt_softc *, struct dwc2_core_params *);
 
 struct dwc2_fdt_config {
@@ -74,10 +75,15 @@ static const struct dwc2_fdt_config dwc2
 	.params = dwc2_fdt_rockchip_params,
 };
 
+static const struct dwc2_fdt_config dwc2_fdt_meson8b_config = {
+	.params = dwc2_fdt_amlogic_params,
+};
+
 static const struct dwc2_fdt_config dwc2_fdt_generic_config = {
 };
 
 static const struct of_compat_data compat_data[] = {
+	{ "amlogic,meson8b-usb",	(uintptr_t)&dwc2_fdt_meson8b_config },
 	{ "rockchip,rk3066-usb",	(uintptr_t)&dwc2_fdt_rk3066_config },
 	{ "snps,dwc2",			(uintptr_t)&dwc2_fdt_generic_config },
 	{ NULL }
@@ -197,6 +203,24 @@ dwc2_fdt_deferred(device_t self)
 }
 
 static void
+dwc2_fdt_amlogic_params(struct dwc2_fdt_softc *sc, struct dwc2_core_params *params)
+{
+	dwc2_set_all_params(params, -1);
+
+	params->otg_cap = DWC2_CAP_PARAM_NO_HNP_SRP_CAPABLE;
+	params->speed = DWC2_SPEED_PARAM_HIGH;
+	params->host_rx_fifo_size = 512;
+	params->host_nperio_tx_fifo_size = 500;
+	params->host_perio_tx_fifo_size = 500;
+	params->host_channels = 16;
+	params->phy_type = DWC2_PHY_TYPE_PARAM_UTMI;
+	params->ahbcfg = GAHBCFG_HBSTLEN_INCR8 << GAHBCFG_HBSTLEN_SHIFT;
+#ifdef DWC2_POWER_DOWN_PARAM_NONE
+	params->power_down = DWC2_POWER_DOWN_PARAM_NONE;
+#endif
+}
+
+static void
 dwc2_fdt_rockchip_params(struct dwc2_fdt_softc *sc, struct dwc2_core_params *params)
 {
 	dwc2_set_all_params(params, -1);

Reply via email to