Module Name: src
Committed By: jmcneill
Date: Fri Jun 2 00:09:56 UTC 2017
Modified Files:
src/sys/arch/arm/nvidia: files.tegra tegra124_cpu.c
src/sys/arch/evbarm/conf: TEGRA
Log Message:
Attach Tegra124 DVFS to /cpus/cpu0 now that another driver is claiming the
/cpus node.
To generate a diff of this commit:
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/arm/nvidia/files.tegra
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/nvidia/tegra124_cpu.c
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/evbarm/conf/TEGRA
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/nvidia/files.tegra
diff -u src/sys/arch/arm/nvidia/files.tegra:1.39 src/sys/arch/arm/nvidia/files.tegra:1.40
--- src/sys/arch/arm/nvidia/files.tegra:1.39 Tue May 30 22:55:26 2017
+++ src/sys/arch/arm/nvidia/files.tegra Fri Jun 2 00:09:56 2017
@@ -1,4 +1,4 @@
-# $NetBSD: files.tegra,v 1.39 2017/05/30 22:55:26 jmcneill Exp $
+# $NetBSD: files.tegra,v 1.40 2017/06/02 00:09:56 jmcneill Exp $
#
# Configuration info for NVIDIA Tegra ARM Peripherals
#
@@ -21,7 +21,7 @@ file arch/arm/nvidia/tegra_cpufreq.c
# Tegra T124 (32-bit K1) support
file arch/arm/nvidia/soc_tegra124.c soc_tegra124
device tegra124cpu
-attach tegra124cpu at fdt with tegra124_cpu
+attach tegra124cpu at cpu with tegra124_cpu
file arch/arm/nvidia/tegra124_cpu.c tegra124_cpu
# Tegra T210 (X1) support
Index: src/sys/arch/arm/nvidia/tegra124_cpu.c
diff -u src/sys/arch/arm/nvidia/tegra124_cpu.c:1.3 src/sys/arch/arm/nvidia/tegra124_cpu.c:1.4
--- src/sys/arch/arm/nvidia/tegra124_cpu.c:1.3 Sat Apr 29 23:00:42 2017
+++ src/sys/arch/arm/nvidia/tegra124_cpu.c Fri Jun 2 00:09:56 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_cpu.c,v 1.3 2017/04/29 23:00:42 jmcneill Exp $ */
+/* $NetBSD: tegra124_cpu.c,v 1.4 2017/06/02 00:09:56 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -30,7 +30,7 @@
#include "opt_multiprocessor.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra124_cpu.c,v 1.3 2017/04/29 23:00:42 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_cpu.c,v 1.4 2017/06/02 00:09:56 jmcneill Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -70,7 +70,7 @@ static size_t tegra124_cpufreq_get_avail
static int tegra124_cpu_match(device_t, cfdata_t, void *);
static void tegra124_cpu_attach(device_t, device_t, void *);
-static void tegra124_cpu_init_cpufreq(device_t);
+static int tegra124_cpu_init_cpufreq(device_t);
CFATTACH_DECL_NEW(tegra124_cpu, 0, tegra124_cpu_match, tegra124_cpu_attach,
NULL, NULL);
@@ -125,7 +125,7 @@ tegra124_cpu_match(device_t parent, cfda
const char * const compatible[] = { "nvidia,tegra124", NULL };
struct fdt_attach_args *faa = aux;
- if (OF_finddevice("/cpus") != faa->faa_phandle)
+ if (OF_finddevice("/cpus/cpu@0") != faa->faa_phandle)
return 0;
return of_match_compatible(OF_finddevice("/"), compatible);
@@ -135,12 +135,12 @@ static void
tegra124_cpu_attach(device_t parent, device_t self, void *aux)
{
aprint_naive("\n");
- aprint_normal(": CPU complex\n");
+ aprint_normal(": DVFS\n");
- config_defer(self, tegra124_cpu_init_cpufreq);
+ config_finalize_register(self, tegra124_cpu_init_cpufreq);
}
-static void
+static int
tegra124_cpu_init_cpufreq(device_t dev)
{
tegra124_speedo_init();
@@ -153,14 +153,16 @@ tegra124_cpu_init_cpufreq(device_t dev)
}
if (tegra124_clk_pllx == NULL) {
aprint_error_dev(dev, "couldn't find clock pll_x\n");
- return;
+ return 0;
}
if (tegra124_reg_vddcpu == NULL) {
aprint_error_dev(dev, "couldn't find voltage regulator\n");
- return;
+ return 0;
}
tegra_cpufreq_register(&tegra124_cpufreq_func);
+
+ return 0;
}
static void
Index: src/sys/arch/evbarm/conf/TEGRA
diff -u src/sys/arch/evbarm/conf/TEGRA:1.22 src/sys/arch/evbarm/conf/TEGRA:1.23
--- src/sys/arch/evbarm/conf/TEGRA:1.22 Mon May 29 23:22:00 2017
+++ src/sys/arch/evbarm/conf/TEGRA Fri Jun 2 00:09:56 2017
@@ -1,5 +1,5 @@
#
-# $NetBSD: TEGRA,v 1.22 2017/05/29 23:22:00 jmcneill Exp $
+# $NetBSD: TEGRA,v 1.23 2017/06/02 00:09:56 jmcneill Exp $
#
# NVIDIA Tegra K1 (T124)
#
@@ -36,7 +36,7 @@ cpus* at fdt? pass 0
cpu* at cpus?
# CPU frequency scaling
-tegra124cpu* at fdt?
+tegra124cpu* at cpu?
fclock* at fdt? pass 4
fregulator* at fdt? pass 4