From ed03d62a4c84ea430ae19e8993c7b2f5182af51b Mon Sep 17 00:00:00 2001 From: Justin Hibbits Date: Sat, 13 Jan 2018 02:56:09 +0000 Subject: [PATCH] Remove fdt fixups for powerpc, they are no longer needed. If a fixup really is needed, it should be fixed in u-boot, not in FreeBSD. Suggested by: nwhitehorn --- sys/conf/files.powerpc | 1 - sys/dev/fdt/fdt_powerpc.c | 144 -------------------------------------- sys/dev/ofw/ofw_fdt.c | 4 +- 3 files changed, 2 insertions(+), 147 deletions(-) delete mode 100644 sys/dev/fdt/fdt_powerpc.c diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index aca8db47170..065c68b6f67 100644 --- a/sys/conf/files.powerpc +++ b/sys/conf/files.powerpc @@ -31,7 +31,6 @@ dev/adb/adb_if.m optional adb dev/adb/adb_buttons.c optional adb dev/agp/agp_apple.c optional agp powermac dev/fb/fb.c optional sc -dev/fdt/fdt_powerpc.c optional fdt # ofwbus depends on simplebus. dev/fdt/simplebus.c optional aim | fdt dev/hwpmc/hwpmc_e500.c optional hwpmc diff --git a/sys/dev/fdt/fdt_powerpc.c b/sys/dev/fdt/fdt_powerpc.c deleted file mode 100644 index cf1fad59c66..00000000000 --- a/sys/dev/fdt/fdt_powerpc.c +++ /dev/null @@ -1,144 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2009-2010 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Semihalf under sponsorship from - * the FreeBSD Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include - -#include - -#include -#include -#include - -#include "ofw_bus_if.h" -#include "fdt_common.h" - -static void -fdt_fixup_busfreq(phandle_t root, uint32_t div) -{ - phandle_t sb, cpus, child; - pcell_t freq; - - /* - * Do a strict check so as to skip non-SOC nodes, which also claim - * simple-bus compatibility such as eLBC etc. - */ - if ((sb = fdt_find_compatible(root, "simple-bus", 1)) == 0) - return; - - /* - * This fixup uses /cpus/ bus-frequency prop value to set simple-bus - * bus-frequency property. - */ - if ((cpus = OF_finddevice("/cpus")) == -1) - return; - - if ((child = OF_child(cpus)) == 0) - return; - - if (OF_getprop(child, "bus-frequency", (void *)&freq, - sizeof(freq)) <= 0) - return; - - if (div == 0) - return; - - freq /= div; - - OF_setprop(sb, "bus-frequency", (void *)&freq, sizeof(freq)); -} - -static void -fdt_fixup_busfreq_mpc85xx(phandle_t root) -{ - - fdt_fixup_busfreq(root, 1); -} - -static void -fdt_fixup_busfreq_dpaa(phandle_t root) -{ - - fdt_fixup_busfreq(root, 2); -} - -static void -fdt_fixup_fman(phandle_t root) -{ - phandle_t node; - pcell_t freq; - - if ((node = fdt_find_compatible(root, "simple-bus", 1)) == 0) - return; - - if (OF_getprop(node, "bus-frequency", (void *)&freq, - sizeof(freq)) <= 0) - return; - - /* - * Set clock-frequency for FMan nodes (only on QorIQ DPAA targets). - * That frequency is equal to /soc node bus-frequency. - */ - for (node = OF_child(node); node != 0; node = OF_peer(node)) { - if (ofw_bus_node_is_compatible(node, "fsl,fman") == 0) - continue; - - if (OF_setprop(node, "clock-frequency", (void *)&freq, - sizeof(freq)) == -1) { - /* - * XXX Shall we take some actions if no clock-frequency - * property was found? - */ - } - } -} - -struct fdt_fixup_entry fdt_fixup_table[] = { - { "fsl,MPC8572DS", &fdt_fixup_busfreq_mpc85xx }, - { "MPC8555CDS", &fdt_fixup_busfreq_mpc85xx }, - { "fsl,P2020", &fdt_fixup_busfreq_mpc85xx }, - { "fsl,P2041RDB", &fdt_fixup_busfreq_dpaa }, - { "fsl,P2041RDB", &fdt_fixup_fman }, - { "fsl,P3041DS", &fdt_fixup_busfreq_dpaa }, - { "fsl,P3041DS", &fdt_fixup_fman }, - { "fsl,P5020DS", &fdt_fixup_busfreq_dpaa }, - { "fsl,P5020DS", &fdt_fixup_fman }, - { "varisys,CYRUS", &fdt_fixup_busfreq_dpaa }, - { "varisys,CYRUS", &fdt_fixup_fman }, - { NULL, NULL } -}; - diff --git a/sys/dev/ofw/ofw_fdt.c b/sys/dev/ofw/ofw_fdt.c index f51581bf3ca..c471c4624f6 100644 --- a/sys/dev/ofw/ofw_fdt.c +++ b/sys/dev/ofw/ofw_fdt.c @@ -430,7 +430,7 @@ ofw_fdt_package_to_path(ofw_t ofw, phandle_t package, char *buf, size_t len) return (-1); } -#if defined(FDT_MARVELL) || defined(__powerpc__) +#if defined(FDT_MARVELL) static int ofw_fdt_fixup(ofw_t ofw) { @@ -477,7 +477,7 @@ ofw_fdt_fixup(ofw_t ofw) static int ofw_fdt_interpret(ofw_t ofw, const char *cmd, int nret, cell_t *retvals) { -#if defined(FDT_MARVELL) || defined(__powerpc__) +#if defined(FDT_MARVELL) int rv; /*