From patchwork Sun Nov 27 15:24:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709379 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=sHnsJ6HJ; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsr00DHjz23mg for ; Mon, 28 Nov 2022 02:25:50 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EB0E584BD8; Sun, 27 Nov 2022 16:25:43 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="sHnsJ6HJ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7181184508; Sun, 27 Nov 2022 16:25:42 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 5380984508 for ; Sun, 27 Nov 2022 16:25:40 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x531.google.com with SMTP id f7so12388959edc.6 for ; Sun, 27 Nov 2022 07:25:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Z7N8RqwEcrzz69hRcWz+/JqZ2aEFVpueze5V7x1INLE=; b=sHnsJ6HJ1MBDbsnMuaxfeWcXYnEcgGf6CynqUh9/0bXg6MxEV0H8lJChx12NAiU694 VENsVh89ICgrW7+FqmPzwWf3HM6yHBcmuzaUaehlwbdFs+oFMufzc7XcWB2uud22SvN2 fT6TXNuhDfLRscYgrWA0PI7qW2i+hueEXH3JM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Z7N8RqwEcrzz69hRcWz+/JqZ2aEFVpueze5V7x1INLE=; b=DOEynluIFmgeCEzkYcBkQ68cXQWEesyNL0dk5nGbPPzy6kdO/i1qDnI44W+ZqW8NZ3 +rAycPn0CmhSilWE/ziLOmhkplmMLZu4dP5aqrEQCHB3geiB0aSSQV35xeZZLot5124O 3xyCcrQBzKCTExd/HBRgVvF8FsgOj/pIGw4kQk08Z/UoT3cnKZ95jjC264XvT4qiKwsN RTph2tTE+Qs/PWnVlk/JcKmdwkJJ18yH/RCzUrzJFik57WqmsxmxLIOQvxdTCpPvGDi3 ZxdYz/vAdIpPGo3Fyjy1YJjrKa4P3JSh5l3KTKAjluMnHM9QW1AupjNnl0SuRsHUSNmB Vrqw== X-Gm-Message-State: ANoB5pkK8qHzaEe7kDQxFtdp6NSyyLpdQ1xQjnzDjNhmah//2PCGiozv cANoFfi/Qpcbrv8xh44fDmRnsXAqBOoyig== X-Google-Smtp-Source: AA0mqf7Tgx8yn8xt2AGVV7GrMmV6Rqfpl2Gjhb1LOXvqBfrzzXFQSZiRoRPjz5LhR0VLJ/zGDm4UQg== X-Received: by 2002:a05:6402:3ce:b0:469:40c:ecfb with SMTP id t14-20020a05640203ce00b00469040cecfbmr40843010edw.164.1669562739558; Sun, 27 Nov 2022 07:25:39 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:39 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Cc: Anastasiia Lukianenko , Oleksandr Andrushchenko Subject: [PATCH 01/41] xenguest_arm64: Disable networking support more fully Date: Sun, 27 Nov 2022 10:24:56 -0500 Message-Id: <20221127152536.1556469-1-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221119234545.404563-38-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean This platform had largely disabled networking support before. More completely disable it by turning off CONFIG_NET. Cc: Anastasiia Lukianenko Cc: Oleksandr Andrushchenko Signed-off-by: Tom Rini --- configs/xenguest_arm64_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/xenguest_arm64_defconfig b/configs/xenguest_arm64_defconfig index 1632ca36b669..a696c2807b06 100644 --- a/configs/xenguest_arm64_defconfig +++ b/configs/xenguest_arm64_defconfig @@ -35,10 +35,10 @@ CONFIG_CMD_PVBLOCK=y # CONFIG_CMD_ITEST is not set # CONFIG_CMD_SOURCE is not set # CONFIG_CMD_SETEXPR is not set -# CONFIG_CMD_NET is not set # CONFIG_CMD_SLEEP is not set CONFIG_CMD_EXT4=y CONFIG_CMD_FAT=y +# CONFIG_NET is not set # CONFIG_MMC is not set # CONFIG_REQUIRE_SERIAL_CONSOLE is not set CONFIG_DM_SERIAL=y From patchwork Sun Nov 27 15:24:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709380 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=cpwXKZ4G; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsrG3TV2z23mg for ; Mon, 28 Nov 2022 02:26:06 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6201484B26; Sun, 27 Nov 2022 16:25:48 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="cpwXKZ4G"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 37BD784508; Sun, 27 Nov 2022 16:25:43 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,PDS_OTHER_BAD_TLD,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3FC9F84B26 for ; Sun, 27 Nov 2022 16:25:41 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x536.google.com with SMTP id z20so12366194edc.13 for ; Sun, 27 Nov 2022 07:25:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5H1PhvN4hrTsnrCDTAwuh1xUb4EJVkuxQOcH++/oax0=; b=cpwXKZ4GPps/oThxD0jQ9eiQk3ffXMReIVnihr/uG+UEZKUr19JFBo2cNS3dnX+S7a 2Ahzv3zKg6WvUN6WCC1B1JsqjjcxMUxXElPB+14HxqHrWPt9/DMl1ScwsvlHhKCzzPym 7XjJrKhqkPRsY4byYXGpLv5/Spxj08URu6vUM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5H1PhvN4hrTsnrCDTAwuh1xUb4EJVkuxQOcH++/oax0=; b=LZRUgC+M3KHorq0fH9wQr4xWhv3Trp007i+ebOfwYzLfY4lTDsDvWnsuIrSKMlKb9F lQ5Rk4oyQdG2cxQE7cUNsCCAZ2cn2E9Q1P5VWe0byjphu2CHfRnPfbn/AnEEYhjXP4fc bFf9+BZ/9VWDEle9KMFewxAETbuiT9QKGS1Q+mitDRMcdRlIYjgQyeYRV8qAVux9GzH3 dp5CbXqe8T5b8gtjxdWzJTLQFQwIY7Zi4Hc692WHFgb4qKG4gYrRs1k2/aV3/RSfPIOX CgFI1QdppcYgI7hGo4/KuOgLuHmVSfTTnWNVZuH1LYjwDKzVkgFAAyxs2Z9dsL8PKU+/ HRVA== X-Gm-Message-State: ANoB5pkih70uO3mD64eUN2VZZ2w+j10hFAJfewWEUDwfZbHJ/rgI3tZu KbN1+W4Itq10BcZLVDffz3nqpP7fBET4lw== X-Google-Smtp-Source: AA0mqf6IVClA7f9b2+H7iqm4Mvf130DPZBYtJyd7rgBgumdFzdpGJaChlYvg4XE3Uym3bzkMVP1qkw== X-Received: by 2002:a05:6402:1f85:b0:462:2410:9720 with SMTP id c5-20020a0564021f8500b0046224109720mr43713324edc.84.1669562740695; Sun, 27 Nov 2022 07:25:40 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:40 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Cc: Icenowy Zheng Subject: [PATCH 02/41] LicheePi_Zero: Disable networking support more fully Date: Sun, 27 Nov 2022 10:24:57 -0500 Message-Id: <20221127152536.1556469-2-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean This platform had largely disabled networking support before. More completely disable it by turning off CONFIG_NET. Cc: Icenowy Zheng Signed-off-by: Tom Rini --- configs/LicheePi_Zero_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/LicheePi_Zero_defconfig b/configs/LicheePi_Zero_defconfig index 5e9732e62e66..027edde6a5a9 100644 --- a/configs/LicheePi_Zero_defconfig +++ b/configs/LicheePi_Zero_defconfig @@ -6,4 +6,4 @@ CONFIG_MACH_SUN8I_V3S=y CONFIG_DRAM_CLK=360 # CONFIG_HAS_ARMV7_SECURE_BASE is not set CONFIG_SYS_MONITOR_LEN=786432 -# CONFIG_NETDEVICES is not set +# CONFIG_NET is not set From patchwork Sun Nov 27 15:24:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709381 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=AyF8v4AK; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsrM4r1xz23mg for ; Mon, 28 Nov 2022 02:26:11 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1A23584F28; Sun, 27 Nov 2022 16:25:51 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="AyF8v4AK"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8F30A84D54; Sun, 27 Nov 2022 16:25:44 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 69B7484BE3 for ; Sun, 27 Nov 2022 16:25:42 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52d.google.com with SMTP id b8so12368718edf.11 for ; Sun, 27 Nov 2022 07:25:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xb/Y0hwFbOhEdP40XqJq5R3uTBaYc4UPN5+EXyO7Bgg=; b=AyF8v4AKUG+du8Jv85dmQpQ6u8kfO28hZTOXtUHVvyYPdIRPdquy3NPX7HLYmIQqJ1 4okVapOkFXcjVWf4VVEEwPBsBPJuk1zgy6GiQwttnqJ3NSAHfyRgqI6hONYzfQXHINOe qwajCJUIrsaGOy5nUVOxm4cL55I97NWc3lTrM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xb/Y0hwFbOhEdP40XqJq5R3uTBaYc4UPN5+EXyO7Bgg=; b=J2Gc/VURmVsKKxwgPeJ2g7Dme4YEdlUwplm5l1wFbeIHzGf4mb9oeIoBfKOleVFcKJ shVpkpikW4/qrrrwSpkCzUXxg/vYh1fdikp1xg6UVEebgJ6fJRCz+PZbl5jo8NjZUz0C CDyvMLaxHx0/N8FLtIMyO3rdKfLfGSfvFUS10SvoANmLkYK/Pp3bBYJEJ+yZ7PLmYByl WRPkrFzk1SwZcsS8NNshEqH//bzjvCnxba/V4Vag4Q+shDy46FQUrYoqGLxiV+H8yGRq DQTVgo6v92k+gemNsICbVZjtiGyejj97/REToyVO5MNr3wSu/7TYlYwSrHDABSo11E+N 8IkA== X-Gm-Message-State: ANoB5pnxNdYTuV9qbNaCsFfRPoXmtWezPh6PAHPLnG1FXUTeFj+zC8ls xx7RIVhWG9+H38ozCjV1rFypoKCYqoM1BQ== X-Google-Smtp-Source: AA0mqf5T1UqO86lm06NylqD5C9rV6ypQLwkWGyAGs5lFqnii6zPcwsoxJNhnxDjabxESXI2ksP8ctQ== X-Received: by 2002:aa7:d1c5:0:b0:461:dd11:c1bd with SMTP id g5-20020aa7d1c5000000b00461dd11c1bdmr42745410edp.406.1669562741818; Sun, 27 Nov 2022 07:25:41 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:41 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Cc: Icenowy Zheng Subject: [PATCH 03/41] pinecube: Disable networking support more fully Date: Sun, 27 Nov 2022 10:24:58 -0500 Message-Id: <20221127152536.1556469-3-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean This platform had largely disabled networking support before. More completely disable it by turning off CONFIG_NET. Cc: Icenowy Zheng Signed-off-by: Tom Rini --- configs/pinecube_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/pinecube_defconfig b/configs/pinecube_defconfig index 3386eda88624..2ce7b2772a18 100644 --- a/configs/pinecube_defconfig +++ b/configs/pinecube_defconfig @@ -10,12 +10,12 @@ CONFIG_I2C0_ENABLE=y # CONFIG_HAS_ARMV7_SECURE_BASE is not set CONFIG_SYS_MONITOR_LEN=786432 CONFIG_SPL_I2C=y +# CONFIG_NET is not set CONFIG_SPL_SYS_I2C_LEGACY=y CONFIG_SYS_I2C_MVTWSI=y CONFIG_SYS_I2C_SLAVE=0x7f CONFIG_SYS_I2C_SPEED=400000 CONFIG_SPI_FLASH_WINBOND=y -# CONFIG_NETDEVICES is not set CONFIG_AXP209_POWER=y CONFIG_AXP_DCDC2_VOLT=1250 CONFIG_AXP_DCDC3_VOLT=3300 From patchwork Sun Nov 27 15:24:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709382 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=CJnyvVIS; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsrc0952z23mg for ; Mon, 28 Nov 2022 02:26:24 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4603884FD4; Sun, 27 Nov 2022 16:25:53 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="CJnyvVIS"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C6F6384E45; Sun, 27 Nov 2022 16:25:45 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A22B584508 for ; Sun, 27 Nov 2022 16:25:43 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62b.google.com with SMTP id vv4so20367788ejc.2 for ; Sun, 27 Nov 2022 07:25:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=q2M7pPb/Z8WrVENuDGeqsAb16r97rmD95yOadtk1IyA=; b=CJnyvVISnjQTs004S/N3VT7/Nama/ckClGSlOS2fyWYkT+8bvBXr3+MW3pCfK0Aa4d pNdILweWnRkKXjUZaNw08vC0fG8XnZb8UJxeM4YR14mJ6qCAToagRCX+flPdyR/Bz7qb qCiYP5XC78mVCArFkEO3OmI7PSc7koAjXudtI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=q2M7pPb/Z8WrVENuDGeqsAb16r97rmD95yOadtk1IyA=; b=c5IAXdrbVqjzXsdbhjkjg2daCxiwsNSpBkRzmIVsq7HPJOilXjcyvYzS9uzoIVGQao IvWoteqOstwe2rNfs7SgAn+T+aPQ4DZaZpaWvKYHJin6Oqfcu1Zx37Q/UxaogBkOsiuQ sFT3Od6KkgnL6l4T+QAgfHF8GYbEZEYYtcsqzT0YRai1Bi9gyCBSI7QmWVmaQfWZ/7Qo yuTsIx8FulUoMyGyi53CS1eWlbCE//X19pmA+hxhwiK9F+NlhqLnjVSjTGqtIVXu5LB6 asptyz4JIfpkhq9+MTW0bXPIAgKpZ/n5qERMjbYnz++NU4SDCkuuz9w/SW49/XLDJYO4 Igxg== X-Gm-Message-State: ANoB5pkwIBUOcZOiS3pp4M7xbiiivV8Fgk2/ITP044YYIrSfkl27MGfi tDBx8DiHhXc1++IY247FsHQC/sKIQbYY+A== X-Google-Smtp-Source: AA0mqf7bJHGNZ8jPbbQ/e5ae/bdKOIwnCOOlRk8INDNnXPopXSpWujkcJ2px/HL1NhtqsYdAqs8PMA== X-Received: by 2002:a17:907:a50c:b0:7bc:98f6:35c4 with SMTP id vr12-20020a170907a50c00b007bc98f635c4mr10870358ejc.123.1669562743023; Sun, 27 Nov 2022 07:25:43 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:42 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Cc: Mike Looijmans Subject: [PATCH 04/41] topic_miami*: Disable networking support more fully Date: Sun, 27 Nov 2022 10:24:59 -0500 Message-Id: <20221127152536.1556469-4-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean This platform had largely disabled networking support before. More completely disable it by turning off CONFIG_NET. Cc: Mike Looijmans Signed-off-by: Tom Rini Acked-by: Mike Looijmans --- configs/topic_miami_defconfig | 2 +- configs/topic_miamilite_defconfig | 2 +- configs/topic_miamiplus_defconfig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/configs/topic_miami_defconfig b/configs/topic_miami_defconfig index 96aa62a7ec12..ece625f62924 100644 --- a/configs/topic_miami_defconfig +++ b/configs/topic_miami_defconfig @@ -46,11 +46,11 @@ CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_USB=y # CONFIG_CMD_SETEXPR is not set -# CONFIG_CMD_NET is not set CONFIG_CMD_CACHE=y CONFIG_OF_EMBED=y CONFIG_ENV_OVERWRITE=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y +# CONFIG_NET is not set CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_DFU_RAM=y CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000 diff --git a/configs/topic_miamilite_defconfig b/configs/topic_miamilite_defconfig index 41ba8a7487d1..693a602ea395 100644 --- a/configs/topic_miamilite_defconfig +++ b/configs/topic_miamilite_defconfig @@ -46,11 +46,11 @@ CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_USB=y # CONFIG_CMD_SETEXPR is not set -# CONFIG_CMD_NET is not set CONFIG_CMD_CACHE=y CONFIG_OF_EMBED=y CONFIG_ENV_OVERWRITE=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y +# CONFIG_NET is not set CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_DFU_RAM=y CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000 diff --git a/configs/topic_miamiplus_defconfig b/configs/topic_miamiplus_defconfig index 763bd8cccdd3..97624e69e722 100644 --- a/configs/topic_miamiplus_defconfig +++ b/configs/topic_miamiplus_defconfig @@ -50,6 +50,7 @@ CONFIG_CMD_CACHE=y CONFIG_OF_EMBED=y CONFIG_ENV_OVERWRITE=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y +# CONFIG_NET is not set CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_DFU_RAM=y CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000 @@ -62,7 +63,6 @@ CONFIG_MMC_SDHCI_ZYNQ=y CONFIG_SF_DEFAULT_SPEED=108000000 CONFIG_SPI_FLASH_STMICRO=y # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set -# CONFIG_NETDEVICES is not set CONFIG_DEBUG_UART_ZYNQ=y CONFIG_ARM_DCC=y CONFIG_ZYNQ_SERIAL=y From patchwork Sun Nov 27 15:25:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709383 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=GeLTU1Yq; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsrr30wJz23mg for ; Mon, 28 Nov 2022 02:26:36 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 505008504C; Sun, 27 Nov 2022 16:25:55 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="GeLTU1Yq"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EE33084E45; Sun, 27 Nov 2022 16:25:46 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C3BE884D94 for ; Sun, 27 Nov 2022 16:25:44 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62a.google.com with SMTP id fy37so20290161ejc.11 for ; Sun, 27 Nov 2022 07:25:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gtFNtmOxCqWwxUyQdGUG+biupxlchN2b9ZMbwIKoLpo=; b=GeLTU1Yq7Fg0IbKYgpIFR0hSxPQPbXqAA02TM1hLqN3ltkVnlsySaNK0SsduLFPden gEuKsdNakLIzUsQkj7GhW9Nnx95OERv4owif/i7u88kS/xbXU4CoXFhBK+2VF5SLfLks CYyR4e3Yeh1aCLYjrvVJVDjMzIzq/CLr7mGWM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gtFNtmOxCqWwxUyQdGUG+biupxlchN2b9ZMbwIKoLpo=; b=meUP0/B2UekhnoS6QWD84xq76bvo+tnhhn3r/jf4SNXH58jkxjVqolbo9ESax5S+35 CwB/NiC4nE7G1f/LFgixZYoNCQMzfTbUavCoveQjeS1lN0i7SJTxuyt7TiSvq00QdNS5 LGdiZ+st1+tWrC52IdZG4q/9VPdNl/kSiwuJ3um9xsBAfhR3hG/mnRlA6Ooj+VHIVQ6m ysaKn3Cf24zWNIFBSH1YgoGdQCaBiaHiJvdDTvLibyjKunaKTJdvetF1Ej+bmB33Lau5 ia2chV6X8wsL2v8ph8KSkjSsvDVm/DL1oaX5UG+eTPFYYQiCJdn1WZyfae36+t50xbdL MRuQ== X-Gm-Message-State: ANoB5plpt6BZjuV+o1qJ038ckIeNLXIg/aRhjE/IfQfA5XBcq8wVaiSu VSNSZBSCFIYUAriHb4AzLGM4dIfWtGREow== X-Google-Smtp-Source: AA0mqf4ZOqHaBCATGjaf92vCPEdQM+u48t1oN+3N0rwXbw2TE0byTWsvK/PbzFcVPakMKyGetjOnuA== X-Received: by 2002:a17:906:fc9:b0:7ae:ef99:6fb2 with SMTP id c9-20020a1709060fc900b007aeef996fb2mr39342203ejk.761.1669562744160; Sun, 27 Nov 2022 07:25:44 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:43 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Cc: Simon Glass Subject: [PATCH 05/41] chromebook_samus_tpl: Disable SPL networking Date: Sun, 27 Nov 2022 10:25:00 -0500 Message-Id: <20221127152536.1556469-5-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean We don't appear to actually use networking in SPL here, disable it. Cc: Simon Glass Signed-off-by: Tom Rini Reviewed-by: Simon Glass --- configs/chromebook_samus_tpl_defconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/configs/chromebook_samus_tpl_defconfig b/configs/chromebook_samus_tpl_defconfig index 77735739b825..337768b45fd0 100644 --- a/configs/chromebook_samus_tpl_defconfig +++ b/configs/chromebook_samus_tpl_defconfig @@ -39,7 +39,6 @@ CONFIG_SPL_NO_BSS_LIMIT=y CONFIG_HANDOFF=y CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_DM_SPI_FLASH=y -CONFIG_SPL_NET=y CONFIG_SPL_PCI=y CONFIG_SPL_PCH=y CONFIG_TPL_PCI=y From patchwork Sun Nov 27 15:25:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709384 X-Patchwork-Delegate: andre.przywara@arm.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=WBVJWAx6; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKss449l6z23mg for ; Mon, 28 Nov 2022 02:26:48 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 46A1784F24; Sun, 27 Nov 2022 16:26:03 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="WBVJWAx6"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2CFEA84E45; Sun, 27 Nov 2022 16:25:48 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EBC4284508 for ; Sun, 27 Nov 2022 16:25:45 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52b.google.com with SMTP id s5so12344716edc.12 for ; Sun, 27 Nov 2022 07:25:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zXDvR6evgcLvtfklXOM1Qumx0a3Ipi1lYgm89KuIorc=; b=WBVJWAx6yUUr7TT3Lv+MGIBV1nL26egl4lzAG9NU3z4193yeqRQHCOtiwFPeSL+BsK 7pdkzJ966LV6h/POZWXJdTJ9UWevSk3Fulec8IQY+kg2WDR0F/2xIYF9ZQc1INdkVDko ETpbRcuUEjzN2/eQoerqO5aZd4DHbzpRCLnz4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zXDvR6evgcLvtfklXOM1Qumx0a3Ipi1lYgm89KuIorc=; b=l1rN+BgfOu3VUc6nIrDM51F3/hcww6hEUmnbQYrpGRA3RfbtuoW7Rud3/OkBvr3F4H dPWPXjXucBvBAkgNCgKhETKFSTvovgzIYhVzXm1fyhC4PclB7x/7KtuT8Nhsa37yua1g CQJXhkl4OI48Tpajn9wT7mhpk3ctuqWjErVCXKodtTbGa2J/awoIe7CCY0ODZ2VL41rd Eiszz0uESCXBeEAvOOYxOI1oKktF4KJRiP7JObvtTH+pijcNVzR0+7zZ4L90gKa//ViY fkfQ5kEGC4UzUhLFLL0HjZvzdaZmbJM/sgxk9aSmlWUBnjtpyrc4hRkca07HjFj2kGbb NJ5w== X-Gm-Message-State: ANoB5plYP9KezSMepJeiYswBLZgtPggmr5iHdxYToyq0nS7qK3uQo0cO oiF4HRR4ctQIIizaOT+6qbE3xNHz0mTFFQ== X-Google-Smtp-Source: AA0mqf4rphE1SzTEqAx7XUsCCbtQZQbPrZCWkAKkspnEzsxEtET6L+WtGYMZvbkLVM/F/9iR1wO+wQ== X-Received: by 2002:a05:6402:71a:b0:46b:1231:5f77 with SMTP id w26-20020a056402071a00b0046b12315f77mr3241326edx.244.1669562745359; Sun, 27 Nov 2022 07:25:45 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:45 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Cc: Andre Przywara Subject: [PATCH 06/41] sunxi: Move MMC_SUNXI_SLOT to Kconfig Date: Sun, 27 Nov 2022 10:25:01 -0500 Message-Id: <20221127152536.1556469-6-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean This value is always defined to 0, so move it to Kconfig as being set to always 0. Cc: Andre Przywara C: Icenowy Zheng Signed-off-by: Tom Rini --- arch/arm/mach-sunxi/Kconfig | 4 ++++ include/configs/sunxi-common.h | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index dbe6005daab1..c311a6d03523 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig @@ -685,6 +685,10 @@ config MMC1_PINS_PH ---help--- Select this option for boards where mmc1 uses the Port H pinmux. +config MMC_SUNXI_SLOT + int + default 0 + config MMC_SUNXI_SLOT_EXTRA int "mmc extra slot number" default -1 diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h index 1677aafad03b..496139f34635 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -69,9 +69,6 @@ #define PHYS_SDRAM_0 CFG_SYS_SDRAM_BASE #define PHYS_SDRAM_0_SIZE 0x80000000 /* 2 GiB */ -/* mmc config */ -#define CONFIG_MMC_SUNXI_SLOT 0 - /* * Miscellaneous configurable options */ From patchwork Sun Nov 27 15:25:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709385 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=eEAvYdHG; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKssH0ZVqz23mg for ; Mon, 28 Nov 2022 02:26:59 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 608B284F7C; Sun, 27 Nov 2022 16:26:06 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="eEAvYdHG"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A4C1484EF6; Sun, 27 Nov 2022 16:25:49 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1DD9284D54 for ; Sun, 27 Nov 2022 16:25:47 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62e.google.com with SMTP id n20so20434486ejh.0 for ; Sun, 27 Nov 2022 07:25:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=fvO9K38C/aSZY+isX5Ga0TZRt/WYCFzjaellIGUUXf0=; b=eEAvYdHGlu9kgfhrBLLXJh5UmWikKL/aukJJbgRog9AwyR3vfUqwBRogVzcvFpVfsm 1wnUWDySWu89cdtrcSN8KXHm//6TirPIqvc5xG9chwOl/QXWNidLtusCw1KIhGkpOH7x ClpSAMDcFNul+uPo+pKjHeY5N88hm/SctDpqE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fvO9K38C/aSZY+isX5Ga0TZRt/WYCFzjaellIGUUXf0=; b=MFjd8UxMTjwh2aXGBAsgTiMLL2Ek+7HeJ2L5k2vnqORyTQytJqfhScEw+lKhbnoe1h RG/Fi7x+iW4nvv+nHKuMXxp4PWsymblQTulIPgTKHa0xGdWnnxgTAh4tpMidf46zK130 yQ1SRA0p7X4B2JW2Psoq7Pezb98752O7tD7s9WRz2Yg3P5eaT2xLyFOd1IlLXtNViQKW l5AA4GE+i8wHuxw2m1NZ9mNDv2k6fBkg0/uYYasVZm7soDusbYVi+gLeDpAdvlGruCGl HWdOmN06bQ6Joa9h1pxaW9aOIjIg1/KLRlAVoIwHjz3Ggjd2HTbO884aXDPE7flaYPsZ Cmsg== X-Gm-Message-State: ANoB5pkmg4fOoCpjMWhUIAIe6CnSUzMfpNc9JJrKl7GFfGzdp6u8w+B2 kGkGKwg+8evQYTPsOeBc5bS8rcYR63W7MA== X-Google-Smtp-Source: AA0mqf6uZkqsvaqQ1KUgyPJoacPiQ0kzWtQurHW9gMC+lravumqLSEioNGQWNOE8y9ne+p+J3+XbLw== X-Received: by 2002:a17:907:d68b:b0:7b9:dff1:b26e with SMTP id wf11-20020a170907d68b00b007b9dff1b26emr19353438ejc.289.1669562746385; Sun, 27 Nov 2022 07:25:46 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:46 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 07/41] net: Remove extraneous dependencies Date: Sun, 27 Nov 2022 10:25:02 -0500 Message-Id: <20221127152536.1556469-7-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean With DM_ETH being required now for all drivers, we don't need this listed on individual drivers as well. Signed-off-by: Tom Rini --- drivers/net/Kconfig | 4 ++-- drivers/net/bnxt/Kconfig | 1 - drivers/net/mscc_eswitch/Kconfig | 10 +++++----- drivers/net/phy/Kconfig | 3 --- drivers/net/qe/Kconfig | 1 - 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 32404972bb37..38699ad2beb4 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -1,7 +1,6 @@ source "drivers/net/phy/Kconfig" source "drivers/net/pfe_eth/Kconfig" source "drivers/net/fsl-mc/Kconfig" -source "drivers/net/bnxt/Kconfig" config ETH def_bool y @@ -175,6 +174,8 @@ config BCMGENET help This driver supports the BCMGENET Ethernet MAC. +source "drivers/net/bnxt/Kconfig" + config CORTINA_NI_ENET bool "Cortina-Access Ethernet driver" depends on CORTINA_PLATFORM @@ -716,7 +717,6 @@ config RENESAS_RAVB config MPC8XX_FEC bool "Fast Ethernet Controller on MPC8XX" depends on MPC8xx - depends on DM_ETH select MII select SYS_DISCOVER_PHY help diff --git a/drivers/net/bnxt/Kconfig b/drivers/net/bnxt/Kconfig index 412ecd430335..6ff3ffa137be 100644 --- a/drivers/net/bnxt/Kconfig +++ b/drivers/net/bnxt/Kconfig @@ -1,6 +1,5 @@ config BNXT_ETH bool "BNXT PCI support" - depends on DM_ETH select PCI_INIT_R help This driver implements support for bnxt pci controller diff --git a/drivers/net/mscc_eswitch/Kconfig b/drivers/net/mscc_eswitch/Kconfig index 930d2ef11301..f9780661c80f 100644 --- a/drivers/net/mscc_eswitch/Kconfig +++ b/drivers/net/mscc_eswitch/Kconfig @@ -4,35 +4,35 @@ config MSCC_OCELOT_SWITCH bool "Ocelot switch driver" - depends on DM_ETH && ARCH_MSCC + depends on ARCH_MSCC select PHYLIB help This driver supports the Ocelot network switch device. config MSCC_LUTON_SWITCH bool "Luton switch driver" - depends on DM_ETH && ARCH_MSCC + depends on ARCH_MSCC select PHYLIB help This driver supports the Luton network switch device. config MSCC_JR2_SWITCH bool "Jaguar2 switch driver" - depends on DM_ETH && ARCH_MSCC + depends on ARCH_MSCC select PHYLIB help This driver supports the Jaguar2 network switch device. config MSCC_SERVALT_SWITCH bool "Servalt switch driver" - depends on DM_ETH && ARCH_MSCC + depends on ARCH_MSCC select PHYLIB help This driver supports the Servalt network switch device. config MSCC_SERVAL_SWITCH bool "Serval switch driver" - depends on DM_ETH && ARCH_MSCC + depends on ARCH_MSCC select PHYLIB help This driver supports the Serval network switch device. diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig index 52ce08b3b384..a1f90a44671a 100644 --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig @@ -315,7 +315,6 @@ config PHY_XILINX config PHY_XILINX_GMII2RGMII bool "Xilinx GMII to RGMII Ethernet PHYs support" - depends on DM_ETH help This adds support for Xilinx GMII to RGMII IP core. This IP acts as bridge between MAC connected over GMII and external phy that @@ -331,7 +330,6 @@ config PHY_ETHERNET_ID config PHY_FIXED bool "Fixed-Link PHY" - depends on DM_ETH help Fixed PHY is used for having a 'fixed-link' to another MAC with a direct connection (MII, RGMII, ...). @@ -341,7 +339,6 @@ config PHY_FIXED config PHY_NCSI bool "NC-SI based PHY" - depends on DM_ETH endif #PHYLIB diff --git a/drivers/net/qe/Kconfig b/drivers/net/qe/Kconfig index dec88dea2a3f..e795e913d42d 100644 --- a/drivers/net/qe/Kconfig +++ b/drivers/net/qe/Kconfig @@ -4,6 +4,5 @@ config QE_UEC bool "NXP QE UEC Ethernet controller" - depends on DM_ETH help This driver supports the NXP QE UEC ethernet controller From patchwork Sun Nov 27 15:25:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709386 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=DNqDa7Js; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKssV06cHz23mg for ; Mon, 28 Nov 2022 02:27:10 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7CDAE85006; Sun, 27 Nov 2022 16:26:08 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="DNqDa7Js"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 812DC84F66; Sun, 27 Nov 2022 16:25:51 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4146984508 for ; Sun, 27 Nov 2022 16:25:48 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62d.google.com with SMTP id gu23so2136622ejb.10 for ; Sun, 27 Nov 2022 07:25:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ITv3HNgZfl2jjpszgPlXck3qbuftOrNTZl2p7bLVnzc=; b=DNqDa7JsE7Vrujkqi3WTSo79H1AK3iAGhSAdr1IoQLpabEJ6gkQ1y6vthNgHia77mc kysCCkYVlbWQxa07b3Thgm77EELTF8/oPK7Tod4ZGN+n0GNxGCPxm2cGg+qiv9/S4NXN pW9+SU1yjffvEBNyRoWxmvQwfoSPYc9TJYrVk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ITv3HNgZfl2jjpszgPlXck3qbuftOrNTZl2p7bLVnzc=; b=ttPSB8WfH9LaZB3+RAkI3WwUcW2A2675xLECo2+ACJOfa+TU7Wpv/rCzvGiQBvmK9a tuY+AdukgBPmNizAKw+lJzbzH1lxyFjSoMA+0cRWadH1zSA85ul66hUa0NNs3nE6fTWW eNabNsqjsy7PtSt4eiAb/hwgR7QsOtc/4xDlGMWXkQL8+OGe7/Ozmb8jx2srm+QPX5ZF L8a6bhLdeMYYBeIzl1SICN61CGEH0JkdTdhudFm1QjnvoTfXXUY2qvwJzUlWaMCw5gMd eh0/ZS94/i+ZUoKQfucVNWURM5tZMJkxIjwQIdd3P2kZWOfUkFFaKcRtsc8Kz9quDtD9 bbUQ== X-Gm-Message-State: ANoB5pkwWscl0Qt5C0/HLye2KYkYExW/xak98BKeMcjXxxY3HxNtpMH/ 0qOobym2r5D8MgC1KIRhJ9aFwuuI3NJoMw== X-Google-Smtp-Source: AA0mqf6Z/jLSMF214yKDq0h9ezM0D2HvOoV7R8ROjEeLxdLjedgaRpY6ZWmPyRnLdqnKAA/tvoZz1A== X-Received: by 2002:a17:906:a983:b0:7b8:31b1:b23f with SMTP id jr3-20020a170906a98300b007b831b1b23fmr23543864ejb.591.1669562747420; Sun, 27 Nov 2022 07:25:47 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:47 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 08/41] global: Remove extraneous DM_ETH imply/select Date: Sun, 27 Nov 2022 10:25:03 -0500 Message-Id: <20221127152536.1556469-8-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean We only need to enable DM_ETH if we have a networking driver. All networking drivers depend on DM_ETH being enabled, and their selection ensures DM_ETH will be enabled. Signed-off-by: Tom Rini --- arch/Kconfig | 2 -- arch/arm/Kconfig | 13 ------------- arch/arm/mach-at91/Kconfig | 4 ---- arch/arm/mach-imx/mx5/Kconfig | 1 - arch/arm/mach-imx/mx6/Kconfig | 16 ---------------- arch/arm/mach-omap2/am33xx/Kconfig | 1 - arch/arm/mach-snapdragon/Kconfig | 2 -- arch/arm/mach-tegra/Kconfig | 1 - arch/mips/Kconfig | 4 ---- board/armltd/vexpress64/Kconfig | 1 - board/keymile/km83xx/Kconfig | 1 - board/tq/tqma6/Kconfig | 1 - 12 files changed, 47 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig index 51d46a45fef1..b074cc6c51eb 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -113,7 +113,6 @@ config RISCV select DM select SPL_SEPARATE_BSS if SPL imply DM_SERIAL - imply DM_ETH imply DM_EVENT imply DM_MMC imply DM_SPI @@ -241,7 +240,6 @@ config X86 imply CMD_SF imply CMD_SF_TEST imply CMD_ZBOOT - imply DM_ETH imply DM_EVENT imply DM_GPIO imply DM_KEYBOARD diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1c734fa08774..f55113fb5c8b 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -632,7 +632,6 @@ config ARCH_KIRKWOOD config ARCH_MVEBU bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)" select DM - select DM_ETH select DM_SERIAL select DM_SPI select DM_SPI_FLASH @@ -736,7 +735,6 @@ config ARCH_EXYNOS select DM select DM_GPIO select DM_I2C - select DM_ETH select DM_KEYBOARD select DM_SERIAL select DM_SPI @@ -767,7 +765,6 @@ config ARCH_HIGHBANK select CLK select CLK_CCF select AHCI - select DM_ETH select PHYS_64BIT select TIMER select SP804_TIMER @@ -1041,7 +1038,6 @@ config ARCH_APPLE config ARCH_OWL bool "Actions Semi OWL SoCs" select DM - select DM_ETH select DM_SERIAL select GPIO_EXTRA_HEADER select OWL_SERIAL @@ -1141,7 +1137,6 @@ config ARCH_SUNXI select CMD_USB if DISTRO_DEFAULTS && USB_HOST select CLK select DM - select DM_ETH select DM_GPIO select DM_I2C if I2C select DM_SPI if SPI @@ -1220,7 +1215,6 @@ config ARCH_VERSAL select ARM64 select CLK select DM - select DM_ETH if NET select DM_MMC if MMC select DM_SERIAL select GICV3 @@ -1234,7 +1228,6 @@ config ARCH_VERSAL_NET select ARM64 select CLK select DM - select DM_ETH if NET select DM_MMC if MMC select DM_SERIAL select OF_CONTROL @@ -1259,7 +1252,6 @@ config ARCH_ZYNQ select CPU_V7A select DEBUG_UART_BOARD_INIT if SPL && DEBUG_UART select DM - select DM_ETH if NET select DM_MMC if MMC select DM_SERIAL select DM_SPI @@ -1289,7 +1281,6 @@ config ARCH_ZYNQMP_R5 select CLK select CPU_V7R select DM - select DM_ETH if NET select DM_MMC if MMC select DM_SERIAL select OF_CONTROL @@ -1302,7 +1293,6 @@ config ARCH_ZYNQMP select CLK select DM select DEBUG_UART_BOARD_INIT if SPL && DEBUG_UART - select DM_ETH if NET select DM_MAILBOX select DM_MMC if MMC select DM_SERIAL @@ -1849,7 +1839,6 @@ config TARGET_SL28 select DM_I2C select DM_MMC select DM_SPI_FLASH - select DM_ETH select DM_MDIO select PCI select DM_RNG @@ -1886,7 +1875,6 @@ config ARCH_UNIPHIER bool "Socionext UniPhier SoCs" select BOARD_LATE_INIT select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -2072,7 +2060,6 @@ config TARGET_POMELO select SCSI select DM_SCSI select DM_SERIAL - select DM_ETH if NET imply CMD_PCI help Support for pomelo platform. diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 094c9891f648..7c2e4ebbdb0f 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig @@ -85,7 +85,6 @@ config TARGET_GURNARD select AT91_WANTS_COMMON_PHY select BOARD_LATE_INIT select DM - select DM_ETH select DM_GPIO select DM_SERIAL select DM_SPI @@ -253,7 +252,6 @@ config TARGET_CORVUS select AT91SAM9M10G45 select AT91_WANTS_COMMON_PHY select DM - select DM_ETH select DM_GPIO select DM_SERIAL select SUPPORT_SPL @@ -271,7 +269,6 @@ config TARGET_TAURUS select AT91SAM9G20 select AT91_WANTS_COMMON_PHY select DM - select DM_ETH select DM_GPIO select DM_SERIAL select DM_SPI @@ -284,7 +281,6 @@ config TARGET_SMARTWEB select AT91SAM9260 select AT91_WANTS_COMMON_PHY select DM - select DM_ETH select DM_GPIO select DM_SERIAL select SUPPORT_SPL diff --git a/arch/arm/mach-imx/mx5/Kconfig b/arch/arm/mach-imx/mx5/Kconfig index 494e2136dc04..d282663dcf1f 100644 --- a/arch/arm/mach-imx/mx5/Kconfig +++ b/arch/arm/mach-imx/mx5/Kconfig @@ -22,7 +22,6 @@ config TARGET_KP_IMX53 bool "Support K+P imx53 board" select BOARD_LATE_INIT select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_PMIC diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig index e6b0ee757933..7529b311f80e 100644 --- a/arch/arm/mach-imx/mx6/Kconfig +++ b/arch/arm/mach-imx/mx6/Kconfig @@ -174,7 +174,6 @@ config TARGET_DART_6UL bool "Variscite imx6ULL dart(DART-SOM-6ULL)" depends on MX6ULL select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -197,7 +196,6 @@ config TARGET_DISPLAY5 bool "LWN DISPLAY5 board" depends on MX6Q select DM - select DM_ETH select DM_I2C select DM_MMC select DM_SPI @@ -245,7 +243,6 @@ config TARGET_KONTRON_MX6UL config TARGET_KOSAGI_NOVENA bool "Kosagi Novena" select BOARD_LATE_INIT - select DM_ETH select DM_GPIO select DM_MMC select PCI @@ -261,7 +258,6 @@ config TARGET_MCCMON6 select SUPPORT_SPL select DM select DM_GPIO - select DM_ETH select DM_SERIAL select DM_I2C select DM_SPI @@ -280,7 +276,6 @@ config TARGET_MX6LOGICPD select BOARD_EARLY_INIT_F select BOARD_LATE_INIT select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -301,7 +296,6 @@ config TARGET_MX6DL_MAMOJ bool "Support BTicino Mamoj" depends on MX6QDL select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -334,7 +328,6 @@ config TARGET_MX6Q_ENGICAM depends on MX6QDL select BOARD_LATE_INIT select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -355,7 +348,6 @@ config TARGET_MX6Q_ACC select OF_CONTROL select SPL_OF_LIBFDT select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -447,7 +439,6 @@ config TARGET_MX6UL_ENGICAM depends on MX6UL select BOARD_LATE_INIT select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -484,7 +475,6 @@ config TARGET_MYS_6ULX bool "MYiR MYS-6ULX" depends on MX6ULL select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -504,7 +494,6 @@ config TARGET_NPI_IMX6ULL bool "Seeed NPI-IMX6ULL" depends on MX6ULL select DM - select DM_ETH select DM_MMC select DM_GPIO select DM_SERIAL @@ -552,7 +541,6 @@ config TARGET_PCL063 bool "PHYTEC PCL063 (phyCORE-i.MX6UL)" depends on MX6UL select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -564,7 +552,6 @@ config TARGET_PCL063_ULL bool "PHYTEC PCL063 (phyCORE-i.MX6ULL)" depends on MX6ULL select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC @@ -577,7 +564,6 @@ config TARGET_SOMLABS_VISIONSOM_6ULL depends on MX6ULL select BOARD_LATE_INIT select DM - select DM_ETH select DM_GPIO select DM_MMC select DM_SERIAL @@ -597,7 +583,6 @@ config TARGET_KP_IMX6Q_TPC select SPL_DM if SPL select DM_THERMAL select DM_MMC - select DM_ETH select DM_REGULATOR select SPL_DM_REGULATOR if SPL select DM_SERIAL @@ -661,7 +646,6 @@ config TARGET_BRPPT2 select OF_CONTROL select SPL_OF_LIBFDT select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_MMC diff --git a/arch/arm/mach-omap2/am33xx/Kconfig b/arch/arm/mach-omap2/am33xx/Kconfig index 6c2d46abc4cf..b666e8111040 100644 --- a/arch/arm/mach-omap2/am33xx/Kconfig +++ b/arch/arm/mach-omap2/am33xx/Kconfig @@ -230,7 +230,6 @@ config TARGET_AM43XX_EVM bool "Support am43xx_evm" select BOARD_LATE_INIT select TI_I2C_BOARD_DETECT - imply DM_ETH imply DM_I2C imply DM_SPI imply DM_SPI_FLASH diff --git a/arch/arm/mach-snapdragon/Kconfig b/arch/arm/mach-snapdragon/Kconfig index 092733330683..914f4d960534 100644 --- a/arch/arm/mach-snapdragon/Kconfig +++ b/arch/arm/mach-snapdragon/Kconfig @@ -55,7 +55,6 @@ config TARGET_DRAGONBOARD845C - 64GiB UFS drive select MISC_INIT_R select SDM845 - select DM_ETH if NET config TARGET_STARQLTECHN bool "Samsung S9 SM-G9600(starqltechn)" @@ -67,7 +66,6 @@ config TARGET_STARQLTECHN - 64GiB UFS drive select MISC_INIT_R select SDM845 - select DM_ETH if NET config TARGET_QCS404EVB bool "Qualcomm Technologies, Inc. QCS404 EVB" diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 09ad2d6f5aec..edcf967afd96 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -44,7 +44,6 @@ config TEGRA_COMMON select BOARD_EARLY_INIT_F select CLK select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_KEYBOARD diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 9af0133f1068..23142bd2700d 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -19,7 +19,6 @@ config TARGET_MALTA select DM select DM_SERIAL select PCI - select DM_ETH select DYNAMIC_IO_PORT_BASE select MIPS_CM select MIPS_INSERT_BOOT_CONFIG @@ -71,7 +70,6 @@ config ARCH_MTMIPS imply CMD_DM select DISPLAY_CPUINFO select DM - imply DM_ETH imply DM_GPIO select DM_RESET select DM_SERIAL @@ -104,7 +102,6 @@ config ARCH_OCTEON select DISPLAY_CPUINFO select DMA_ADDR_T_64BIT select DM - select DM_ETH select DM_GPIO select DM_I2C select DM_SERIAL @@ -153,7 +150,6 @@ config TARGET_XILFPGA bool "Support Imagination Xilfpga" select HAS_FIXED_TIMER_FREQUENCY select DM - select DM_ETH select DM_GPIO select DM_SERIAL select SYS_CACHE_SHIFT_4 diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig index c7adae0ea717..5616e223a90a 100644 --- a/board/armltd/vexpress64/Kconfig +++ b/board/armltd/vexpress64/Kconfig @@ -14,7 +14,6 @@ config VEXPRESS64_BASE_MODEL select SEMIHOSTING select VIRTIO_BLK if VIRTIO_MMIO select VIRTIO_NET if VIRTIO_MMIO - select DM_ETH if VIRTIO_NET select LINUX_KERNEL_IMAGE_HEADER select POSITION_INDEPENDENT diff --git a/board/keymile/km83xx/Kconfig b/board/keymile/km83xx/Kconfig index ef3c62b9ded6..f87a2e64163e 100644 --- a/board/keymile/km83xx/Kconfig +++ b/board/keymile/km83xx/Kconfig @@ -6,7 +6,6 @@ config KM_ENABLE_FULL_DM_DTS_SUPPORT default y select CMD_DM select DM - select DM_ETH select DM_MDIO select DM_SERIAL select OF_CONTROL diff --git a/board/tq/tqma6/Kconfig b/board/tq/tqma6/Kconfig index 1cd90718f4a1..e7f23367afd2 100644 --- a/board/tq/tqma6/Kconfig +++ b/board/tq/tqma6/Kconfig @@ -63,7 +63,6 @@ choice config MBA6 bool "TQMa6 on MBa6 Starterkit" - select DM_ETH select USB select CMD_USB select USB_STORAGE From patchwork Sun Nov 27 15:25:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709388 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=P3b2sl7U; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKst05SrXz23mg for ; Mon, 28 Nov 2022 02:27:36 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E87A784F83; Sun, 27 Nov 2022 16:26:12 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="P3b2sl7U"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B16198500C; Sun, 27 Nov 2022 16:25:55 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id CA8E684D54 for ; Sun, 27 Nov 2022 16:25:49 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x535.google.com with SMTP id d20so1635708edn.0 for ; Sun, 27 Nov 2022 07:25:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=XX0EeYeNZsuNZ8bsSbE2HhrjEeQvnLjrL3piz7PqdLU=; b=P3b2sl7UlVbcHcyLQdGDSAjP/E35RenV8wbzIBCkbxjSicK9zopIGCzGoJEIIval8x 9OjgjND+E9SetbHEeWLKDXmulcXndTKKnaoQ2ACzzgzfhSmqg6xsjTHdwxbDMiEd/UfE 4sOdmyvnzC08BtF6k9P8Bc6CDbMnLp6FKbiqM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XX0EeYeNZsuNZ8bsSbE2HhrjEeQvnLjrL3piz7PqdLU=; b=MLb8lTmJ19YLwOhJUG3e5Fz89V9OOXJNV+9zavRRQ9Mzqqp60qRXC1D+CcxSRXEcuc TJiD+s2+laCrHw2HaWOkIRoxi9+jNCXSrQiKzZm2FwqP+ahuFuTARdh5oGjZiVzPsGd/ AyB4XwsYRsedB+xzEMzRsn3Vnptmj7dDzFJTSNoy5CBQWU6Fvn5KeXxRVIADEroaYVqR JAPQz6fkzO69pZfA7GyCTz7tW6iRpjGwiWW69eQ8bpoFpUz6YCQ9x2IigR2gC/wbP5Og ClUsbLf3I414vu5VPJ4BubUt4IqWFDgO/UN4MRWuwr4U3hJh1e3qHHwQQEwKiyQNvFl2 zkdA== X-Gm-Message-State: ANoB5pl0XbbkfDJc0oLIlCR4ea2AwBdsT+XVovbBsZ86Ije+wKOfUSv6 FIDOiEFXC5PSCzE8JLflOcUD0+IInQvIXg== X-Google-Smtp-Source: AA0mqf7MpGl1TzwOXuydSroG9kXU7sZ7NrE+s7LVQ5FXpJ9ZMAYZdfGF78bvcU29Aii3c6OhMxnZUA== X-Received: by 2002:aa7:d613:0:b0:46a:ed3c:a31d with SMTP id c19-20020aa7d613000000b0046aed3ca31dmr6647823edr.368.1669562748638; Sun, 27 Nov 2022 07:25:48 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:48 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 09/41] net: tsec: Remove non-DM_ETH support code Date: Sun, 27 Nov 2022 10:25:04 -0500 Message-Id: <20221127152536.1556469-9-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Doing this removes some board support code which was also unused. Finally, this removes some CONFIG symbols that otherwise needed to be migrated to Kconfig, but were unused in code now. Signed-off-by: Tom Rini --- arch/arm/include/asm/arch-ls102xa/config.h | 5 - arch/powerpc/include/asm/config_mpc85xx.h | 17 -- arch/powerpc/include/asm/immap_83xx.h | 5 - arch/powerpc/include/asm/immap_85xx.h | 8 - board/freescale/common/pixis.c | 73 ------- board/freescale/mpc8548cds/mpc8548cds.c | 82 -------- board/freescale/p1010rdb/p1010rdb.c | 43 ----- board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c | 50 ----- drivers/net/tsec.c | 199 +------------------- include/configs/MPC837XERDB.h | 27 --- include/configs/MPC8548CDS.h | 27 --- include/configs/P1010RDB.h | 31 --- include/configs/ls1021aiot.h | 21 --- include/configs/ls1021aqds.h | 26 --- include/configs/p1_p2_rdb_pc.h | 21 --- include/configs/socrates.h | 16 -- include/tsec.h | 60 ------ 17 files changed, 1 insertion(+), 710 deletions(-) diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h index 6413a307d273..14f86df5ed5a 100644 --- a/arch/arm/include/asm/arch-ls102xa/config.h +++ b/arch/arm/include/asm/arch-ls102xa/config.h @@ -36,11 +36,6 @@ #define CFG_SYS_FSL_SEC_OFFSET 0x00700000 #define CFG_SYS_FSL_JR0_OFFSET 0x00710000 -#define CFG_SYS_TSEC1_OFFSET 0x01d10000 -#define CFG_SYS_MDIO1_OFFSET 0x01d24000 - -#define TSEC_BASE_ADDR (CONFIG_SYS_IMMR + CFG_SYS_TSEC1_OFFSET) -#define MDIO_BASE_ADDR (CONFIG_SYS_IMMR + CFG_SYS_MDIO1_OFFSET) #define SCTR_BASE_ADDR (CONFIG_SYS_IMMR + 0x01b00000) diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h index d9e5a7d62170..1b5b4947f1a8 100644 --- a/arch/powerpc/include/asm/config_mpc85xx.h +++ b/arch/powerpc/include/asm/config_mpc85xx.h @@ -24,18 +24,9 @@ #elif defined(CONFIG_ARCH_P1010) #define CONFIG_FSL_SDHC_V2_3 -#define CONFIG_TSECV2 #define CONFIG_SYS_FSL_IFC_BANK_COUNT 4 -/* P1011 is single core version of P1020 */ -#elif defined(CONFIG_ARCH_P1011) -#define CONFIG_TSECV2 - -#elif defined(CONFIG_ARCH_P1020) -#define CONFIG_TSECV2 - #elif defined(CONFIG_ARCH_P1021) -#define CONFIG_TSECV2 #define QE_MURAM_SIZE 0x6000UL #define MAX_QE_RISC 1 #define QE_NUM_OF_SNUM 28 @@ -47,13 +38,8 @@ #define CFG_SYS_BMAN_NUM_PORTALS 3 #define CFG_SYS_FM_MURAM_SIZE 0x10000 -/* P1024 is lower end variant of P1020 */ -#elif defined(CONFIG_ARCH_P1024) -#define CONFIG_TSECV2 - /* P1025 is lower end variant of P1021 */ #elif defined(CONFIG_ARCH_P1025) -#define CONFIG_TSECV2 #define QE_MURAM_SIZE 0x6000UL #define MAX_QE_RISC 1 #define QE_NUM_OF_SNUM 28 @@ -108,12 +94,10 @@ #elif defined(CONFIG_ARCH_BSC9131) #define CONFIG_FSL_SDHC_V2_3 -#define CONFIG_TSECV2 #define CONFIG_SYS_FSL_IFC_BANK_COUNT 3 #elif defined(CONFIG_ARCH_BSC9132) #define CONFIG_FSL_SDHC_V2_3 -#define CONFIG_TSECV2 #define CONFIG_SYS_FSL_IFC_BANK_COUNT 3 #elif defined(CONFIG_ARCH_T4240) @@ -221,7 +205,6 @@ #elif defined(CONFIG_ARCH_C29X) #define CONFIG_FSL_SDHC_V2_3 -#define CONFIG_TSECV2_1 #define CONFIG_SYS_FSL_IFC_BANK_COUNT 8 #define CFG_SYS_FSL_SEC_IDX_OFFSET 0x20000 diff --git a/arch/powerpc/include/asm/immap_83xx.h b/arch/powerpc/include/asm/immap_83xx.h index 19774f3053b3..24bd438c1432 100644 --- a/arch/powerpc/include/asm/immap_83xx.h +++ b/arch/powerpc/include/asm/immap_83xx.h @@ -873,9 +873,4 @@ struct ccsr_gpio { #define CFG_SYS_LBC_ADDR (&((immap_t *)CONFIG_SYS_IMMR)->im_lbc) -#define CFG_SYS_TSEC1_OFFSET 0x24000 -#define CFG_SYS_MDIO1_OFFSET 0x24000 - -#define TSEC_BASE_ADDR (CONFIG_SYS_IMMR + CFG_SYS_TSEC1_OFFSET) -#define MDIO_BASE_ADDR (CONFIG_SYS_IMMR + CFG_SYS_MDIO1_OFFSET) #endif /* __IMMAP_83xx__ */ diff --git a/arch/powerpc/include/asm/immap_85xx.h b/arch/powerpc/include/asm/immap_85xx.h index 283fdf3b458a..7293720fb3cd 100644 --- a/arch/powerpc/include/asm/immap_85xx.h +++ b/arch/powerpc/include/asm/immap_85xx.h @@ -2541,13 +2541,6 @@ struct ccsr_pman { #define CFG_SYS_MPC85xx_USB2_OFFSET 0x23000 #define CFG_SYS_MPC85xx_USB1_PHY_OFFSET 0xE5000 #define CFG_SYS_MPC85xx_USB2_PHY_OFFSET 0xE5100 -#ifdef CONFIG_TSECV2 -#define CFG_SYS_TSEC1_OFFSET 0xB0000 -#elif defined(CONFIG_TSECV2_1) -#define CFG_SYS_TSEC1_OFFSET 0x10000 -#else -#define CFG_SYS_TSEC1_OFFSET 0x24000 -#endif #define CFG_SYS_MDIO1_OFFSET 0x24000 #define CFG_SYS_MPC85xx_ESDHC_OFFSET 0x2e000 #if defined(CONFIG_ARCH_C29X) @@ -2673,7 +2666,6 @@ struct ccsr_pman { #define CFG_SYS_SEC_MON_ADDR \ (CONFIG_SYS_IMMR + CFG_SYS_SEC_MON_OFFSET) -#define TSEC_BASE_ADDR (CONFIG_SYS_IMMR + CFG_SYS_TSEC1_OFFSET) #define MDIO_BASE_ADDR (CONFIG_SYS_IMMR + CFG_SYS_MDIO1_OFFSET) #ifdef CONFIG_SYS_FSL_QORIQ_CHASSIS2 diff --git a/board/freescale/common/pixis.c b/board/freescale/common/pixis.c index 6fdb11039e54..cb9f4549725c 100644 --- a/board/freescale/common/pixis.c +++ b/board/freescale/common/pixis.c @@ -281,79 +281,6 @@ U_BOOT_CMD( "" ); -#ifdef CONFIG_PIXIS_SGMII_CMD - -/* Enable or disable SGMII mode for a TSEC - */ -static int pixis_set_sgmii(struct cmd_tbl *cmdtp, int flag, int argc, - char *const argv[]) -{ - int which_tsec = -1; - unsigned char mask; - unsigned char switch_mask; - - if ((argc > 2) && (strcmp(argv[1], "all") != 0)) - which_tsec = simple_strtoul(argv[1], NULL, 0); - - switch (which_tsec) { -#ifdef CONFIG_TSEC1 - case 1: - mask = PIXIS_VSPEED2_TSEC1SER; - switch_mask = PIXIS_VCFGEN1_TSEC1SER; - break; -#endif -#ifdef CONFIG_TSEC2 - case 2: - mask = PIXIS_VSPEED2_TSEC2SER; - switch_mask = PIXIS_VCFGEN1_TSEC2SER; - break; -#endif -#ifdef CONFIG_TSEC3 - case 3: - mask = PIXIS_VSPEED2_TSEC3SER; - switch_mask = PIXIS_VCFGEN1_TSEC3SER; - break; -#endif -#ifdef CONFIG_TSEC4 - case 4: - mask = PIXIS_VSPEED2_TSEC4SER; - switch_mask = PIXIS_VCFGEN1_TSEC4SER; - break; -#endif - default: - mask = PIXIS_VSPEED2_MASK; - switch_mask = PIXIS_VCFGEN1_MASK; - break; - } - - /* Toggle whether the switches or FPGA control the settings */ - if (!strcmp(argv[argc - 1], "switch")) - clrbits_8(pixis_base + PIXIS_VCFGEN1, switch_mask); - else - setbits_8(pixis_base + PIXIS_VCFGEN1, switch_mask); - - /* If it's not the switches, enable or disable SGMII, as specified */ - if (!strcmp(argv[argc - 1], "on")) - clrbits_8(pixis_base + PIXIS_VSPEED2, mask); - else if (!strcmp(argv[argc - 1], "off")) - setbits_8(pixis_base + PIXIS_VSPEED2, mask); - - return 0; -} - -U_BOOT_CMD( - pixis_set_sgmii, CONFIG_SYS_MAXARGS, 1, pixis_set_sgmii, - "pixis_set_sgmii" - " - Enable or disable SGMII mode for a given TSEC \n", - "\npixis_set_sgmii [TSEC num] \n" - " TSEC num: 1,2,3,4 or 'all'. 'all' is default.\n" - " on - enables SGMII\n" - " off - disables SGMII\n" - " switch - use switch settings" -); - -#endif - /* * This function takes the non-integral cpu:mpx pll ratio * and converts it to an integer that can be used to assign diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c index 73e024eaa011..ec6e3a2d0ab5 100644 --- a/board/freescale/mpc8548cds/mpc8548cds.c +++ b/board/freescale/mpc8548cds/mpc8548cds.c @@ -168,85 +168,3 @@ void lbc_sdram_init(void) #endif /* enable SDRAM init */ } - -#ifndef CONFIG_DM_ETH -static void configure_rgmii(void) -{ - unsigned short temp; - - /* Change the resistors for the PHY */ - /* This is needed to get the RGMII working for the 1.3+ - * CDS cards */ - if (get_board_version() == 0x13) { - miiphy_write(DEFAULT_MII_NAME, - TSEC1_PHY_ADDR, 29, 18); - - miiphy_read(DEFAULT_MII_NAME, - TSEC1_PHY_ADDR, 30, &temp); - - temp = (temp & 0xf03f); - temp |= 2 << 9; /* 36 ohm */ - temp |= 2 << 6; /* 39 ohm */ - - miiphy_write(DEFAULT_MII_NAME, - TSEC1_PHY_ADDR, 30, temp); - - miiphy_write(DEFAULT_MII_NAME, - TSEC1_PHY_ADDR, 29, 3); - - miiphy_write(DEFAULT_MII_NAME, - TSEC1_PHY_ADDR, 30, 0x8000); - } - - return; -} - -int board_eth_init(struct bd_info *bis) -{ -#ifdef CONFIG_TSEC_ENET - struct fsl_pq_mdio_info mdio_info; - struct tsec_info_struct tsec_info[4]; - int num = 0; - -#ifdef CONFIG_TSEC1 - SET_STD_TSEC_INFO(tsec_info[num], 1); - num++; -#endif -#ifdef CONFIG_TSEC2 - SET_STD_TSEC_INFO(tsec_info[num], 2); - num++; -#endif -#ifdef CONFIG_TSEC3 - /* initialize TSEC3 only if Carrier is 1.3 or above on CDS */ - if (get_board_version() >= 0x13) { - SET_STD_TSEC_INFO(tsec_info[num], 3); - tsec_info[num].interface = PHY_INTERFACE_MODE_RGMII_ID; - num++; - } -#endif -#ifdef CONFIG_TSEC4 - /* initialize TSEC4 only if Carrier is 1.3 or above on CDS */ - if (get_board_version() >= 0x13) { - SET_STD_TSEC_INFO(tsec_info[num], 4); - tsec_info[num].interface = PHY_INTERFACE_MODE_RGMII_ID; - num++; - } -#endif - - if (!num) { - printf("No TSECs initialized\n"); - - return 0; - } - - mdio_info.regs = (struct tsec_mii_mng *)CONFIG_SYS_MDIO_BASE_ADDR; - mdio_info.name = DEFAULT_MII_NAME; - fsl_pq_mdio_init(bis, &mdio_info); - - tsec_eth_init(bis, tsec_info, num); - configure_rgmii(); -#endif - - return pci_eth_init(bis); -} -#endif diff --git a/board/freescale/p1010rdb/p1010rdb.c b/board/freescale/p1010rdb/p1010rdb.c index 0f014823c935..d32274b24812 100644 --- a/board/freescale/p1010rdb/p1010rdb.c +++ b/board/freescale/p1010rdb/p1010rdb.c @@ -478,49 +478,6 @@ int checkboard(void) return 0; } -#ifndef CONFIG_DM_ETH -int board_eth_init(struct bd_info *bis) -{ -#ifdef CONFIG_TSEC_ENET - struct fsl_pq_mdio_info mdio_info; - struct tsec_info_struct tsec_info[4]; - struct cpu_type *cpu; - int num = 0; - - cpu = gd->arch.cpu; - -#ifdef CONFIG_TSEC1 - SET_STD_TSEC_INFO(tsec_info[num], 1); - num++; -#endif -#ifdef CONFIG_TSEC2 - SET_STD_TSEC_INFO(tsec_info[num], 2); - num++; -#endif -#ifdef CONFIG_TSEC3 - /* P1014 and it's derivatives do not support eTSEC3 */ - if (cpu->soc_ver != SVR_P1014) { - SET_STD_TSEC_INFO(tsec_info[num], 3); - num++; - } -#endif - if (!num) { - printf("No TSECs initialized\n"); - return 0; - } - - mdio_info.regs = (struct tsec_mii_mng *)CONFIG_SYS_MDIO_BASE_ADDR; - mdio_info.name = DEFAULT_MII_NAME; - - fsl_pq_mdio_init(bis, &mdio_info); - - tsec_eth_init(bis, tsec_info, num); -#endif - - return pci_eth_init(bis); -} -#endif - #if defined(CONFIG_OF_BOARD_SETUP) void fdt_del_flexcan(void *blob) { diff --git a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c index ab7972442970..df9f6ae47322 100644 --- a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c +++ b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c @@ -364,56 +364,6 @@ int board_early_init_r(void) return 0; } -#ifndef CONFIG_DM_ETH -int board_eth_init(struct bd_info *bis) -{ - struct fsl_pq_mdio_info mdio_info; - struct tsec_info_struct tsec_info[4]; - ccsr_gur_t *gur __attribute__((unused)) = - (void *)(CFG_SYS_MPC85xx_GUTS_ADDR); - int num = 0; - -#ifdef CONFIG_TSEC1 - SET_STD_TSEC_INFO(tsec_info[num], 1); - num++; -#endif -#ifdef CONFIG_TSEC2 - SET_STD_TSEC_INFO(tsec_info[num], 2); - if (is_serdes_configured(SGMII_TSEC2)) { - printf("eTSEC2 is in sgmii mode.\n"); - tsec_info[num].flags |= TSEC_SGMII; - } - num++; -#endif -#ifdef CONFIG_TSEC3 - SET_STD_TSEC_INFO(tsec_info[num], 3); - num++; -#endif - - if (!num) { - printf("No TSECs initialized\n"); - return 0; - } - - mdio_info.regs = TSEC_GET_MDIO_REGS_BASE(1); - mdio_info.name = DEFAULT_MII_NAME; - - fsl_pq_mdio_init(bis, &mdio_info); - - tsec_eth_init(bis, tsec_info, num); - -#if defined(CONFIG_UEC_ETH) - /* QE0 and QE3 need to be exposed for UCC1 and UCC5 Eth mode */ - setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE0); - setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE3); - - uec_standard_init(bis); -#endif - - return pci_eth_init(bis); -} -#endif - #if defined(CONFIG_OF_BOARD_SETUP) || defined(CONFIG_OF_BOARD_FIXUP) static void fix_max6370_watchdog(void *blob) { diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c index 8b6f034ea165..f465409d8c8e 100644 --- a/drivers/net/tsec.c +++ b/drivers/net/tsec.c @@ -22,34 +22,6 @@ #include #include -#ifndef CONFIG_DM_ETH -/* Default initializations for TSEC controllers. */ - -static struct tsec_info_struct tsec_info[] = { -#ifdef CONFIG_TSEC1 - STD_TSEC_INFO(1), /* TSEC1 */ -#endif -#ifdef CONFIG_TSEC2 - STD_TSEC_INFO(2), /* TSEC2 */ -#endif -#ifdef CONFIG_MPC85XX_FEC - { - .regs = TSEC_GET_REGS(2, 0x2000), - .devname = CONFIG_MPC85XX_FEC_NAME, - .phyaddr = FEC_PHY_ADDR, - .flags = FEC_FLAGS, - .mii_devname = DEFAULT_MII_NAME - }, /* FEC */ -#endif -#ifdef CONFIG_TSEC3 - STD_TSEC_INFO(3), /* TSEC3 */ -#endif -#ifdef CONFIG_TSEC4 - STD_TSEC_INFO(4), /* TSEC4 */ -#endif -}; -#endif /* CONFIG_DM_ETH */ - #define TBIANA_SETTINGS ( \ TBIANA_ASYMMETRIC_PAUSE \ | TBIANA_SYMMETRIC_PAUSE \ @@ -124,23 +96,14 @@ static u32 ether_crc(size_t len, unsigned char const *p) * for PowerPC (tm) is usually the case) in the register holds * the entry. */ -#ifndef CONFIG_DM_ETH -static int tsec_mcast_addr(struct eth_device *dev, const u8 *mcast_mac, - int join) -#else static int tsec_mcast_addr(struct udevice *dev, const u8 *mcast_mac, int join) -#endif { struct tsec_private *priv; struct tsec __iomem *regs; u32 result, value; u8 whichbit, whichreg; -#ifndef CONFIG_DM_ETH - priv = (struct tsec_private *)dev->priv; -#else priv = dev_get_priv(dev); -#endif regs = priv->regs; result = ether_crc(MAC_ADDR_LEN, mcast_mac); whichbit = (result >> 24) & 0x1f; /* the 5 LSB = which bit to set */ @@ -271,11 +234,7 @@ static void adjust_link(struct tsec_private *priv, struct phy_device *phydev) * do the same. Presumably, this would be zero if there were no * errors */ -#ifndef CONFIG_DM_ETH -static int tsec_send(struct eth_device *dev, void *packet, int length) -#else static int tsec_send(struct udevice *dev, void *packet, int length) -#endif { struct tsec_private *priv; struct tsec __iomem *regs; @@ -283,11 +242,7 @@ static int tsec_send(struct udevice *dev, void *packet, int length) u16 status; int i; -#ifndef CONFIG_DM_ETH - priv = (struct tsec_private *)dev->priv; -#else priv = dev_get_priv(dev); -#endif regs = priv->regs; /* Find an empty buffer descriptor */ for (i = 0; @@ -324,42 +279,6 @@ static int tsec_send(struct udevice *dev, void *packet, int length) return result; } -#ifndef CONFIG_DM_ETH -static int tsec_recv(struct eth_device *dev) -{ - struct tsec_private *priv = (struct tsec_private *)dev->priv; - struct tsec __iomem *regs = priv->regs; - - while (!(in_be16(&priv->rxbd[priv->rx_idx].status) & RXBD_EMPTY)) { - int length = in_be16(&priv->rxbd[priv->rx_idx].length); - u16 status = in_be16(&priv->rxbd[priv->rx_idx].status); - uchar *packet = net_rx_packets[priv->rx_idx]; - - /* Send the packet up if there were no errors */ - if (!(status & RXBD_STATS)) - net_process_received_packet(packet, length - 4); - else - printf("Got error %x\n", (status & RXBD_STATS)); - - out_be16(&priv->rxbd[priv->rx_idx].length, 0); - - status = RXBD_EMPTY; - /* Set the wrap bit if this is the last element in the list */ - if ((priv->rx_idx + 1) == PKTBUFSRX) - status |= RXBD_WRAP; - out_be16(&priv->rxbd[priv->rx_idx].status, status); - - priv->rx_idx = (priv->rx_idx + 1) % PKTBUFSRX; - } - - if (in_be32(®s->ievent) & IEVENT_BSY) { - out_be32(®s->ievent, IEVENT_BSY); - out_be32(®s->rstat, RSTAT_CLEAR_RHALT); - } - - return -1; -} -#else static int tsec_recv(struct udevice *dev, int flags, uchar **packetp) { struct tsec_private *priv = (struct tsec_private *)dev_get_priv(dev); @@ -406,22 +325,12 @@ static int tsec_free_pkt(struct udevice *dev, uchar *packet, int length) return 0; } -#endif -/* Stop the interface */ -#ifndef CONFIG_DM_ETH -static void tsec_halt(struct eth_device *dev) -#else static void tsec_halt(struct udevice *dev) -#endif { struct tsec_private *priv; struct tsec __iomem *regs; -#ifndef CONFIG_DM_ETH - priv = (struct tsec_private *)dev->priv; -#else priv = dev_get_priv(dev); -#endif regs = priv->regs; clrbits_be32(®s->dmactrl, DMACTRL_GRS | DMACTRL_GTS); @@ -583,27 +492,15 @@ static void startup_tsec(struct tsec_private *priv) * that it returns success if the link is up, failure otherwise. * This allows U-Boot to find the first active controller. */ -#ifndef CONFIG_DM_ETH -static int tsec_init(struct eth_device *dev, struct bd_info *bd) -#else static int tsec_init(struct udevice *dev) -#endif { struct tsec_private *priv; struct tsec __iomem *regs; -#ifdef CONFIG_DM_ETH struct eth_pdata *pdata = dev_get_plat(dev); -#else - struct eth_device *pdata = dev; -#endif u32 tempval; int ret; -#ifndef CONFIG_DM_ETH - priv = (struct tsec_private *)dev->priv; -#else priv = dev_get_priv(dev); -#endif regs = priv->regs; /* Make sure the controller is stopped */ tsec_halt(dev); @@ -715,7 +612,7 @@ static int init_phy(struct tsec_private *priv) if (priv->interface == PHY_INTERFACE_MODE_SGMII) tsec_configure_serdes(priv); -#if defined(CONFIG_DM_ETH) && defined(CONFIG_DM_MDIO) +#if defined(CONFIG_DM_MDIO) phydev = dm_eth_phy_connect(priv->dev); #else phydev = phy_connect(priv->bus, priv->phyaddr, priv->dev, @@ -734,99 +631,6 @@ static int init_phy(struct tsec_private *priv) return 1; } -#ifndef CONFIG_DM_ETH -/* - * Initialize device structure. Returns success if PHY - * initialization succeeded (i.e. if it recognizes the PHY) - */ -static int tsec_initialize(struct bd_info *bis, - struct tsec_info_struct *tsec_info) -{ - struct tsec_private *priv; - struct eth_device *dev; - int i; - - dev = (struct eth_device *)malloc(sizeof(*dev)); - - if (!dev) - return 0; - - memset(dev, 0, sizeof(*dev)); - - priv = (struct tsec_private *)malloc(sizeof(*priv)); - - if (!priv) { - free(dev); - return 0; - } - - priv->regs = tsec_info->regs; - priv->phyregs_sgmii = tsec_info->miiregs_sgmii; - - priv->phyaddr = tsec_info->phyaddr; - priv->tbiaddr = CFG_SYS_TBIPA_VALUE; - priv->flags = tsec_info->flags; - - strcpy(dev->name, tsec_info->devname); - priv->interface = tsec_info->interface; - priv->bus = miiphy_get_dev_by_name(tsec_info->mii_devname); - priv->dev = dev; - dev->iobase = 0; - dev->priv = priv; - dev->init = tsec_init; - dev->halt = tsec_halt; - dev->send = tsec_send; - dev->recv = tsec_recv; - dev->mcast = tsec_mcast_addr; - - /* Tell U-Boot to get the addr from the env */ - for (i = 0; i < 6; i++) - dev->enetaddr[i] = 0; - - eth_register(dev); - - /* Reset the MAC */ - setbits_be32(&priv->regs->maccfg1, MACCFG1_SOFT_RESET); - udelay(2); /* Soft Reset must be asserted for 3 TX clocks */ - clrbits_be32(&priv->regs->maccfg1, MACCFG1_SOFT_RESET); - - /* Try to initialize PHY here, and return */ - return init_phy(priv); -} - -/* - * Initialize all the TSEC devices - * - * Returns the number of TSEC devices that were initialized - */ -int tsec_eth_init(struct bd_info *bis, struct tsec_info_struct *tsecs, - int num) -{ - int i; - int count = 0; - - for (i = 0; i < num; i++) { - int ret = tsec_initialize(bis, &tsecs[i]); - - if (ret > 0) - count += ret; - } - - return count; -} - -int tsec_standard_init(struct bd_info *bis) -{ - struct fsl_pq_mdio_info info; - - info.regs = TSEC_GET_MDIO_REGS_BASE(1); - info.name = DEFAULT_MII_NAME; - - fsl_pq_mdio_init(bis, &info); - - return tsec_eth_init(bis, tsec_info, ARRAY_SIZE(tsec_info)); -} -#else /* CONFIG_DM_ETH */ int tsec_probe(struct udevice *dev) { struct eth_pdata *pdata = dev_get_plat(dev); @@ -966,4 +770,3 @@ U_BOOT_DRIVER(eth_tsec) = { .plat_auto = sizeof(struct eth_pdata), .flags = DM_FLAG_ALLOC_PRIV_DMA, }; -#endif /* CONFIG_DM_ETH */ diff --git a/include/configs/MPC837XERDB.h b/include/configs/MPC837XERDB.h index 95a90199a429..f312ffb37e23 100644 --- a/include/configs/MPC837XERDB.h +++ b/include/configs/MPC837XERDB.h @@ -41,8 +41,6 @@ #ifdef CONFIG_VSC7385_ENET -#define CONFIG_TSEC2 - /* The flash address and size of the VSC7385 firmware image */ #define CONFIG_VSC7385_IMAGE 0xFE7FE000 #define CONFIG_VSC7385_IMAGE_SIZE 8192 @@ -178,31 +176,6 @@ #define CFG_SYS_PCIE2_MEM_PHYS 0xC8000000 #define CFG_SYS_PCIE2_IO_PHYS 0xD8000000 -/* - * TSEC - */ -#ifdef CONFIG_TSEC_ENET - -#define CONFIG_GMII /* MII PHY management */ - -#define CONFIG_TSEC1 - -#ifdef CONFIG_TSEC1 -#define CONFIG_TSEC1_NAME "TSEC0" -#define CFG_SYS_TSEC1_OFFSET 0x24000 -#define TSEC1_PHY_ADDR 2 -#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC1_PHYIDX 0 -#endif - -#ifdef CONFIG_TSEC2 -#define CONFIG_TSEC2_NAME "TSEC1" -#define TSEC2_PHY_ADDR 0x1c -#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC2_PHYIDX 0 -#endif -#endif - #ifdef CONFIG_MMC #define CONFIG_FSL_ESDHC_PIN_MUX #define CFG_SYS_FSL_ESDHC_ADDR CFG_SYS_MPC83xx_ESDHC_ADDR diff --git a/include/configs/MPC8548CDS.h b/include/configs/MPC8548CDS.h index 780ee5ae865a..34b876f829e2 100644 --- a/include/configs/MPC8548CDS.h +++ b/include/configs/MPC8548CDS.h @@ -283,33 +283,6 @@ #endif #define CFG_SYS_SRIO1_MEM_SIZE 0x20000000 /* 512M */ -#if defined(CONFIG_TSEC_ENET) - -#define CONFIG_TSEC1 1 -#define CONFIG_TSEC1_NAME "eTSEC0" -#define CONFIG_TSEC2 1 -#define CONFIG_TSEC2_NAME "eTSEC1" -#define CONFIG_TSEC3 1 -#define CONFIG_TSEC3_NAME "eTSEC2" -#define CONFIG_TSEC4 -#define CONFIG_TSEC4_NAME "eTSEC3" -#undef CONFIG_MPC85XX_FEC - -#define TSEC1_PHY_ADDR 0 -#define TSEC2_PHY_ADDR 1 -#define TSEC3_PHY_ADDR 2 -#define TSEC4_PHY_ADDR 3 - -#define TSEC1_PHYIDX 0 -#define TSEC2_PHYIDX 0 -#define TSEC3_PHYIDX 0 -#define TSEC4_PHYIDX 0 -#define TSEC1_FLAGS TSEC_GIGABIT -#define TSEC2_FLAGS TSEC_GIGABIT -#define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC4_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#endif /* CONFIG_TSEC_ENET */ - /* * Miscellaneous configurable options */ diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h index b1d6b15811dd..4418d5169569 100644 --- a/include/configs/P1010RDB.h +++ b/include/configs/P1010RDB.h @@ -349,37 +349,6 @@ extern unsigned long get_sdram_size(void); /* eSPI - Enhanced SPI */ #endif -#if defined(CONFIG_TSEC_ENET) -#define CONFIG_MII_DEFAULT_TSEC 1 /* Allow unregistered phys */ -#define CONFIG_TSEC1 1 -#define CONFIG_TSEC1_NAME "eTSEC1" -#define CONFIG_TSEC2 1 -#define CONFIG_TSEC2_NAME "eTSEC2" -#define CONFIG_TSEC3 1 -#define CONFIG_TSEC3_NAME "eTSEC3" - -#define TSEC1_PHY_ADDR 1 -#define TSEC2_PHY_ADDR 0 -#define TSEC3_PHY_ADDR 2 - -#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) - -#define TSEC1_PHYIDX 0 -#define TSEC2_PHYIDX 0 -#define TSEC3_PHYIDX 0 - -/* TBI PHY configuration for SGMII mode */ -#define CONFIG_TSEC_TBICR_SETTINGS ( \ - TBICR_PHY_RESET \ - | TBICR_ANEG_ENABLE \ - | TBICR_FULL_DUPLEX \ - | TBICR_SPEED1_SET \ - ) - -#endif /* CONFIG_TSEC_ENET */ - #ifdef CONFIG_MMC #define CFG_SYS_FSL_ESDHC_ADDR CFG_SYS_MPC85xx_ESDHC_ADDR #endif diff --git a/include/configs/ls1021aiot.h b/include/configs/ls1021aiot.h index 024a71852753..179c5128e3b1 100644 --- a/include/configs/ls1021aiot.h +++ b/include/configs/ls1021aiot.h @@ -66,27 +66,6 @@ /* SPI */ -/* - * eTSEC - */ - -#ifdef CONFIG_TSEC_ENET -#define CONFIG_MII_DEFAULT_TSEC 1 -#define CONFIG_TSEC1 1 -#define CONFIG_TSEC1_NAME "eTSEC1" -#define CONFIG_TSEC2 1 -#define CONFIG_TSEC2_NAME "eTSEC2" - -#define TSEC1_PHY_ADDR 1 -#define TSEC2_PHY_ADDR 3 - -#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) - -#define TSEC1_PHYIDX 0 -#define TSEC2_PHYIDX 0 -#endif - #define FSL_PCIE_COMPAT "fsl,ls1021a-pcie" #define CONFIG_PEN_ADDR_BIG_ENDIAN diff --git a/include/configs/ls1021aqds.h b/include/configs/ls1021aqds.h index 5a91cc3efec0..d6681e859870 100644 --- a/include/configs/ls1021aqds.h +++ b/include/configs/ls1021aqds.h @@ -247,32 +247,6 @@ * MMC */ -/* - * eTSEC - */ - -#ifdef CONFIG_TSEC_ENET -#define CONFIG_MII_DEFAULT_TSEC 3 -#define CONFIG_TSEC1 1 -#define CONFIG_TSEC1_NAME "eTSEC1" -#define CONFIG_TSEC2 1 -#define CONFIG_TSEC2_NAME "eTSEC2" -#define CONFIG_TSEC3 1 -#define CONFIG_TSEC3_NAME "eTSEC3" - -#define TSEC1_PHY_ADDR 1 -#define TSEC2_PHY_ADDR 2 -#define TSEC3_PHY_ADDR 3 - -#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) - -#define TSEC1_PHYIDX 0 -#define TSEC2_PHYIDX 0 -#define TSEC3_PHYIDX 0 -#endif - #define CONFIG_PEN_ADDR_BIG_ENDIAN #define CONFIG_SMP_PEN_ADDR 0x01ee0200 diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h index 9738e9fa9cb7..49c5aef3059e 100644 --- a/include/configs/p1_p2_rdb_pc.h +++ b/include/configs/p1_p2_rdb_pc.h @@ -366,27 +366,6 @@ #endif #endif /* CONFIG_PCI */ -#if defined(CONFIG_TSEC_ENET) -#define CONFIG_TSEC1 -#define CONFIG_TSEC1_NAME "eTSEC1" -#define CONFIG_TSEC2 -#define CONFIG_TSEC2_NAME "eTSEC2" -#define CONFIG_TSEC3 -#define CONFIG_TSEC3_NAME "eTSEC3" - -#define TSEC1_PHY_ADDR 2 -#define TSEC2_PHY_ADDR 0 -#define TSEC3_PHY_ADDR 1 - -#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) -#define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) - -#define TSEC1_PHYIDX 0 -#define TSEC2_PHYIDX 0 -#define TSEC3_PHYIDX 0 -#endif /* CONFIG_TSEC_ENET */ - /* * Environment */ diff --git a/include/configs/socrates.h b/include/configs/socrates.h index 95393d3ab25e..2a076716023f 100644 --- a/include/configs/socrates.h +++ b/include/configs/socrates.h @@ -111,22 +111,6 @@ #define CFG_SYS_PCI1_MEM_PHYS 0x80000000 #define CFG_SYS_PCI1_IO_PHYS 0xE2000000 -#define CONFIG_TSEC1 1 -#define CONFIG_TSEC1_NAME "TSEC0" -#define CONFIG_TSEC3 1 -#define CONFIG_TSEC3_NAME "TSEC1" -#undef CONFIG_MPC85XX_FEC - -#define TSEC1_PHY_ADDR 0 -#define TSEC3_PHY_ADDR 1 - -#define TSEC1_PHYIDX 0 -#define TSEC3_PHYIDX 0 -#define TSEC1_FLAGS TSEC_GIGABIT -#define TSEC3_FLAGS TSEC_GIGABIT - -/* Options are: TSEC[0,1] */ - /* * Miscellaneous configurable options */ diff --git a/include/tsec.h b/include/tsec.h index de279b211718..153337837a92 100644 --- a/include/tsec.h +++ b/include/tsec.h @@ -19,56 +19,6 @@ #define TSEC_MDIO_REGS_OFFSET 0x520 -#ifndef CONFIG_DM_ETH - -#ifdef CONFIG_ARCH_LS1021A -#define TSEC_SIZE 0x40000 -#define TSEC_MDIO_OFFSET 0x40000 -#else -#define TSEC_SIZE 0x01000 -#define TSEC_MDIO_OFFSET 0x01000 -#endif - -#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + TSEC_MDIO_REGS_OFFSET) - -#define TSEC_GET_REGS(num, offset) \ - (struct tsec __iomem *)\ - (TSEC_BASE_ADDR + (((num) - 1) * (offset))) - -#define TSEC_GET_REGS_BASE(num) \ - TSEC_GET_REGS((num), TSEC_SIZE) - -#define TSEC_GET_MDIO_REGS(num, offset) \ - (struct tsec_mii_mng __iomem *)\ - (CONFIG_SYS_MDIO_BASE_ADDR + ((num) - 1) * (offset)) - -#define TSEC_GET_MDIO_REGS_BASE(num) \ - TSEC_GET_MDIO_REGS((num), TSEC_MDIO_OFFSET) - -#define DEFAULT_MII_NAME "FSL_MDIO" - -#define STD_TSEC_INFO(num) \ -{ \ - .regs = TSEC_GET_REGS_BASE(num), \ - .miiregs_sgmii = TSEC_GET_MDIO_REGS_BASE(num), \ - .devname = CONFIG_TSEC##num##_NAME, \ - .phyaddr = TSEC##num##_PHY_ADDR, \ - .flags = TSEC##num##_FLAGS, \ - .mii_devname = DEFAULT_MII_NAME \ -} - -#define SET_STD_TSEC_INFO(x, num) \ -{ \ - x.regs = TSEC_GET_REGS_BASE(num); \ - x.miiregs_sgmii = TSEC_GET_MDIO_REGS_BASE(num); \ - x.devname = CONFIG_TSEC##num##_NAME; \ - x.phyaddr = TSEC##num##_PHY_ADDR; \ - x.flags = TSEC##num##_FLAGS;\ - x.mii_devname = DEFAULT_MII_NAME;\ -} - -#endif /* CONFIG_DM_ETH */ - #define MAC_ADDR_LEN 6 /* #define TSEC_TIMEOUT 1000000 */ @@ -414,11 +364,7 @@ struct tsec_private { u32 flags; uint rx_idx; /* index of the current RX buffer */ uint tx_idx; /* index of the current TX buffer */ -#ifndef CONFIG_DM_ETH - struct eth_device *dev; -#else struct udevice *dev; -#endif }; struct tsec_info_struct { @@ -431,10 +377,4 @@ struct tsec_info_struct { u32 flags; }; -#ifndef CONFIG_DM_ETH -int tsec_standard_init(struct bd_info *bis); -int tsec_eth_init(struct bd_info *bis, struct tsec_info_struct *tsec_info, - int num); -#endif - #endif /* __TSEC_H */ From patchwork Sun Nov 27 15:25:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709389 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=RvnFWYLi; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKstC6hySz23mg for ; Mon, 28 Nov 2022 02:27:47 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B5657850EB; Sun, 27 Nov 2022 16:26:14 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="RvnFWYLi"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4EE9084FD2; Sun, 27 Nov 2022 16:25:56 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B74FF84D94 for ; Sun, 27 Nov 2022 16:25:50 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x534.google.com with SMTP id s12so12383488edd.5 for ; Sun, 27 Nov 2022 07:25:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=R1C9p2eOOX22C7Hny3ISf5wqW0H61eTTQxJWRBGwAps=; b=RvnFWYLi9/B3UqRmAzDkkdHbR/Z5O3NOwBz2eZ9TeS1TNdGp/Eqz6AMdkw7uULAkDJ Mr7ugcdj7FSo6y8ehvGy3a61FDmlYvNFcoEEeZtawhm/+kwmAsBwIg41KW/H0eHRV+0j PEvB6fHXLalr4VT5YwR1CnQqGuWazkJKMAzjA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=R1C9p2eOOX22C7Hny3ISf5wqW0H61eTTQxJWRBGwAps=; b=yTIJqoC9ZIs5ahdcVisSD0/W8Bg3OlUEiyQ4uARzNYDUzA/SmB8z/VRHLitsTXKvZz 7XKZc/8lzoRk6j5f5oTA1sbNNPolYfheb/+aEbHQr4tAor2cD364fZySZVyJ39KqvuaI uEGDda5Kyt3vgueM3S8e4KLmo9wuQtAP7/EtjS+YCC/jP/1nYiqKAtYYVhTVNZsjyAOP JlhWe+o7pj0unc7d9GzZzrQmDPjePXi9AdXsvExGhcXyZ8a1667O5Vj5LY6K2E4ctiZG QotuFYda+VO9fInyKqCic72D/F30NAeItlm0sb5dEvamQFnWkDwTKOghAMWuSw3dchnJ 2xWA== X-Gm-Message-State: ANoB5pln/Powmasa3L5XBZGcRFTse1KlqHfY/Mtkfa+FG7Jvw1Iu1QY5 MZAta9uuHftwSVSJ87RqBckER7NhBdLXdA== X-Google-Smtp-Source: AA0mqf4IAkzxIESuJ5VMJnGGQeWKdJqPi4DjFIw9rTnleV4lbB00KGrH6RgoyH8UJyhFtk9NNEWNNg== X-Received: by 2002:a05:6402:54:b0:46a:c420:6da7 with SMTP id f20-20020a056402005400b0046ac4206da7mr10902376edu.202.1669562749648; Sun, 27 Nov 2022 07:25:49 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:49 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 10/41] net: fm: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:05 -0500 Message-Id: <20221127152536.1556469-10-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/fm/Makefile | 1 - drivers/net/fm/eth.c | 238 ----------------------- drivers/net/fm/fm.c | 4 - drivers/net/fm/fm.h | 8 - drivers/net/fm/init.c | 386 ------------------------------------- drivers/net/fm/memac_phy.c | 52 ----- 6 files changed, 689 deletions(-) delete mode 100644 drivers/net/fm/init.c diff --git a/drivers/net/fm/Makefile b/drivers/net/fm/Makefile index 5a7d3037af40..b34209d2b3ee 100644 --- a/drivers/net/fm/Makefile +++ b/drivers/net/fm/Makefile @@ -6,7 +6,6 @@ obj-y += dtsec.o obj-y += eth.o obj-y += fdt.o obj-y += fm.o -obj-y += init.o obj-y += tgec.o obj-y += tgec_phy.o diff --git a/drivers/net/fm/eth.c b/drivers/net/fm/eth.c index c8381cc7133c..9fd26de0d721 100644 --- a/drivers/net/fm/eth.c +++ b/drivers/net/fm/eth.c @@ -8,12 +8,10 @@ #include #include #include -#ifdef CONFIG_DM_ETH #include #include #include #include -#endif #include #include #include @@ -28,11 +26,6 @@ #include "fm.h" -#ifndef CONFIG_DM_ETH -static struct eth_device *devlist[NUM_FM_PORTS]; -static int num_controllers; -#endif - #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) && !defined(BITBANGMII) #define TBIANA_SETTINGS (TBIANA_ASYMMETRIC_PAUSE | TBIANA_SYMMETRIC_PAUSE | \ @@ -53,14 +46,10 @@ static void dtsec_configure_serdes(struct fm_eth *priv) PHY_INTERFACE_MODE_2500BASEX) ? true : false; int i = 0, j; -#ifndef CONFIG_DM_ETH - bus.priv = priv->mac->phyregs; -#else bus.priv = priv->pcs_mdio; bus.read = memac_mdio_read; bus.write = memac_mdio_write; bus.reset = memac_mdio_reset; -#endif qsgmii_loop: /* SGMII IF mode + AN enable only for 1G SGMII, not for 2.5G */ @@ -136,19 +125,6 @@ static void dtsec_init_phy(struct fm_eth *fm_eth) fm_eth->enet_if == PHY_INTERFACE_MODE_2500BASEX) dtsec_configure_serdes(fm_eth); } - -#ifndef CONFIG_DM_ETH -#ifdef CONFIG_PHYLIB -static int tgec_is_fibre(struct fm_eth *fm) -{ - char phyopt[20]; - - sprintf(phyopt, "fsl_fm%d_xaui_phy", fm->fm_index + 1); - - return hwconfig_arg_cmp(phyopt, "xfi"); -} -#endif -#endif /* CONFIG_DM_ETH */ #endif static u16 muram_readw(u16 *addr) @@ -465,18 +441,10 @@ static void fmc_tx_port_graceful_stop_disable(struct fm_eth *fm_eth) sync(); } -#ifndef CONFIG_DM_ETH -static int fm_eth_open(struct eth_device *dev, struct bd_info *bd) -#else static int fm_eth_open(struct udevice *dev) -#endif { -#ifndef CONFIG_DM_ETH - struct fm_eth *fm_eth = dev->priv; -#else struct eth_pdata *pdata = dev_get_plat(dev); struct fm_eth *fm_eth = dev_get_priv(dev); -#endif unsigned char *enetaddr; struct fsl_enet_mac *mac; #ifdef CONFIG_PHYLIB @@ -485,11 +453,7 @@ static int fm_eth_open(struct udevice *dev) mac = fm_eth->mac; -#ifndef CONFIG_DM_ETH - enetaddr = &dev->enetaddr[0]; -#else enetaddr = pdata->enetaddr; -#endif /* setup the MAC address */ if (enetaddr[0] & 0x01) { @@ -512,12 +476,7 @@ static int fm_eth_open(struct udevice *dev) if (fm_eth->phydev) { ret = phy_startup(fm_eth->phydev); if (ret) { -#ifndef CONFIG_DM_ETH - printf("%s: Could not initialize\n", - fm_eth->phydev->dev->name); -#else printf("%s: Could not initialize\n", dev->name); -#endif return ret; } } else { @@ -540,20 +499,12 @@ static int fm_eth_open(struct udevice *dev) return fm_eth->phydev->link ? 0 : -1; } -#ifndef CONFIG_DM_ETH -static void fm_eth_halt(struct eth_device *dev) -#else static void fm_eth_halt(struct udevice *dev) -#endif { struct fm_eth *fm_eth; struct fsl_enet_mac *mac; -#ifndef CONFIG_DM_ETH - fm_eth = (struct fm_eth *)dev->priv; -#else fm_eth = dev_get_priv(dev); -#endif mac = fm_eth->mac; /* graceful stop the transmission of frames */ @@ -571,11 +522,7 @@ static void fm_eth_halt(struct udevice *dev) #endif } -#ifndef CONFIG_DM_ETH -static int fm_eth_send(struct eth_device *dev, void *buf, int len) -#else static int fm_eth_send(struct udevice *dev, void *buf, int len) -#endif { struct fm_eth *fm_eth; struct fm_port_global_pram *pram; @@ -583,11 +530,7 @@ static int fm_eth_send(struct udevice *dev, void *buf, int len) u16 offset_in; int i; -#ifndef CONFIG_DM_ETH - fm_eth = (struct fm_eth *)dev->priv; -#else fm_eth = dev_get_priv(dev); -#endif pram = fm_eth->tx_pram; txbd = fm_eth->cur_txbd; @@ -668,11 +611,7 @@ static struct fm_port_bd *fm_eth_free_one(struct fm_eth *fm_eth, return rxbd; } -#ifndef CONFIG_DM_ETH -static int fm_eth_recv(struct eth_device *dev) -#else static int fm_eth_recv(struct udevice *dev, int flags, uchar **packetp) -#endif { struct fm_eth *fm_eth; struct fm_port_bd *rxbd; @@ -681,11 +620,7 @@ static int fm_eth_recv(struct udevice *dev, int flags, uchar **packetp) int ret = -1; u8 *data; -#ifndef CONFIG_DM_ETH - fm_eth = (struct fm_eth *)dev->priv; -#else fm_eth = dev_get_priv(dev); -#endif rxbd = fm_eth->cur_rxbd; status = muram_readw(&rxbd->status); @@ -695,12 +630,8 @@ static int fm_eth_recv(struct udevice *dev, int flags, uchar **packetp) buf_lo = in_be32(&rxbd->buf_ptr_lo); data = (u8 *)((ulong)(buf_hi << 16) << 16 | buf_lo); len = muram_readw(&rxbd->len); -#ifndef CONFIG_DM_ETH - net_process_received_packet(data, len); -#else *packetp = data; return len; -#endif } else { printf("%s: Rx error\n", dev->name); ret = 0; @@ -717,7 +648,6 @@ static int fm_eth_recv(struct udevice *dev, int flags, uchar **packetp) return ret; } -#ifdef CONFIG_DM_ETH static int fm_eth_free_pkt(struct udevice *dev, uchar *packet, int length) { struct fm_eth *fm_eth = (struct fm_eth *)dev_get_priv(dev); @@ -726,65 +656,7 @@ static int fm_eth_free_pkt(struct udevice *dev, uchar *packet, int length) return 0; } -#endif /* CONFIG_DM_ETH */ - -#ifndef CONFIG_DM_ETH -static int fm_eth_init_mac(struct fm_eth *fm_eth, struct ccsr_fman *reg) -{ - struct fsl_enet_mac *mac; - int num; - void *base, *phyregs = NULL; - - num = fm_eth->num; - -#ifdef CONFIG_SYS_FMAN_V3 -#ifndef CONFIG_FSL_FM_10GEC_REGULAR_NOTATION - if (fm_eth->type == FM_ETH_10G_E) { - /* 10GEC1/10GEC2 use mEMAC9/mEMAC10 on T2080/T4240. - * 10GEC3/10GEC4 use mEMAC1/mEMAC2 on T2080. - * 10GEC1 uses mEMAC1 on T1024. - * so it needs to change the num. - */ - if (fm_eth->num >= 2) - num -= 2; - else - num += 8; - } -#endif - base = ®->memac[num].fm_memac; - phyregs = ®->memac[num].fm_memac_mdio; -#else - /* Get the mac registers base address */ - if (fm_eth->type == FM_ETH_1G_E) { - base = ®->mac_1g[num].fm_dtesc; - phyregs = ®->mac_1g[num].fm_mdio.miimcfg; - } else { - base = ®->mac_10g[num].fm_10gec; - phyregs = ®->mac_10g[num].fm_10gec_mdio; - } -#endif - - /* alloc mac controller */ - mac = malloc(sizeof(struct fsl_enet_mac)); - if (!mac) - return -ENOMEM; - memset(mac, 0, sizeof(struct fsl_enet_mac)); - - /* save the mac to fm_eth struct */ - fm_eth->mac = mac; - -#ifdef CONFIG_SYS_FMAN_V3 - init_memac(mac, base, phyregs, MAX_RXBUF_LEN); -#else - if (fm_eth->type == FM_ETH_1G_E) - init_dtsec(mac, base, phyregs, MAX_RXBUF_LEN); - else - init_tgec(mac, base, phyregs, MAX_RXBUF_LEN); -#endif - return 0; -} -#else /* CONFIG_DM_ETH */ static int fm_eth_init_mac(struct fm_eth *fm_eth, void *reg) { #ifndef CONFIG_SYS_FMAN_V3 @@ -817,15 +689,11 @@ static int fm_eth_init_mac(struct fm_eth *fm_eth, void *reg) return 0; } -#endif /* CONFIG_DM_ETH */ static int init_phy(struct fm_eth *fm_eth) { #ifdef CONFIG_PHYLIB u32 supported = PHY_GBIT_FEATURES; -#ifndef CONFIG_DM_ETH - struct phy_device *phydev = NULL; -#endif if (fm_eth->type == FM_ETH_10G_E) supported = PHY_10G_FEATURES; @@ -836,7 +704,6 @@ static int init_phy(struct fm_eth *fm_eth) if (fm_eth->type == FM_ETH_1G_E) dtsec_init_phy(fm_eth); -#ifdef CONFIG_DM_ETH #ifdef CONFIG_PHYLIB #ifdef CONFIG_DM_MDIO fm_eth->phydev = dm_eth_phy_connect(fm_eth->dev); @@ -848,112 +715,8 @@ static int init_phy(struct fm_eth *fm_eth) phy_config(fm_eth->phydev); #endif -#else /* CONFIG_DM_ETH */ -#ifdef CONFIG_PHYLIB - if (fm_eth->bus) { - phydev = phy_connect(fm_eth->bus, fm_eth->phyaddr, fm_eth->dev, - fm_eth->enet_if); - if (!phydev) { - printf("Failed to connect\n"); - return -1; - } - } else { - return 0; - } - - if (fm_eth->type == FM_ETH_1G_E) { - supported = (SUPPORTED_10baseT_Half | - SUPPORTED_10baseT_Full | - SUPPORTED_100baseT_Half | - SUPPORTED_100baseT_Full | - SUPPORTED_1000baseT_Full); - } else { - supported = SUPPORTED_10000baseT_Full; - - if (tgec_is_fibre(fm_eth)) - phydev->port = PORT_FIBRE; - } - - phydev->supported &= supported; - phydev->advertising = phydev->supported; - - fm_eth->phydev = phydev; - - phy_config(phydev); -#endif -#endif /* CONFIG_DM_ETH */ - return 0; -} - -#ifndef CONFIG_DM_ETH -int fm_eth_initialize(struct ccsr_fman *reg, struct fm_eth_info *info) -{ - struct eth_device *dev; - struct fm_eth *fm_eth; - int i, num = info->num; - int ret; - - /* alloc eth device */ - dev = (struct eth_device *)malloc(sizeof(struct eth_device)); - if (!dev) - return -ENOMEM; - memset(dev, 0, sizeof(struct eth_device)); - - /* alloc the FMan ethernet private struct */ - fm_eth = (struct fm_eth *)malloc(sizeof(struct fm_eth)); - if (!fm_eth) - return -ENOMEM; - memset(fm_eth, 0, sizeof(struct fm_eth)); - - /* save off some things we need from the info struct */ - fm_eth->fm_index = info->index - 1; /* keep as 0 based for muram */ - fm_eth->num = num; - fm_eth->type = info->type; - - fm_eth->rx_port = (void *)®->port[info->rx_port_id - 1].fm_bmi; - fm_eth->tx_port = (void *)®->port[info->tx_port_id - 1].fm_bmi; - - /* set the ethernet max receive length */ - fm_eth->max_rx_len = MAX_RXBUF_LEN; - - /* init global mac structure */ - ret = fm_eth_init_mac(fm_eth, reg); - if (ret) - return ret; - - /* keep same as the manual, we call FMAN1, FMAN2, DTSEC1, DTSEC2, etc */ - if (fm_eth->type == FM_ETH_1G_E) - sprintf(dev->name, "FM%d@DTSEC%d", info->index, num + 1); - else - sprintf(dev->name, "FM%d@TGEC%d", info->index, num + 1); - - devlist[num_controllers++] = dev; - dev->iobase = 0; - dev->priv = (void *)fm_eth; - dev->init = fm_eth_open; - dev->halt = fm_eth_halt; - dev->send = fm_eth_send; - dev->recv = fm_eth_recv; - fm_eth->dev = dev; - fm_eth->bus = info->bus; - fm_eth->phyaddr = info->phy_addr; - fm_eth->enet_if = info->enet_if; - - /* startup the FM im */ - ret = fm_eth_startup(fm_eth); - if (ret) - return ret; - - init_phy(fm_eth); - - /* clear the ethernet address */ - for (i = 0; i < 6; i++) - dev->enetaddr[i] = 0; - eth_register(dev); - return 0; } -#else /* CONFIG_DM_ETH */ static int fm_eth_bind(struct udevice *dev) { @@ -1139,4 +902,3 @@ U_BOOT_DRIVER(eth_fman) = { .plat_auto = sizeof(struct eth_pdata), .flags = DM_FLAG_ALLOC_PRIV_DMA, }; -#endif /* CONFIG_DM_ETH */ diff --git a/drivers/net/fm/fm.c b/drivers/net/fm/fm.c index c476cb31200a..055dd61fbe5a 100644 --- a/drivers/net/fm/fm.c +++ b/drivers/net/fm/fm.c @@ -10,9 +10,7 @@ #include #include #include -#ifdef CONFIG_DM_ETH #include -#endif #include "fm.h" #include /* For struct qe_firmware */ @@ -551,7 +549,6 @@ int fm_init_common(int index, struct ccsr_fman *reg) } #endif -#ifdef CONFIG_DM_ETH struct fman_priv { struct ccsr_fman *reg; unsigned int fman_id; @@ -626,4 +623,3 @@ U_BOOT_DRIVER(fman) = { .priv_auto = sizeof(struct fman_priv), .flags = DM_FLAG_ALLOC_PRIV_DMA, }; -#endif /* CONFIG_DM_ETH */ diff --git a/drivers/net/fm/fm.h b/drivers/net/fm/fm.h index 3d9cc5ca069d..ba858cc24b06 100644 --- a/drivers/net/fm/fm.h +++ b/drivers/net/fm/fm.h @@ -57,7 +57,6 @@ struct fm_port_bd { #define TxBD_READY 0x8000 #define TxBD_LAST BD_LAST -#ifdef CONFIG_DM_ETH enum fm_mac_type { #ifdef CONFIG_SYS_FMAN_V3 FM_MEMAC, @@ -66,7 +65,6 @@ enum fm_mac_type { FM_TGEC, #endif }; -#endif /* Fman ethernet private struct */ /* Rx/Tx queue descriptor */ @@ -115,9 +113,7 @@ void fman_disable_port(enum fm_port port); void fman_enable_port(enum fm_port port); int fman_id(struct udevice *dev); void *fman_port(struct udevice *dev, int num); -#ifdef CONFIG_DM_ETH void *fman_mdio(struct udevice *dev, enum fm_mac_type type, int num); -#endif struct fsl_enet_mac { void *base; /* MAC controller registers base address */ @@ -143,13 +139,9 @@ struct fm_eth { struct mii_dev *bus; struct phy_device *phydev; int phyaddr; -#ifndef CONFIG_DM_ETH - struct eth_device *dev; -#else enum fm_mac_type mac_type; struct udevice *dev; struct udevice *pcs_mdio; -#endif int max_rx_len; struct fm_port_global_pram *rx_pram; /* Rx parameter table */ struct fm_port_global_pram *tx_pram; /* Tx parameter table */ diff --git a/drivers/net/fm/init.c b/drivers/net/fm/init.c deleted file mode 100644 index 618c1bccbe3f..000000000000 --- a/drivers/net/fm/init.c +++ /dev/null @@ -1,386 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright 2011-2015 Freescale Semiconductor, Inc. - */ -#include -#include -#include -#include -#include -#include -#ifdef CONFIG_FSL_LAYERSCAPE -#include -#include -#else -#include -#endif - -#include "fm.h" - -#ifndef CONFIG_DM_ETH -struct fm_eth_info fm_info[] = { -#if (CFG_SYS_NUM_FM1_DTSEC >= 1) - FM_DTSEC_INFO_INITIALIZER(1, 1), -#endif -#if (CFG_SYS_NUM_FM1_DTSEC >= 2) - FM_DTSEC_INFO_INITIALIZER(1, 2), -#endif -#if (CFG_SYS_NUM_FM1_DTSEC >= 3) - FM_DTSEC_INFO_INITIALIZER(1, 3), -#endif -#if (CFG_SYS_NUM_FM1_DTSEC >= 4) - FM_DTSEC_INFO_INITIALIZER(1, 4), -#endif -#if (CFG_SYS_NUM_FM1_DTSEC >= 5) - FM_DTSEC_INFO_INITIALIZER(1, 5), -#endif -#if (CFG_SYS_NUM_FM1_DTSEC >= 6) - FM_DTSEC_INFO_INITIALIZER(1, 6), -#endif -#if (CFG_SYS_NUM_FM1_DTSEC >= 7) - FM_DTSEC_INFO_INITIALIZER(1, 9), -#endif -#if (CFG_SYS_NUM_FM1_DTSEC >= 8) - FM_DTSEC_INFO_INITIALIZER(1, 10), -#endif -#if (CFG_SYS_NUM_FM2_DTSEC >= 1) - FM_DTSEC_INFO_INITIALIZER(2, 1), -#endif -#if (CFG_SYS_NUM_FM2_DTSEC >= 2) - FM_DTSEC_INFO_INITIALIZER(2, 2), -#endif -#if (CFG_SYS_NUM_FM2_DTSEC >= 3) - FM_DTSEC_INFO_INITIALIZER(2, 3), -#endif -#if (CFG_SYS_NUM_FM2_DTSEC >= 4) - FM_DTSEC_INFO_INITIALIZER(2, 4), -#endif -#if (CFG_SYS_NUM_FM2_DTSEC >= 5) - FM_DTSEC_INFO_INITIALIZER(2, 5), -#endif -#if (CFG_SYS_NUM_FM2_DTSEC >= 6) - FM_DTSEC_INFO_INITIALIZER(2, 6), -#endif -#if (CFG_SYS_NUM_FM2_DTSEC >= 7) - FM_DTSEC_INFO_INITIALIZER(2, 9), -#endif -#if (CFG_SYS_NUM_FM2_DTSEC >= 8) - FM_DTSEC_INFO_INITIALIZER(2, 10), -#endif -#if (CFG_SYS_NUM_FM1_10GEC >= 1) - FM_TGEC_INFO_INITIALIZER(1, 1), -#endif -#if (CFG_SYS_NUM_FM1_10GEC >= 2) - FM_TGEC_INFO_INITIALIZER(1, 2), -#endif -#if (CFG_SYS_NUM_FM1_10GEC >= 3) - FM_TGEC_INFO_INITIALIZER2(1, 3), -#endif -#if (CFG_SYS_NUM_FM1_10GEC >= 4) - FM_TGEC_INFO_INITIALIZER2(1, 4), -#endif -#if (CFG_SYS_NUM_FM2_10GEC >= 1) - FM_TGEC_INFO_INITIALIZER(2, 1), -#endif -#if (CFG_SYS_NUM_FM2_10GEC >= 2) - FM_TGEC_INFO_INITIALIZER(2, 2), -#endif -}; - -int fm_standard_init(struct bd_info *bis) -{ - int i; - struct ccsr_fman *reg; - - reg = (void *)CFG_SYS_FSL_FM1_ADDR; - if (fm_init_common(0, reg)) - return 0; - - for (i = 0; i < ARRAY_SIZE(fm_info); i++) { - if ((fm_info[i].enabled) && (fm_info[i].index == 1)) - fm_eth_initialize(reg, &fm_info[i]); - } - -#if (CFG_SYS_NUM_FMAN == 2) - reg = (void *)CFG_SYS_FSL_FM2_ADDR; - if (fm_init_common(1, reg)) - return 0; - - for (i = 0; i < ARRAY_SIZE(fm_info); i++) { - if ((fm_info[i].enabled) && (fm_info[i].index == 2)) - fm_eth_initialize(reg, &fm_info[i]); - } -#endif - - return 1; -} - -/* simple linear search to map from port to array index */ -static int fm_port_to_index(enum fm_port port) -{ - int i; - - for (i = 0; i < ARRAY_SIZE(fm_info); i++) { - if (fm_info[i].port == port) - return i; - } - - return -1; -} - -/* - * Determine if an interface is actually active based on HW config - * we expect fman_port_enet_if() to report PHY_INTERFACE_MODE_NA if - * the interface is not active based on HW cfg of the SoC - */ -void fman_enet_init(void) -{ - int i; - - for (i = 0; i < ARRAY_SIZE(fm_info); i++) { - phy_interface_t enet_if; - - enet_if = fman_port_enet_if(fm_info[i].port); - if (enet_if != PHY_INTERFACE_MODE_NA) { - fm_info[i].enabled = 1; - fm_info[i].enet_if = enet_if; - } else { - fm_info[i].enabled = 0; - } - } - - return; -} - -void fm_disable_port(enum fm_port port) -{ - int i = fm_port_to_index(port); - - if (i == -1) - return; - - fm_info[i].enabled = 0; -#ifndef CONFIG_SYS_FMAN_V3 - fman_disable_port(port); -#endif -} - -void fm_enable_port(enum fm_port port) -{ - int i = fm_port_to_index(port); - - if (i == -1) - return; - - fm_info[i].enabled = 1; - fman_enable_port(port); -} - -void fm_info_set_mdio(enum fm_port port, struct mii_dev *bus) -{ - int i = fm_port_to_index(port); - - if (i == -1) - return; - - fm_info[i].bus = bus; -} - -void fm_info_set_phy_address(enum fm_port port, int address) -{ - int i = fm_port_to_index(port); - - if (i == -1) - return; - - fm_info[i].phy_addr = address; -} - -/* - * Returns the PHY address for a given Fman port - * - * The port must be set via a prior call to fm_info_set_phy_address(). - * A negative error code is returned if the port is invalid. - */ -int fm_info_get_phy_address(enum fm_port port) -{ - int i = fm_port_to_index(port); - - if (i == -1) - return -1; - - return fm_info[i].phy_addr; -} - -/* - * Returns the type of the data interface between the given MAC and its PHY. - * This is typically determined by the RCW. - */ -phy_interface_t fm_info_get_enet_if(enum fm_port port) -{ - int i = fm_port_to_index(port); - - if (i == -1) - return PHY_INTERFACE_MODE_NA; - - if (fm_info[i].enabled) - return fm_info[i].enet_if; - - return PHY_INTERFACE_MODE_NA; -} - -static void -__def_board_ft_fman_fixup_port(void *blob, char * prop, phys_addr_t pa, - enum fm_port port, int offset) -{ - return; -} - -void board_ft_fman_fixup_port(void *blob, char * prop, phys_addr_t pa, - enum fm_port port, int offset) - __attribute__((weak, alias("__def_board_ft_fman_fixup_port"))); - -int ft_fixup_port(void *blob, struct fm_eth_info *info, char *prop) -{ - int off; - uint32_t ph; - phys_addr_t paddr = CFG_SYS_CCSRBAR_PHYS + info->compat_offset; -#ifndef CONFIG_SYS_FMAN_V3 - u64 dtsec1_addr = (u64)CFG_SYS_CCSRBAR_PHYS + - CFG_SYS_FSL_FM1_DTSEC1_OFFSET; -#endif - - off = fdt_node_offset_by_compat_reg(blob, prop, paddr); - if (off == -FDT_ERR_NOTFOUND) - return -EINVAL; - - if (info->enabled) { - fdt_fixup_phy_connection(blob, off, info->enet_if); - board_ft_fman_fixup_port(blob, prop, paddr, info->port, off); - return 0; - } - -#ifdef CONFIG_SYS_FMAN_V3 -#ifndef CONFIG_FSL_FM_10GEC_REGULAR_NOTATION - /* - * On T2/T4 SoCs, physically FM1_DTSEC9 and FM1_10GEC1 use the same - * dual-role MAC, when FM1_10GEC1 is enabled and FM1_DTSEC9 - * is disabled, ensure that the dual-role MAC is not disabled, - * ditto for other dual-role MACs. - */ - if (((info->port == FM1_DTSEC9) && (PORT_IS_ENABLED(FM1_10GEC1))) || - ((info->port == FM1_DTSEC10) && (PORT_IS_ENABLED(FM1_10GEC2))) || - ((info->port == FM1_DTSEC1) && (PORT_IS_ENABLED(FM1_10GEC3))) || - ((info->port == FM1_DTSEC2) && (PORT_IS_ENABLED(FM1_10GEC4))) || - ((info->port == FM1_10GEC1) && (PORT_IS_ENABLED(FM1_DTSEC9))) || - ((info->port == FM1_10GEC2) && (PORT_IS_ENABLED(FM1_DTSEC10))) || - ((info->port == FM1_10GEC3) && (PORT_IS_ENABLED(FM1_DTSEC1))) || - ((info->port == FM1_10GEC4) && (PORT_IS_ENABLED(FM1_DTSEC2))) -#if (CFG_SYS_NUM_FMAN == 2) - || - ((info->port == FM2_DTSEC9) && (PORT_IS_ENABLED(FM2_10GEC1))) || - ((info->port == FM2_DTSEC10) && (PORT_IS_ENABLED(FM2_10GEC2))) || - ((info->port == FM2_10GEC1) && (PORT_IS_ENABLED(FM2_DTSEC9))) || - ((info->port == FM2_10GEC2) && (PORT_IS_ENABLED(FM2_DTSEC10))) -#endif -#else - /* FM1_DTSECx and FM1_10GECx use the same dual-role MAC */ - if (((info->port == FM1_DTSEC1) && (PORT_IS_ENABLED(FM1_10GEC1))) || - ((info->port == FM1_DTSEC2) && (PORT_IS_ENABLED(FM1_10GEC2))) || - ((info->port == FM1_DTSEC3) && (PORT_IS_ENABLED(FM1_10GEC3))) || - ((info->port == FM1_DTSEC4) && (PORT_IS_ENABLED(FM1_10GEC4))) || - ((info->port == FM1_10GEC1) && (PORT_IS_ENABLED(FM1_DTSEC1))) || - ((info->port == FM1_10GEC2) && (PORT_IS_ENABLED(FM1_DTSEC2))) || - ((info->port == FM1_10GEC3) && (PORT_IS_ENABLED(FM1_DTSEC3))) || - ((info->port == FM1_10GEC4) && (PORT_IS_ENABLED(FM1_DTSEC4))) -#endif - ) - return 0; -#endif - /* board code might have caused offset to change */ - off = fdt_node_offset_by_compat_reg(blob, prop, paddr); - -#ifndef CONFIG_SYS_FMAN_V3 - /* Don't disable FM1-DTSEC1 MAC as its used for MDIO */ - if (paddr != dtsec1_addr) -#endif - fdt_status_disabled(blob, off); /* disable the MAC node */ - - /* disable the fsl,dpa-ethernet node that points to the MAC */ - ph = fdt_get_phandle(blob, off); - do_fixup_by_prop(blob, "fsl,fman-mac", &ph, sizeof(ph), - "status", "disabled", strlen("disabled") + 1, 1); - - return 0; -} - -void fdt_fixup_fman_ethernet(void *blob) -{ - int i; - -#ifdef CONFIG_SYS_FMAN_V3 - for (i = 0; i < ARRAY_SIZE(fm_info); i++) - ft_fixup_port(blob, &fm_info[i], "fsl,fman-memac"); -#else - for (i = 0; i < ARRAY_SIZE(fm_info); i++) { - /* Try the new compatible first. - * If the node is missing, try the old. - */ - if (fm_info[i].type == FM_ETH_1G_E) { - if (ft_fixup_port(blob, &fm_info[i], "fsl,fman-dtsec")) - ft_fixup_port(blob, &fm_info[i], - "fsl,fman-1g-mac"); - } else { - if (ft_fixup_port(blob, &fm_info[i], "fsl,fman-xgec") && - ft_fixup_port(blob, &fm_info[i], "fsl,fman-tgec")) - ft_fixup_port(blob, &fm_info[i], - "fsl,fman-10g-mac"); - } - } -#endif -} - -/*QSGMII Riser Card can work in SGMII mode, but the PHY address is different. - *This function scans which Riser Card being used(QSGMII or SGMII Riser Card), - *then set the correct PHY address - */ -void set_sgmii_phy(struct mii_dev *bus, enum fm_port base_port, - unsigned int port_num, int phy_base_addr) -{ - unsigned int regnum = 0; - int qsgmii; - int i; - int phy_real_addr; - - qsgmii = is_qsgmii_riser_card(bus, phy_base_addr, port_num, regnum); - - if (!qsgmii) - return; - - for (i = base_port; i < base_port + port_num; i++) { - if (fm_info_get_enet_if(i) == PHY_INTERFACE_MODE_SGMII) { - phy_real_addr = phy_base_addr + i - base_port; - fm_info_set_phy_address(i, phy_real_addr); - } - } -} - -/*to check whether qsgmii riser card is used*/ -int is_qsgmii_riser_card(struct mii_dev *bus, int phy_base_addr, - unsigned int port_num, unsigned regnum) -{ - int i; - int val; - - if (!bus) - return 0; - - for (i = phy_base_addr; i < phy_base_addr + port_num; i++) { - val = bus->read(bus, i, MDIO_DEVAD_NONE, regnum); - if (val != MIIM_TIMEOUT) - return 1; - } - - return 0; -} -#endif /* CONFIG_DM_ETH */ diff --git a/drivers/net/fm/memac_phy.c b/drivers/net/fm/memac_phy.c index 3ddae97e0979..e0b62b944909 100644 --- a/drivers/net/fm/memac_phy.c +++ b/drivers/net/fm/memac_phy.c @@ -22,11 +22,9 @@ #define memac_setbits_32(a, v) setbits_be32(a, v) #endif -#ifdef CONFIG_DM_ETH struct fm_mdio_priv { struct memac_mdio_controller *regs; }; -#endif #define MAX_NUM_RETRIES 1000 @@ -88,9 +86,6 @@ int memac_mdio_write(struct mii_dev *bus, int port_addr, int dev_addr, u32 c45 = 1; /* Default to 10G interface */ int err; -#ifndef CONFIG_DM_ETH - regs = bus->priv; -#else struct fm_mdio_priv *priv; if (!bus->priv) @@ -99,7 +94,6 @@ int memac_mdio_write(struct mii_dev *bus, int port_addr, int dev_addr, regs = priv->regs; debug("memac_mdio_write(regs %p, port %d, dev %d, reg %d, val %#x)\n", regs, port_addr, dev_addr, regnum, value); -#endif if (dev_addr == MDIO_DEVAD_NONE) { c45 = 0; /* clause 22 */ @@ -147,22 +141,14 @@ int memac_mdio_read(struct mii_dev *bus, int port_addr, int dev_addr, u32 c45 = 1; int err; -#ifndef CONFIG_DM_ETH - regs = bus->priv; -#else struct fm_mdio_priv *priv; if (!bus->priv) return -EINVAL; priv = dev_get_priv(bus->priv); regs = priv->regs; -#endif if (dev_addr == MDIO_DEVAD_NONE) { -#ifndef CONFIG_DM_ETH - if (!strcmp(bus->name, DEFAULT_FM_TGEC_MDIO_NAME)) - return 0xffff; -#endif c45 = 0; /* clause 22 */ dev_addr = regnum & 0x1f; memac_clrbits_32(®s->mdio_stat, MDIO_STAT_ENC); @@ -205,43 +191,6 @@ int memac_mdio_reset(struct mii_dev *bus) return 0; } -#ifndef CONFIG_DM_ETH -int fm_memac_mdio_init(struct bd_info *bis, struct memac_mdio_info *info) -{ - struct mii_dev *bus = mdio_alloc(); - - if (!bus) { - printf("Failed to allocate FM TGEC MDIO bus\n"); - return -1; - } - - bus->read = memac_mdio_read; - bus->write = memac_mdio_write; - bus->reset = memac_mdio_reset; - strcpy(bus->name, info->name); - - bus->priv = info->regs; - - /* - * On some platforms like B4860, default value of MDIO_CLK_DIV bits - * in mdio_stat(mdio_cfg) register generates MDIO clock too high - * (much higher than 2.5MHz), violating the IEEE specs. - * On other platforms like T1040, default value of MDIO_CLK_DIV bits - * is zero, so MDIO clock is disabled. - * So, for proper functioning of MDIO, MDIO_CLK_DIV bits needs to - * be properly initialized. - * NEG bit default should be '1' as per FMAN-v3 RM, but on platform - * like T2080QDS, this bit default is '0', which leads to MDIO failure - * on XAUI PHY, so set this bit definitely. - */ - memac_setbits_32( - &((struct memac_mdio_controller *)info->regs)->mdio_stat, - MDIO_STAT_CLKDIV(258) | MDIO_STAT_NEG); - - return mdio_register(bus); -} - -#else /* CONFIG_DM_ETH */ #if defined(CONFIG_PHYLIB) && defined(CONFIG_DM_MDIO) static int fm_mdio_read(struct udevice *dev, int addr, int devad, int reg) { @@ -341,4 +290,3 @@ U_BOOT_DRIVER(fman_mdio) = { .plat_auto = sizeof(struct mdio_perdev_priv), }; #endif /* CONFIG_PHYLIB && CONFIG_DM_MDIO */ -#endif /* CONFIG_DM_ETH */ From patchwork Sun Nov 27 15:25:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709387 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=Rf4LksVn; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKssk5m69z23mg for ; Mon, 28 Nov 2022 02:27:22 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7F7908500E; Sun, 27 Nov 2022 16:26:10 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="Rf4LksVn"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B440D85003; Sun, 27 Nov 2022 16:25:54 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C083A84F6B for ; Sun, 27 Nov 2022 16:25:51 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62f.google.com with SMTP id td2so6242504ejc.5 for ; Sun, 27 Nov 2022 07:25:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=zIFGS+cHPZ6Wm27C2HmaExxoYBdOVQD+ZAWAzcRoTJo=; b=Rf4LksVnk0JqM8q+KiCQXvt/JiS6CIIfnqgPCw943pABzjmy+43rd23AivbRFZOT7b NNma8w4RJNCxzmeMcjOm10KL6DNZOmAsl8KUPdsMHffcUC60mgPl0gr/D7MuRy8AruxV K7KKKxWrHuofEYU4EMoE47mcfcZeCHb4A5E6c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zIFGS+cHPZ6Wm27C2HmaExxoYBdOVQD+ZAWAzcRoTJo=; b=BtwkHRPLTBrXtQqyvvLz2PH6d0g2nH/sZm0uOYVqp7UQOx8DgU2oQn34M2UMymwV4D SxIuBudCD8ifuB4NtwB7/IkVQMT0UZon0u8xCJxxWc41ReckcuQJe2mRG+Lx58K2/bzs QZQ/y0vJ2ZFFhS7LMEg0YaXHHyf9dfIDu3ggHDJn+X9qg9IjWUcHHCKfPmAsq7bVyYcs nJrJH6E/WZaEswsYljwDwqMYBKaoAJ/mVdi30UQkqGocV3MMk2V4KMLIR6i2tB3dTNxN lArPa2VobfneW4Mo7bdJKGbFre3YbVOJ6A6fJO5SYiVDO+U+IZ7JkxO3fOYyNzOZxXxa pZbg== X-Gm-Message-State: ANoB5pkvJ1LoB3+bkLsda9jzNgRowb6PARyKKPIQIIX+3V9N0zD3M64H 6NW0tK7eVJdrBgWr47QvPg/a9fw85eJ+xQ== X-Google-Smtp-Source: AA0mqf6QUe1tM/28cMHoHzMpa5IXNBzUMk7vPvXa9AjBJYiRNS2qDzkAzndK1LzG0fj3Ocje3sP1Yg== X-Received: by 2002:a17:906:6847:b0:7bf:a827:35c with SMTP id a7-20020a170906684700b007bfa827035cmr1354273ejs.711.1669562750872; Sun, 27 Nov 2022 07:25:50 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:50 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 11/41] net: dc2114x: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:06 -0500 Message-Id: <20221127152536.1556469-11-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/dc2114x.c | 156 ------------------------------------------ 1 file changed, 156 deletions(-) diff --git a/drivers/net/dc2114x.c b/drivers/net/dc2114x.c index deedfe76e43c..4e7af95b41c4 100644 --- a/drivers/net/dc2114x.c +++ b/drivers/net/dc2114x.c @@ -73,13 +73,7 @@ #define POLL_DEMAND 1 -#if defined(CONFIG_DM_ETH) #define phys_to_bus(dev, a) dm_pci_phys_to_mem((dev), (a)) -#elif defined(CONFIG_E500) -#define phys_to_bus(dev, a) (a) -#else -#define phys_to_bus(dev, a) pci_phys_to_mem((dev), (a)) -#endif #define NUM_RX_DESC PKTBUFSRX #define NUM_TX_DESC 1 /* Number of TX descriptors */ @@ -103,12 +97,7 @@ struct dc2114x_priv { int tx_new; /* TX descriptor ring pointer */ char rx_ring_size; char tx_ring_size; -#ifdef CONFIG_DM_ETH struct udevice *devno; -#else - struct eth_device dev; - pci_dev_t devno; -#endif char *name; void __iomem *iobase; u8 *enetaddr; @@ -479,150 +468,6 @@ static struct pci_device_id supported[] = { { } }; -#ifndef CONFIG_DM_ETH -static int dc21x4x_init(struct eth_device *dev, struct bd_info *bis) -{ - struct dc2114x_priv *priv = - container_of(dev, struct dc2114x_priv, dev); - - /* Ensure we're not sleeping. */ - pci_write_config_byte(priv->devno, PCI_CFDA_PSM, WAKEUP); - - return dc21x4x_init_common(priv); -} - -static void dc21x4x_halt(struct eth_device *dev) -{ - struct dc2114x_priv *priv = - container_of(dev, struct dc2114x_priv, dev); - - dc21x4x_halt_common(priv); - - pci_write_config_byte(priv->devno, PCI_CFDA_PSM, SLEEP); -} - -static int dc21x4x_send(struct eth_device *dev, void *packet, int length) -{ - struct dc2114x_priv *priv = - container_of(dev, struct dc2114x_priv, dev); - - return dc21x4x_send_common(priv, packet, length); -} - -static int dc21x4x_recv(struct eth_device *dev) -{ - struct dc2114x_priv *priv = - container_of(dev, struct dc2114x_priv, dev); - int length = 0; - int ret; - - while (true) { - ret = dc21x4x_recv_check(priv); - if (!ret) - break; - - if (ret > 0) { - length = ret; - /* Pass the packet up to the protocol layers */ - net_process_received_packet - (net_rx_packets[priv->rx_new], length - 4); - } - - /* - * Change buffer ownership for this frame, - * back to the adapter. - */ - if (ret != -EAGAIN) - priv->rx_ring[priv->rx_new].status = cpu_to_le32(R_OWN); - - /* Update entry information. */ - priv->rx_new = (priv->rx_new + 1) % priv->rx_ring_size; - } - - return length; -} - -int dc21x4x_initialize(struct bd_info *bis) -{ - struct dc2114x_priv *priv; - struct eth_device *dev; - unsigned short status; - unsigned char timer; - unsigned int iobase; - int card_number = 0; - pci_dev_t devbusfn; - int idx = 0; - - while (1) { - devbusfn = pci_find_devices(supported, idx++); - if (devbusfn == -1) - break; - - pci_read_config_word(devbusfn, PCI_COMMAND, &status); - status |= PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER; - pci_write_config_word(devbusfn, PCI_COMMAND, status); - - pci_read_config_word(devbusfn, PCI_COMMAND, &status); - if (!(status & PCI_COMMAND_MEMORY)) { - printf("Error: Can not enable MEMORY access.\n"); - continue; - } - - if (!(status & PCI_COMMAND_MASTER)) { - printf("Error: Can not enable Bus Mastering.\n"); - continue; - } - - /* Check the latency timer for values >= 0x60. */ - pci_read_config_byte(devbusfn, PCI_LATENCY_TIMER, &timer); - - if (timer < 0x60) { - pci_write_config_byte(devbusfn, PCI_LATENCY_TIMER, - 0x60); - } - - /* read BAR for memory space access */ - pci_read_config_dword(devbusfn, PCI_BASE_ADDRESS_1, &iobase); - iobase &= PCI_BASE_ADDRESS_MEM_MASK; - debug("dc21x4x: DEC 21142 PCI Device @0x%x\n", iobase); - - priv = memalign(32, sizeof(*priv)); - if (!priv) { - printf("Can not allocalte memory of dc21x4x\n"); - break; - } - memset(priv, 0, sizeof(*priv)); - - dev = &priv->dev; - - sprintf(dev->name, "dc21x4x#%d", card_number); - priv->devno = devbusfn; - priv->name = dev->name; - priv->enetaddr = dev->enetaddr; - - dev->iobase = pci_mem_to_phys(devbusfn, iobase); - dev->priv = (void *)devbusfn; - dev->init = dc21x4x_init; - dev->halt = dc21x4x_halt; - dev->send = dc21x4x_send; - dev->recv = dc21x4x_recv; - - /* Ensure we're not sleeping. */ - pci_write_config_byte(devbusfn, PCI_CFDA_PSM, WAKEUP); - - udelay(10 * 1000); - - read_hw_addr(priv); - - eth_register(dev); - - card_number++; - } - - return card_number; -} - -#else /* DM_ETH */ static int dc2114x_start(struct udevice *dev) { struct eth_pdata *plat = dev_get_plat(dev); @@ -756,4 +601,3 @@ U_BOOT_DRIVER(eth_dc2114x) = { }; U_BOOT_PCI_DEVICE(eth_dc2114x, supported); -#endif From patchwork Sun Nov 27 15:25:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709390 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=RNHnC+Hd; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKstR60sRz23mg for ; Mon, 28 Nov 2022 02:27:59 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5E2E9850D1; Sun, 27 Nov 2022 16:26:16 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="RNHnC+Hd"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8BD7084508; Sun, 27 Nov 2022 16:25:57 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AE16284FCC for ; Sun, 27 Nov 2022 16:25:52 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x533.google.com with SMTP id z92so1937338ede.1 for ; Sun, 27 Nov 2022 07:25:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=FK3uzwE01SRb84AI+10k+vgZ+4vDnggSb//48fuanR4=; b=RNHnC+Hd0mqqT2hRHtulmm/WpoxUcUk7VQySCPFsFKYwicKCHzZa80aux7FKIBt1Yq Q1Slv6iPDrvesRyM6KGscQZy/aCXy6nLc+1gqPvJuyrPmoBjgQm7i/WQ+86myY8jB07+ o6mE9yHoLQnkJPkFo7LYIGW4XsciVS+PDw7M0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FK3uzwE01SRb84AI+10k+vgZ+4vDnggSb//48fuanR4=; b=WHoVhVQO0blFNa37BLpTszaysn05HV9B3Y9741aaInekYhtl3oj9jC+L4SU9yHr39q UkbT0ENe1RwKgk2uws8O1oi4KDCKjUi9fhwKl28F3TT0s0dDjuEjw7fO5jelckAGPXrV Qxl7zX1eYiRsztffhXi/sjI6J7tPgtrM0W8rwma+r6Rrk6B1277LrpMxrXBEaj934xrE vsbgzrq29LF0ni8BdouGM7MlIyLDQTRNFYwnKCfuFIyL+cP9Xa7dPjGifR0j9u+CGMk7 1TvAQg72yO5YM1BvjZEFfg211k5iCIgQpE7I3k/xGFkMl72HU0Ie9HvIxDxl8sA0CHDm ECZQ== X-Gm-Message-State: ANoB5pmzEqjMpiqulftgcJfWOBgAzfO0M95EFeXOO8ga7n79IA0EeDls 9f9ODwPVdMIZ2I7bq+eGBTJcOIvJQelTgg== X-Google-Smtp-Source: AA0mqf6IYw7Lgja3yJe4Gqy7NJ/lzcN3vMDZLBFIzAVECa9cxDrV+ZSAM3Z/r4PfBW8VaBvSmo9Qig== X-Received: by 2002:a05:6402:1118:b0:467:a8cb:10c9 with SMTP id u24-20020a056402111800b00467a8cb10c9mr29328074edv.123.1669562752035; Sun, 27 Nov 2022 07:25:52 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:51 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 12/41] net: designware: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:07 -0500 Message-Id: <20221127152536.1556469-12-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/designware.c | 112 ++------------------------------------- drivers/net/designware.h | 5 -- 2 files changed, 3 insertions(+), 114 deletions(-) diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 0e63f70934c0..ddaf7ed1d38a 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -34,12 +34,8 @@ static int dw_mdio_read(struct mii_dev *bus, int addr, int devad, int reg) { -#ifdef CONFIG_DM_ETH struct dw_eth_dev *priv = dev_get_priv((struct udevice *)bus->priv); struct eth_mac_regs *mac_p = priv->mac_regs_p; -#else - struct eth_mac_regs *mac_p = bus->priv; -#endif ulong start; u16 miiaddr; int timeout = CONFIG_MDIO_TIMEOUT; @@ -62,12 +58,8 @@ static int dw_mdio_read(struct mii_dev *bus, int addr, int devad, int reg) static int dw_mdio_write(struct mii_dev *bus, int addr, int devad, int reg, u16 val) { -#ifdef CONFIG_DM_ETH struct dw_eth_dev *priv = dev_get_priv((struct udevice *)bus->priv); struct eth_mac_regs *mac_p = priv->mac_regs_p; -#else - struct eth_mac_regs *mac_p = bus->priv; -#endif ulong start; u16 miiaddr; int ret = -ETIMEDOUT, timeout = CONFIG_MDIO_TIMEOUT; @@ -90,7 +82,7 @@ static int dw_mdio_write(struct mii_dev *bus, int addr, int devad, int reg, return ret; } -#if defined(CONFIG_DM_ETH) && CONFIG_IS_ENABLED(DM_GPIO) +#if CONFIG_IS_ENABLED(DM_GPIO) static int __dw_mdio_reset(struct udevice *dev) { struct dw_eth_dev *priv = dev_get_priv(dev); @@ -192,7 +184,7 @@ static int dw_mdio_init(const char *name, void *priv) bus->read = dw_mdio_read; bus->write = dw_mdio_write; snprintf(bus->name, sizeof(bus->name), "%s", name); -#if defined(CONFIG_DM_ETH) && CONFIG_IS_ENABLED(DM_GPIO) +#if CONFIG_IS_ENABLED(DM_GPIO) bus->reset = dw_mdio_reset; #endif @@ -575,7 +567,7 @@ static int dw_phy_init(struct dw_eth_dev *priv, void *dev) struct phy_device *phydev; int ret; -#if IS_ENABLED(CONFIG_DM_MDIO) && IS_ENABLED(CONFIG_DM_ETH) +#if IS_ENABLED(CONFIG_DM_MDIO) phydev = dm_eth_phy_connect(dev); if (!phydev) return -ENODEV; @@ -605,103 +597,6 @@ static int dw_phy_init(struct dw_eth_dev *priv, void *dev) return 0; } -#ifndef CONFIG_DM_ETH -static int dw_eth_init(struct eth_device *dev, struct bd_info *bis) -{ - int ret; - - ret = designware_eth_init(dev->priv, dev->enetaddr); - if (!ret) - ret = designware_eth_enable(dev->priv); - - return ret; -} - -static int dw_eth_send(struct eth_device *dev, void *packet, int length) -{ - return _dw_eth_send(dev->priv, packet, length); -} - -static int dw_eth_recv(struct eth_device *dev) -{ - uchar *packet; - int length; - - length = _dw_eth_recv(dev->priv, &packet); - if (length == -EAGAIN) - return 0; - net_process_received_packet(packet, length); - - _dw_free_pkt(dev->priv); - - return 0; -} - -static void dw_eth_halt(struct eth_device *dev) -{ - return _dw_eth_halt(dev->priv); -} - -static int dw_write_hwaddr(struct eth_device *dev) -{ - return _dw_write_hwaddr(dev->priv, dev->enetaddr); -} - -int designware_initialize(ulong base_addr, u32 interface) -{ - struct eth_device *dev; - struct dw_eth_dev *priv; - - dev = (struct eth_device *) malloc(sizeof(struct eth_device)); - if (!dev) - return -ENOMEM; - - /* - * Since the priv structure contains the descriptors which need a strict - * buswidth alignment, memalign is used to allocate memory - */ - priv = (struct dw_eth_dev *) memalign(ARCH_DMA_MINALIGN, - sizeof(struct dw_eth_dev)); - if (!priv) { - free(dev); - return -ENOMEM; - } - - if ((phys_addr_t)priv + sizeof(*priv) > (1ULL << 32)) { - printf("designware: buffers are outside DMA memory\n"); - return -EINVAL; - } - - memset(dev, 0, sizeof(struct eth_device)); - memset(priv, 0, sizeof(struct dw_eth_dev)); - - sprintf(dev->name, "dwmac.%lx", base_addr); - dev->iobase = (int)base_addr; - dev->priv = priv; - - priv->dev = dev; - priv->mac_regs_p = (struct eth_mac_regs *)base_addr; - priv->dma_regs_p = (struct eth_dma_regs *)(base_addr + - DW_DMA_BASE_OFFSET); - - dev->init = dw_eth_init; - dev->send = dw_eth_send; - dev->recv = dw_eth_recv; - dev->halt = dw_eth_halt; - dev->write_hwaddr = dw_write_hwaddr; - - eth_register(dev); - - priv->interface = interface; - - dw_mdio_init(dev->name, priv->mac_regs_p); - priv->bus = miiphy_get_dev_by_name(dev->name); - - return dw_phy_init(priv, dev); -} -#endif - -#ifdef CONFIG_DM_ETH static int designware_eth_start(struct udevice *dev) { struct eth_pdata *pdata = dev_get_plat(dev); @@ -971,4 +866,3 @@ static struct pci_device_id supported[] = { }; U_BOOT_PCI_DEVICE(eth_designware, supported); -#endif diff --git a/drivers/net/designware.h b/drivers/net/designware.h index 3793d550980e..138c3c14bf52 100644 --- a/drivers/net/designware.h +++ b/drivers/net/designware.h @@ -233,9 +233,6 @@ struct dw_eth_dev { struct eth_mac_regs *mac_regs_p; struct eth_dma_regs *dma_regs_p; -#ifndef CONFIG_DM_ETH - struct eth_device *dev; -#endif #if CONFIG_IS_ENABLED(DM_GPIO) struct gpio_desc reset_gpio; #endif @@ -248,7 +245,6 @@ struct dw_eth_dev { struct mii_dev *bus; }; -#ifdef CONFIG_DM_ETH int designware_eth_of_to_plat(struct udevice *dev); int designware_eth_probe(struct udevice *dev); extern const struct eth_ops designware_eth_ops; @@ -266,6 +262,5 @@ int designware_eth_free_pkt(struct udevice *dev, uchar *packet, int length); void designware_eth_stop(struct udevice *dev); int designware_eth_write_hwaddr(struct udevice *dev); -#endif #endif From patchwork Sun Nov 27 15:25:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709391 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=WHjU2yLH; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKstf4fRjz23mg for ; Mon, 28 Nov 2022 02:28:10 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 41B3785100; Sun, 27 Nov 2022 16:26:18 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="WHjU2yLH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 244BE84508; Sun, 27 Nov 2022 16:25:58 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C01A784F27 for ; Sun, 27 Nov 2022 16:25:53 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x533.google.com with SMTP id x2so12415722edd.2 for ; Sun, 27 Nov 2022 07:25:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=3BpY3VqTJdzEvK4gqCts3aU+Jhf4v1fK/ZXBpLgMiwI=; b=WHjU2yLHHUKJXBEJ7yIJbCjmWqPo4HR/NGo5rfWQnv5WD1NZkTBmn8aexEskcnOQqc 8yT9Ehs/MbbnmIIGwEwEskTt1Z1H6B8eiwj3h9v7VhwBZGXZNbcuHvN/pP4XFDQGiQ/t ohRg4xGJ0ospodqh5gnBdr2alOgyHwpEq+YtU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3BpY3VqTJdzEvK4gqCts3aU+Jhf4v1fK/ZXBpLgMiwI=; b=GB6G5mkQc1y13IT93aIXTRwcG50aZ+VvlGAubj7nJgH9N48lBaVnABIhI9KaOFaD1c 2GEXjWoChmKxOjwuKzzqv52FFqQXhF2s5MMGKyPwvCVLgfKkET9C6HzV8EfFk06qEWd/ w9KMC3jQdMLwqc173vTzKcUqtwelvmhWC7n6QI0gq6Sa/iR8JY1Z+p+XLWM34IhzO+88 2KVCj4ps2pqS/u2V5v8+gSaE1WzhSkZUsZz9dOoezwAJXiireL7XudXUTJhoWIUdDqQ2 XIC2FKwPo1rJvyB5c5GWP0ORl0zdhRK9ZAU3jfwHDezEG6xykSqU8CTbLYfR/O3Z8tux PQLw== X-Gm-Message-State: ANoB5pkXiOHyoL1bQw1YUp55ixvu2iuQo7Qo5QwE5Nk74oIhcdOHNDRw PBofLd0JqwUSc2aZxrymP5hswRYnsd87KA== X-Google-Smtp-Source: AA0mqf7zapAxwid98J2/r8aALV4UciDaw6b4dC3J5yXFALW4iQCS54wH9KmCVscah+4gbQhDsOGXHQ== X-Received: by 2002:a05:6402:1050:b0:467:e9a5:77c5 with SMTP id e16-20020a056402105000b00467e9a577c5mr329509edu.289.1669562753130; Sun, 27 Nov 2022 07:25:53 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:52 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 13/41] net: dm9000x: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:08 -0500 Message-Id: <20221127152536.1556469-13-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/dm9000x.c | 66 ------------------------------------------- 1 file changed, 66 deletions(-) diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c index 07733df533e2..b46bdeb23bee 100644 --- a/drivers/net/dm9000x.c +++ b/drivers/net/dm9000x.c @@ -75,9 +75,6 @@ struct dm9000_priv { void (*outblk)(struct dm9000_priv *db, void *data_ptr, int count); void (*inblk)(struct dm9000_priv *db, void *data_ptr, int count); void (*rx_status)(struct dm9000_priv *db, u16 *rxstatus, u16 *rxlen); -#ifndef CONFIG_DM_ETH - struct eth_device dev; -#endif void __iomem *base_io; void __iomem *base_data; }; @@ -572,68 +569,6 @@ static void dm9000_get_enetaddr(struct dm9000_priv *db, u8 *enetaddr) static void dm9000_get_enetaddr(struct dm9000_priv *db, u8 *enetaddr) {} #endif -#ifndef CONFIG_DM_ETH -static int dm9000_init(struct eth_device *dev, struct bd_info *bd) -{ - struct dm9000_priv *db = container_of(dev, struct dm9000_priv, dev); - - return dm9000_init_common(db, dev->enetaddr); -} - -static void dm9000_halt(struct eth_device *dev) -{ - struct dm9000_priv *db = container_of(dev, struct dm9000_priv, dev); - - dm9000_halt_common(db); -} - -static int dm9000_send(struct eth_device *dev, void *packet, int length) -{ - struct dm9000_priv *db = container_of(dev, struct dm9000_priv, dev); - - return dm9000_send_common(db, packet, length); -} - -static int dm9000_recv(struct eth_device *dev) -{ - struct dm9000_priv *db = container_of(dev, struct dm9000_priv, dev); - int ret; - - ret = dm9000_recv_common(db, net_rx_packets[0]); - if (ret > 0) - net_process_received_packet(net_rx_packets[0], ret); - - return ret; -} - -int dm9000_initialize(struct bd_info *bis) -{ - struct dm9000_priv *priv; - struct eth_device *dev; - - priv = calloc(1, sizeof(*priv)); - if (!priv) - return -ENOMEM; - - dev = &priv->dev; - - priv->base_io = (void __iomem *)DM9000_IO; - priv->base_data = (void __iomem *)DM9000_DATA; - - /* Load MAC address from EEPROM */ - dm9000_get_enetaddr(priv, dev->enetaddr); - - dev->init = dm9000_init; - dev->halt = dm9000_halt; - dev->send = dm9000_send; - dev->recv = dm9000_recv; - strcpy(dev->name, "dm9000"); - - eth_register(&priv->dev); - - return 0; -} -#else /* ifdef CONFIG_DM_ETH */ static int dm9000_start(struct udevice *dev) { struct dm9000_priv *db = dev_get_priv(dev); @@ -746,4 +681,3 @@ U_BOOT_DRIVER(dm9000) = { .plat_auto = sizeof(struct eth_pdata), .flags = DM_FLAG_ALLOC_PRIV_DMA, }; -#endif From patchwork Sun Nov 27 15:25:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709392 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=McP14BY4; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsts0lTLz23mg for ; Mon, 28 Nov 2022 02:28:21 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A941585140; Sun, 27 Nov 2022 16:26:20 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="McP14BY4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6F1BA84F83; Sun, 27 Nov 2022 16:25:59 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 30D2685003 for ; Sun, 27 Nov 2022 16:25:55 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52c.google.com with SMTP id l11so12409799edb.4 for ; Sun, 27 Nov 2022 07:25:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=+XdiORTR+YKQphytfo9tGybfc+5TEwUr/p7w6rhd+TM=; b=McP14BY4rUPLA1+SIAtzNAsqkSiqrxLuu27iyosnu5SA4g9x+YrmuBN9BtcNwu97+G negdneM1Jj2ZULRvHKtKQq6jq4igEqd6Ix51PWsOCmq63uEzR2iy7qsjaH27L1TWg0HM w62yZyMSvca6H1FhYnt+3pges5X5irU1d7YoA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+XdiORTR+YKQphytfo9tGybfc+5TEwUr/p7w6rhd+TM=; b=6S0vjvNoTHQwaEC5t/M6A7k+P7sbrzBg7zoXRp6/lsRv3udCrq20Tzxh8iE2v/DHhh xCRVCWTp1QIMIlvdFz+kynn8RakD3/4NCOLd4b1EMeGlArMeiIi0j8pmFUX3NRDFfe7n x6ZLajR9w5j26xHQIaw+PpxNufTpPtn6vIQmEL7t8Bb/HwgzgOHNWs3n+DfpuDp0+Ot6 udGQWe0qxCNF4pBs3W0l38X85t9CqIgo62e1WL1LVR1zGa32JmG+AMsaH0300Evkrrjx z2Ai1vTiA9E6ZrDLL3qFbuO/r2E7LPznIEbQgstBwSDY4tLyRSi8ZkzwE5VmhlrXmcM4 iAow== X-Gm-Message-State: ANoB5plpkXo36jYod06+XUD6TNSXNzlUefXspwHsSVHvx1ESXx/8Y1eB 8wshd0cJVFS72bK9YNkR5zFDw2W8vYtDiQ== X-Google-Smtp-Source: AA0mqf5WqALoS4PinKNTeEwcFsp2/1D4S62J6aEIk8IQ3Tf0jbPEXIhWqbKFYYm9IBxE6LEyvIRM+w== X-Received: by 2002:a05:6402:5513:b0:467:7026:515e with SMTP id fi19-20020a056402551300b004677026515emr44464327edb.26.1669562754228; Sun, 27 Nov 2022 07:25:54 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:53 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 14/41] net: e1000: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:09 -0500 Message-Id: <20221127152536.1556469-14-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/e1000.c | 216 +------------------------------------------- drivers/net/e1000.h | 11 --- 2 files changed, 1 insertion(+), 226 deletions(-) diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index 5fe016ebaf7c..41e6ba760e29 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -65,9 +65,7 @@ DEFINE_ALIGN_BUFFER(unsigned char, packet, 4096, E1000_BUFFER_ALIGN); static int tx_tail; static int rx_tail, rx_last; -#ifdef CONFIG_DM_ETH static int num_cards; /* Number of E1000 devices seen so far */ -#endif static struct pci_device_id e1000_supported[] = { { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82542) }, @@ -1611,13 +1609,8 @@ e1000_reset_hw(struct e1000_hw *hw) /* For 82542 (rev 2.0), disable MWI before issuing a device reset */ if (hw->mac_type == e1000_82542_rev2_0) { DEBUGOUT("Disabling MWI on 82542 rev 2.0\n"); -#ifdef CONFIG_DM_ETH dm_pci_write_config16(hw->pdev, PCI_COMMAND, hw->pci_cmd_word & ~PCI_COMMAND_INVALIDATE); -#else - pci_write_config_word(hw->pdev, PCI_COMMAND, - hw->pci_cmd_word & ~PCI_COMMAND_INVALIDATE); -#endif } /* Clear interrupt mask to stop board from generating interrupts */ @@ -1695,11 +1688,7 @@ e1000_reset_hw(struct e1000_hw *hw) /* If MWI was previously enabled, reenable it. */ if (hw->mac_type == e1000_82542_rev2_0) { -#ifdef CONFIG_DM_ETH dm_pci_write_config16(hw->pdev, PCI_COMMAND, hw->pci_cmd_word); -#else - pci_write_config_word(hw->pdev, PCI_COMMAND, hw->pci_cmd_word); -#endif } if (hw->mac_type != e1000_igb) E1000_WRITE_REG(hw, PBA, pba); @@ -1884,15 +1873,9 @@ e1000_init_hw(struct e1000_hw *hw, unsigned char enetaddr[6]) /* For 82542 (rev 2.0), disable MWI and put the receiver into reset */ if (hw->mac_type == e1000_82542_rev2_0) { DEBUGOUT("Disabling MWI on 82542 rev 2.0\n"); -#ifdef CONFIG_DM_ETH dm_pci_write_config16(hw->pdev, PCI_COMMAND, hw-> pci_cmd_word & ~PCI_COMMAND_INVALIDATE); -#else - pci_write_config_word(hw->pdev, PCI_COMMAND, - hw-> - pci_cmd_word & ~PCI_COMMAND_INVALIDATE); -#endif E1000_WRITE_REG(hw, RCTL, E1000_RCTL_RST); E1000_WRITE_FLUSH(hw); mdelay(5); @@ -1908,11 +1891,7 @@ e1000_init_hw(struct e1000_hw *hw, unsigned char enetaddr[6]) E1000_WRITE_REG(hw, RCTL, 0); E1000_WRITE_FLUSH(hw); mdelay(1); -#ifdef CONFIG_DM_ETH dm_pci_write_config16(hw->pdev, PCI_COMMAND, hw->pci_cmd_word); -#else - pci_write_config_word(hw->pdev, PCI_COMMAND, hw->pci_cmd_word); -#endif } /* Zero out the Multicast HASH table */ @@ -1935,17 +1914,10 @@ e1000_init_hw(struct e1000_hw *hw, unsigned char enetaddr[6]) default: /* Workaround for PCI-X problem when BIOS sets MMRBC incorrectly. */ if (hw->bus_type == e1000_bus_type_pcix) { -#ifdef CONFIG_DM_ETH dm_pci_read_config16(hw->pdev, PCIX_COMMAND_REGISTER, &pcix_cmd_word); dm_pci_read_config16(hw->pdev, PCIX_STATUS_REGISTER_HI, &pcix_stat_hi_word); -#else - pci_read_config_word(hw->pdev, PCIX_COMMAND_REGISTER, - &pcix_cmd_word); - pci_read_config_word(hw->pdev, PCIX_STATUS_REGISTER_HI, - &pcix_stat_hi_word); -#endif cmd_mmrbc = (pcix_cmd_word & PCIX_COMMAND_MMRBC_MASK) >> PCIX_COMMAND_MMRBC_SHIFT; @@ -1957,13 +1929,8 @@ e1000_init_hw(struct e1000_hw *hw, unsigned char enetaddr[6]) if (cmd_mmrbc > stat_mmrbc) { pcix_cmd_word &= ~PCIX_COMMAND_MMRBC_MASK; pcix_cmd_word |= stat_mmrbc << PCIX_COMMAND_MMRBC_SHIFT; -#ifdef CONFIG_DM_ETH dm_pci_write_config16(hw->pdev, PCIX_COMMAND_REGISTER, pcix_cmd_word); -#else - pci_write_config_word(hw->pdev, PCIX_COMMAND_REGISTER, - pcix_cmd_word); -#endif } } break; @@ -5060,7 +5027,6 @@ e1000_sw_init(struct e1000_hw *hw) int result; /* PCI config space info */ -#ifdef CONFIG_DM_ETH dm_pci_read_config16(hw->pdev, PCI_VENDOR_ID, &hw->vendor_id); dm_pci_read_config16(hw->pdev, PCI_DEVICE_ID, &hw->device_id); dm_pci_read_config16(hw->pdev, PCI_SUBSYSTEM_VENDOR_ID, @@ -5069,16 +5035,6 @@ e1000_sw_init(struct e1000_hw *hw) dm_pci_read_config8(hw->pdev, PCI_REVISION_ID, &hw->revision_id); dm_pci_read_config16(hw->pdev, PCI_COMMAND, &hw->pci_cmd_word); -#else - pci_read_config_word(hw->pdev, PCI_VENDOR_ID, &hw->vendor_id); - pci_read_config_word(hw->pdev, PCI_DEVICE_ID, &hw->device_id); - pci_read_config_word(hw->pdev, PCI_SUBSYSTEM_VENDOR_ID, - &hw->subsystem_vendor_id); - pci_read_config_word(hw->pdev, PCI_SUBSYSTEM_ID, &hw->subsystem_id); - - pci_read_config_byte(hw->pdev, PCI_REVISION_ID, &hw->revision_id); - pci_read_config_word(hw->pdev, PCI_COMMAND, &hw->pci_cmd_word); -#endif /* identify the MAC */ result = e1000_set_mac_type(hw); @@ -5485,51 +5441,25 @@ void e1000_get_bus_type(struct e1000_hw *hw) } } -#ifndef CONFIG_DM_ETH -/* A list of all registered e1000 devices */ -static LIST_HEAD(e1000_hw_list); -#endif - -#ifdef CONFIG_DM_ETH static int e1000_init_one(struct e1000_hw *hw, int cardnum, struct udevice *devno, unsigned char enetaddr[6]) -#else -static int e1000_init_one(struct e1000_hw *hw, int cardnum, pci_dev_t devno, - unsigned char enetaddr[6]) -#endif { u32 val; /* Assign the passed-in values */ -#ifdef CONFIG_DM_ETH - hw->pdev = devno; -#else hw->pdev = devno; -#endif hw->cardnum = cardnum; /* Print a debug message with the IO base address */ -#ifdef CONFIG_DM_ETH dm_pci_read_config32(devno, PCI_BASE_ADDRESS_0, &val); -#else - pci_read_config_dword(devno, PCI_BASE_ADDRESS_0, &val); -#endif E1000_DBG(hw, "iobase 0x%08x\n", val & 0xfffffff0); /* Try to enable I/O accesses and bus-mastering */ val = PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER; -#ifdef CONFIG_DM_ETH dm_pci_write_config32(devno, PCI_COMMAND, val); -#else - pci_write_config_dword(devno, PCI_COMMAND, val); -#endif /* Make sure it worked */ -#ifdef CONFIG_DM_ETH dm_pci_read_config32(devno, PCI_COMMAND, &val); -#else - pci_read_config_dword(devno, PCI_COMMAND, &val); -#endif if (!(val & PCI_COMMAND_MEMORY)) { E1000_ERR(hw, "Can't enable I/O memory\n"); return -ENOSPC; @@ -5548,13 +5478,8 @@ static int e1000_init_one(struct e1000_hw *hw, int cardnum, pci_dev_t devno, #ifndef CONFIG_E1000_NO_NVM hw->eeprom_semaphore_present = true; #endif -#ifdef CONFIG_DM_ETH hw->hw_addr = dm_pci_map_bar(devno, PCI_BASE_ADDRESS_0, 0, 0, PCI_REGION_TYPE, PCI_REGION_MEM); -#else - hw->hw_addr = pci_map_bar(devno, PCI_BASE_ADDRESS_0, - PCI_REGION_MEM); -#endif hw->mac_type = e1000_undefined; /* MAC and Phy settings */ @@ -5599,71 +5524,13 @@ static void e1000_name(char *str, int cardnum) sprintf(str, "e1000#%u", cardnum); } -#ifndef CONFIG_DM_ETH -/************************************************************************** -TRANSMIT - Transmit a frame -***************************************************************************/ -static int e1000_transmit(struct eth_device *nic, void *txpacket, int length) -{ - struct e1000_hw *hw = nic->priv; - - return _e1000_transmit(hw, txpacket, length); -} - -/************************************************************************** -DISABLE - Turn off ethernet interface -***************************************************************************/ -static void -e1000_disable(struct eth_device *nic) -{ - struct e1000_hw *hw = nic->priv; - - _e1000_disable(hw); -} - -/************************************************************************** -INIT - set up ethernet interface(s) -***************************************************************************/ -static int -e1000_init(struct eth_device *nic, struct bd_info *bis) -{ - struct e1000_hw *hw = nic->priv; - - return _e1000_init(hw, nic->enetaddr); -} - -static int -e1000_poll(struct eth_device *nic) -{ - struct e1000_hw *hw = nic->priv; - int len; - - len = _e1000_poll(hw); - if (len) { - net_process_received_packet((uchar *)packet, len); - fill_rx(hw); - } - - return len ? 1 : 0; -} -#endif /* !CONFIG_DM_ETH */ - -#ifdef CONFIG_DM_ETH static int e1000_write_hwaddr(struct udevice *dev) -#else -static int e1000_write_hwaddr(struct eth_device *dev) -#endif { #ifndef CONFIG_E1000_NO_NVM unsigned char current_mac[6]; -#ifdef CONFIG_DM_ETH struct eth_pdata *plat = dev_get_plat(dev); struct e1000_hw *hw = dev_get_priv(dev); u8 *mac = plat->enetaddr; -#else - struct e1000_hw *hw = dev->priv; - u8 *mac = dev->enetaddr; -#endif uint16_t data[3]; int ret_val, i; @@ -5701,87 +5568,16 @@ static int e1000_write_hwaddr(struct eth_device *dev) #endif } -#ifndef CONFIG_DM_ETH -/************************************************************************** -PROBE - Look for an adapter, this routine's visible to the outside -You should omit the last argument struct pci_device * for a non-PCI NIC -***************************************************************************/ -int -e1000_initialize(struct bd_info * bis) -{ - unsigned int i; - pci_dev_t devno; - int ret; - - DEBUGFUNC(); - - /* Find and probe all the matching PCI devices */ - for (i = 0; (devno = pci_find_devices(e1000_supported, i)) >= 0; i++) { - /* - * These will never get freed due to errors, this allows us to - * perform SPI EEPROM programming from U-Boot, for example. - */ - struct eth_device *nic = malloc(sizeof(*nic)); - struct e1000_hw *hw = malloc(sizeof(*hw)); - if (!nic || !hw) { - printf("e1000#%u: Out of Memory!\n", i); - free(nic); - free(hw); - continue; - } - - /* Make sure all of the fields are initially zeroed */ - memset(nic, 0, sizeof(*nic)); - memset(hw, 0, sizeof(*hw)); - nic->priv = hw; - - /* Generate a card name */ - e1000_name(nic->name, i); - hw->name = nic->name; - - ret = e1000_init_one(hw, i, devno, nic->enetaddr); - if (ret) - continue; - list_add_tail(&hw->list_node, &e1000_hw_list); - - hw->nic = nic; - - /* Set up the function pointers and register the device */ - nic->init = e1000_init; - nic->recv = e1000_poll; - nic->send = e1000_transmit; - nic->halt = e1000_disable; - nic->write_hwaddr = e1000_write_hwaddr; - eth_register(nic); - } - - return i; -} - -struct e1000_hw *e1000_find_card(unsigned int cardnum) -{ - struct e1000_hw *hw; - - list_for_each_entry(hw, &e1000_hw_list, list_node) - if (hw->cardnum == cardnum) - return hw; - - return NULL; -} -#endif /* !CONFIG_DM_ETH */ - #ifdef CONFIG_CMD_E1000 static int do_e1000(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { unsigned char *mac = NULL; -#ifdef CONFIG_DM_ETH struct eth_pdata *plat; struct udevice *dev; char name[30]; int ret; -#endif -#if !defined(CONFIG_DM_ETH) || defined(CONFIG_E1000_SPI) +#if defined(CONFIG_E1000_SPI) struct e1000_hw *hw; #endif int cardnum; @@ -5793,18 +5589,12 @@ static int do_e1000(struct cmd_tbl *cmdtp, int flag, int argc, /* Make sure we can find the requested e1000 card */ cardnum = dectoul(argv[1], NULL); -#ifdef CONFIG_DM_ETH e1000_name(name, cardnum); ret = uclass_get_device_by_name(UCLASS_ETH, name, &dev); if (!ret) { plat = dev_get_plat(dev); mac = plat->enetaddr; } -#else - hw = e1000_find_card(cardnum); - if (hw) - mac = hw->nic->enetaddr; -#endif if (!mac) { printf("e1000: ERROR: No such device: e1000#%s\n", argv[1]); return 1; @@ -5817,9 +5607,7 @@ static int do_e1000(struct cmd_tbl *cmdtp, int flag, int argc, } #ifdef CONFIG_E1000_SPI -#ifdef CONFIG_DM_ETH hw = dev_get_priv(dev); -#endif /* Handle the "SPI" subcommand */ if (!strcmp(argv[2], "spi")) return do_e1000_spi(cmdtp, hw, argc - 3, argv + 3); @@ -5843,7 +5631,6 @@ U_BOOT_CMD( ); #endif /* not CONFIG_CMD_E1000 */ -#ifdef CONFIG_DM_ETH static int e1000_eth_start(struct udevice *dev) { struct eth_pdata *plat = dev_get_plat(dev); @@ -5948,4 +5735,3 @@ U_BOOT_DRIVER(eth_e1000) = { }; U_BOOT_PCI_DEVICE(eth_e1000, e1000_supported); -#endif diff --git a/drivers/net/e1000.h b/drivers/net/e1000.h index f96f12c8f445..f788394da874 100644 --- a/drivers/net/e1000.h +++ b/drivers/net/e1000.h @@ -21,10 +21,6 @@ #include #include #include -/* Avoids a compile error since struct eth_device is not defined */ -#ifndef CONFIG_DM_ETH -#include -#endif #include #include @@ -1077,19 +1073,12 @@ typedef enum { struct e1000_hw { const char *name; struct list_head list_node; -#ifndef CONFIG_DM_ETH - struct eth_device *nic; -#endif #ifdef CONFIG_E1000_SPI struct spi_slave spi; #endif unsigned int cardnum; -#ifdef CONFIG_DM_ETH struct udevice *pdev; -#else - pci_dev_t pdev; -#endif uint8_t *hw_addr; e1000_mac_type mac_type; e1000_phy_type phy_type; From patchwork Sun Nov 27 15:25:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709396 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=cQwdyqGo; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsvf1xnjz23mg for ; Mon, 28 Nov 2022 02:29:02 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 13591851AB; Sun, 27 Nov 2022 16:26:31 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="cQwdyqGo"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2F2CF84508; Sun, 27 Nov 2022 16:26:01 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 04DA584D54 for ; Sun, 27 Nov 2022 16:25:56 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x630.google.com with SMTP id vp12so19051512ejc.8 for ; Sun, 27 Nov 2022 07:25:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Yj3Njkv0cTfe3zr7WxKmH0n/guGx2QsCUM7Hq5E6D4o=; b=cQwdyqGobNEsYd0SqHXAJPG9TkZlGFT9SyDRUHBsmRn3WHxRGzAZ1WReMiP/nTO/dZ Lzn9JAKntU3+WrqEGQYAr7Ze/rr62H4S1g4zQgxFGF354ODpen8/q9bo45nz+RMkcvht kmD2kdGrpPLbRTnGDmUEm/JmqPBrY5ie1XV7E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Yj3Njkv0cTfe3zr7WxKmH0n/guGx2QsCUM7Hq5E6D4o=; b=wa9ZU6Rkc2qogBXx7MLLw/IRLAwAql3glaqfyr3G11qzXWbjqiz3vm16K55h54xV0Y 1He34j2Ld7X08h2WPOTb36SqI2IVNkPfLE5krVOBYti8Jw+Yx4gPpBG1pL+LFj/6IV4w jeprVZaP1oNi7VsQNE0L7fLbYON99D1bjFL5Uz/tUemlnvsl1nzJRXF3uKMuMDFNaUZA C2rVLHD1A09bNqG1SSRCc7a2O7FVQLBO/RmdnqI+QDPZZwz6DXwoYxUYczAEgJhEPDtS gPLjqPH1LEuFAk3pk+CV7n6sFH+i7D5xh/Bd1S1zxaCXEfz0gv58kXQ4JQoR1lq8nXVM Z8HQ== X-Gm-Message-State: ANoB5pku33S+7SEUwyJ6bsOxXK99Vp8+WnYecmQb7xZnER5AyNEHoTlW 0JMQ2HHTwpDu5iAC0a3gbagkv7ZnUMw+nQ== X-Google-Smtp-Source: AA0mqf7d6FmdN4ToB817kfNJ/HuLR8whBOIv4QkQrvuoiNI+K2vuhwO9DGbiWEZQMRws9Z0GLbrUBA== X-Received: by 2002:a17:906:a08e:b0:7ad:79c0:5479 with SMTP id q14-20020a170906a08e00b007ad79c05479mr31948052ejy.392.1669562755245; Sun, 27 Nov 2022 07:25:55 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:54 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 15/41] net: eepro100: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:10 -0500 Message-Id: <20221127152536.1556469-15-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/eepro100.c | 134 ----------------------------------------- 1 file changed, 134 deletions(-) diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c index 935cd9c99cef..a0424505bde8 100644 --- a/drivers/net/eepro100.c +++ b/drivers/net/eepro100.c @@ -206,27 +206,14 @@ struct eepro100_priv { /* TX descriptor ring pointer */ int tx_next; int tx_threshold; -#ifdef CONFIG_DM_ETH struct udevice *devno; -#else - struct eth_device dev; - pci_dev_t devno; -#endif char *name; void __iomem *iobase; u8 *enetaddr; }; -#if defined(CONFIG_DM_ETH) #define bus_to_phys(dev, a) dm_pci_mem_to_phys((dev), (a)) #define phys_to_bus(dev, a) dm_pci_phys_to_mem((dev), (a)) -#elif defined(CONFIG_E500) -#define bus_to_phys(dev, a) (a) -#define phys_to_bus(dev, a) (a) -#else -#define bus_to_phys(dev, a) pci_mem_to_phys((dev), (a)) -#define phys_to_bus(dev, a) pci_phys_to_mem((dev), (a)) -#endif static int INW(struct eepro100_priv *priv, u_long addr) { @@ -778,126 +765,6 @@ done: return; } -#ifndef CONFIG_DM_ETH -static int eepro100_init(struct eth_device *dev, struct bd_info *bis) -{ - struct eepro100_priv *priv = - container_of(dev, struct eepro100_priv, dev); - - return eepro100_init_common(priv); -} - -static void eepro100_halt(struct eth_device *dev) -{ - struct eepro100_priv *priv = - container_of(dev, struct eepro100_priv, dev); - - eepro100_halt_common(priv); -} - -static int eepro100_send(struct eth_device *dev, void *packet, int length) -{ - struct eepro100_priv *priv = - container_of(dev, struct eepro100_priv, dev); - - return eepro100_send_common(priv, packet, length); -} - -static int eepro100_recv(struct eth_device *dev) -{ - struct eepro100_priv *priv = - container_of(dev, struct eepro100_priv, dev); - uchar *packet; - int ret; - - ret = eepro100_recv_common(priv, &packet); - if (ret > 0) - net_process_received_packet(packet, ret); - if (ret) - eepro100_free_pkt_common(priv); - - return ret; -} - -int eepro100_initialize(struct bd_info *bis) -{ - struct eepro100_priv *priv; - struct eth_device *dev; - int card_number = 0; - u32 iobase, status; - pci_dev_t devno; - int idx = 0; - int ret; - - while (1) { - /* Find PCI device */ - devno = pci_find_devices(supported, idx++); - if (devno < 0) - break; - - pci_read_config_dword(devno, PCI_BASE_ADDRESS_0, &iobase); - iobase &= ~0xf; - - debug("eepro100: Intel i82559 PCI EtherExpressPro @0x%x\n", - iobase); - - pci_write_config_dword(devno, PCI_COMMAND, - PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); - - /* Check if I/O accesses and Bus Mastering are enabled. */ - pci_read_config_dword(devno, PCI_COMMAND, &status); - if (!(status & PCI_COMMAND_MEMORY)) { - printf("Error: Can not enable MEM access.\n"); - continue; - } - - if (!(status & PCI_COMMAND_MASTER)) { - printf("Error: Can not enable Bus Mastering.\n"); - continue; - } - - priv = calloc(1, sizeof(*priv)); - if (!priv) { - printf("eepro100: Can not allocate memory\n"); - break; - } - dev = &priv->dev; - - sprintf(dev->name, "i82559#%d", card_number); - priv->name = dev->name; - /* this have to come before bus_to_phys() */ - priv->devno = devno; - priv->iobase = (void __iomem *)bus_to_phys(devno, iobase); - priv->enetaddr = dev->enetaddr; - - dev->init = eepro100_init; - dev->halt = eepro100_halt; - dev->send = eepro100_send; - dev->recv = eepro100_recv; - - eth_register(dev); - - ret = eepro100_initialize_mii(priv); - if (ret) { - eth_unregister(dev); - free(priv); - return ret; - } - - card_number++; - - /* Set the latency timer for value. */ - pci_write_config_byte(devno, PCI_LATENCY_TIMER, 0x20); - - udelay(10 * 1000); - - eepro100_get_hwaddr(priv); - } - - return card_number; -} - -#else /* DM_ETH */ static int eepro100_start(struct udevice *dev) { struct eth_pdata *plat = dev_get_plat(dev); @@ -1014,4 +881,3 @@ U_BOOT_DRIVER(eth_eepro100) = { }; U_BOOT_PCI_DEVICE(eth_eepro100, supported); -#endif From patchwork Sun Nov 27 15:25:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709393 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=bdu5iESo; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsv3185Pz23mg for ; Mon, 28 Nov 2022 02:28:31 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8ACA385176; Sun, 27 Nov 2022 16:26:22 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="bdu5iESo"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 98A8684FCC; Sun, 27 Nov 2022 16:25:59 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 063FE84F24 for ; Sun, 27 Nov 2022 16:25:57 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62d.google.com with SMTP id ud5so20359288ejc.4 for ; Sun, 27 Nov 2022 07:25:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=UmJXZEGcFIW7UcEvuwrpv1po77QcHFpxR3AoXZuCsro=; b=bdu5iESoYvH4+GqcRbuHYgw5H1jgBvhsx+6wRKOqVNNBOpLTCG+YTSOrmSQrEuE8C4 pho0bD4DIUtuP21jpJshQY4P7nedE3UXtwnLonUDi+VqIw7zVNo9clRpARmMsBB2I3cM kzbTO0/mnNtYtKMR9k3ZyOs+cVufbINVMmx+k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UmJXZEGcFIW7UcEvuwrpv1po77QcHFpxR3AoXZuCsro=; b=MArhfspZH7eYScHW7Z5RtDKd9pzPF34qNhagu2U5eck5ZPIfHplPWAq/p1WcLDwe8w 2utMoVezdMyvaL1y/og53hm4/vWsYlsYR+yFYge68GoyNDqfAob+nGTfKcjPmt3KFXtA TOuo4dMVzH9dRwBPt/lV39G4VoeS7qaERkxn86sE2w7/u/NyhUpPSWec2b8+VrIhbZuY f3POej3CqTIuStlpqGeb2ypICgtvsFgO5B+D80nq2KUkjtn7WLgs5dxliJEnLJmhDwS8 fM/XSxRIozgdy+DtOCTMnbZTbDgKtBe41SO2Uqd5Ob8fHw07IEPHj4SsLvRq3sHAFsG8 bggA== X-Gm-Message-State: ANoB5pnyBtzAFChgItw9/BAIRAmKVNl3smclszoUHmmLffWoNWLZtDvM arYWlNfHpFUxTZc9SaFyHG7XPulb1tnYSw== X-Google-Smtp-Source: AA0mqf7WO7LnTNYJbE4BzQe2fu/9kvHw2IKEcaSZPorfLOJBm79t1IhLfzno+r5qVbHqCgK3ebbpxg== X-Received: by 2002:a17:906:b250:b0:7b2:86d5:8b14 with SMTP id ce16-20020a170906b25000b007b286d58b14mr40394440ejb.230.1669562756318; Sun, 27 Nov 2022 07:25:56 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:56 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 16/41] net: ethoc: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:11 -0500 Message-Id: <20221127152536.1556469-16-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/ethoc.c | 85 ---------------------------- include/dm/platform_data/net_ethoc.h | 4 -- 2 files changed, 89 deletions(-) diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c index a219affb58a2..29067e9e9494 100644 --- a/drivers/net/ethoc.c +++ b/drivers/net/ethoc.c @@ -643,8 +643,6 @@ static inline int ethoc_phy_init(struct ethoc *priv, void *dev) #endif -#ifdef CONFIG_DM_ETH - static int ethoc_write_hwaddr(struct udevice *dev) { struct ethoc_eth_pdata *pdata = dev_get_plat(dev); @@ -753,86 +751,3 @@ U_BOOT_DRIVER(ethoc) = { .priv_auto = sizeof(struct ethoc), .plat_auto = sizeof(struct ethoc_eth_pdata), }; - -#else - -static int ethoc_init(struct eth_device *dev, struct bd_info *bd) -{ - struct ethoc *priv = (struct ethoc *)dev->priv; - - return ethoc_init_common(priv); -} - -static int ethoc_write_hwaddr(struct eth_device *dev) -{ - struct ethoc *priv = (struct ethoc *)dev->priv; - u8 *mac = dev->enetaddr; - - return ethoc_write_hwaddr_common(priv, mac); -} - -static int ethoc_send(struct eth_device *dev, void *packet, int length) -{ - return ethoc_send_common(dev->priv, packet, length); -} - -static void ethoc_halt(struct eth_device *dev) -{ - ethoc_disable_rx_and_tx(dev->priv); -} - -static int ethoc_recv(struct eth_device *dev) -{ - struct ethoc *priv = (struct ethoc *)dev->priv; - int count; - - if (!ethoc_is_new_packet_received(priv)) - return 0; - - for (count = 0; count < PKTBUFSRX; ++count) { - uchar *packetp; - int size = ethoc_rx_common(priv, &packetp); - - if (size < 0) - break; - if (size > 0) - net_process_received_packet(packetp, size); - ethoc_free_pkt_common(priv); - } - return 0; -} - -int ethoc_initialize(u8 dev_num, int base_addr) -{ - struct ethoc *priv; - struct eth_device *dev; - - priv = malloc(sizeof(*priv)); - if (!priv) - return 0; - dev = malloc(sizeof(*dev)); - if (!dev) { - free(priv); - return 0; - } - - memset(dev, 0, sizeof(*dev)); - dev->priv = priv; - dev->iobase = base_addr; - dev->init = ethoc_init; - dev->halt = ethoc_halt; - dev->send = ethoc_send; - dev->recv = ethoc_recv; - dev->write_hwaddr = ethoc_write_hwaddr; - sprintf(dev->name, "%s-%hu", "ETHOC", dev_num); - priv->iobase = ioremap(dev->iobase, ETHOC_IOSIZE); - - eth_register(dev); - - ethoc_mdio_init(dev->name, priv); - ethoc_phy_init(priv, dev); - - return 1; -} - -#endif diff --git a/include/dm/platform_data/net_ethoc.h b/include/dm/platform_data/net_ethoc.h index 855e9999a0a8..44547d14f53e 100644 --- a/include/dm/platform_data/net_ethoc.h +++ b/include/dm/platform_data/net_ethoc.h @@ -8,13 +8,9 @@ #include -#ifdef CONFIG_DM_ETH - struct ethoc_eth_pdata { struct eth_pdata eth_pdata; phys_addr_t packet_base; }; -#endif - #endif /* _ETHOC_H */ From patchwork Sun Nov 27 15:25:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709394 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=C4SGgKsG; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsvF2DN5z23mg for ; Mon, 28 Nov 2022 02:28:41 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1F6E08516C; Sun, 27 Nov 2022 16:26:25 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="C4SGgKsG"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 25D5084F24; Sun, 27 Nov 2022 16:26:00 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 168C684F68 for ; Sun, 27 Nov 2022 16:25:58 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62a.google.com with SMTP id n21so20313870ejb.9 for ; Sun, 27 Nov 2022 07:25:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=NEZdqHQLUKU1Clw0YwdA5qBsj1EhzMMbOffPjowDQRs=; b=C4SGgKsGQyC8s2rI2yxuEU3hW1253kH1RJJmPEZJo38ppSp0BSKX77TcBepo54JRaf jWRjYcwhmAznmCnnPpg6E/klA8iov3NdAJrGcl4Vz41a4XUfxvCsqLHLPyqrk2OOPI6t Ca3KnpTCUzBnXgqu0a6Bb8ssVnWal+J+0LtBM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NEZdqHQLUKU1Clw0YwdA5qBsj1EhzMMbOffPjowDQRs=; b=GFe8EUjRcvEj6WLs5Hb3VoD5DiyADA1UA9avIG3q7IyYvOoZ8iq0gSdNNFo/eGdXF6 w9ErH7gzEsiZoFT0kqcZTPFhFft19IWBGLGYcQhpKel7iS6eNJBwc5Hyg1oOkdqY2lrY LQOMcAnLI6s57AUq1ZSSX2FkIy1KlFF84BsWjaeLxYMGCUXe2+mxuv0dK6Ii5iEiyxuA sn9/izJiwf3PInrDcNOxjz2mOvrmQOYM98W2upkQV8c02jgO+brcZ/1ELraAwBYLf5+D qUJ1I5Qh1w3+8pP33FIHjA1FLucnrLUD9iT4wBZXptuNgSUdfl5zydGxAdPexH714q1P bx4w== X-Gm-Message-State: ANoB5pko/2XD6GiGVPU441F7e2uGkC/TRhTgpsfisgRcGam0b6hY0o1A xyMps0gIFO0Ixai2BxnsLHzPvkz2LCiBdw== X-Google-Smtp-Source: AA0mqf6aHaSsiNkbmVuNaPTQp/Kf7tK484wof0MvEBFvmmb1IzIP3/J05CUJDXS7qLTQy0RI74zEWg== X-Received: by 2002:a17:906:b84e:b0:7bc:85aa:4e49 with SMTP id ga14-20020a170906b84e00b007bc85aa4e49mr10751540ejb.554.1669562757429; Sun, 27 Nov 2022 07:25:57 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:57 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 17/41] net: fec_mxc: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:12 -0500 Message-Id: <20221127152536.1556469-17-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/fec_mxc.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/fec_mxc.h b/drivers/net/fec_mxc.h index 48faa33d66ec..77bfc1cbf450 100644 --- a/drivers/net/fec_mxc.h +++ b/drivers/net/fec_mxc.h @@ -263,9 +263,7 @@ struct fec_priv { uint32_t reset_delay; uint32_t reset_post_delay; #endif -#ifdef CONFIG_DM_ETH u32 interface; -#endif struct clk ipg_clk; struct clk ahb_clk; struct clk clk_enet_out; From patchwork Sun Nov 27 15:25:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709395 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=p1F6nqTt; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsvR4hcFz23mg for ; Mon, 28 Nov 2022 02:28:51 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 93EBD8519C; Sun, 27 Nov 2022 16:26:28 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="p1F6nqTt"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 17E4A84F66; Sun, 27 Nov 2022 16:26:01 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EBC6E84508 for ; Sun, 27 Nov 2022 16:25:58 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62f.google.com with SMTP id td2so6242879ejc.5 for ; Sun, 27 Nov 2022 07:25:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=SBATV7+1Cf9wozpllbRzvRHhutuuGPY0MSofwIsaAZs=; b=p1F6nqTtjzmOwD29nEHmic0Pjy6jfAEkkE0gv89lJX1op1FO0cc0oUZ3lpfSwzsaRh 17M4Fm7x2EinH1tBwXQ80c5P1z1jVftbM4xrmhcRMMNiLxb69tLBbmo7JyP8i8PJB2bX +cfTxeCdqiKcWTPbUn7RWvQohZIqEYQkBU7XQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SBATV7+1Cf9wozpllbRzvRHhutuuGPY0MSofwIsaAZs=; b=Yz6KtTze1GXGT87EKsHC2QVUUfbItEx1B5Yx/JnEHrHOCDfV25n2lfXpq8XN7uz7Tk one/iXeJDgFEo/ZQYW7MfELxE2N3hM3RUfPmSRAAU2eOw6RYA8v02dgLuGM1ApMmfqIG Q37s104m7YiO5Z9eAdzyWqL3abjzt4TLrnkZKCGCb/hL7OYUyGlkZjTFu35sfaOrxuJf x/axTQ2hG+MGo59AsIMwqUK03EfpVFEwX23usPGvq0rvRddlL0V0ltIpXD7DrW2kx4dY jAfMoX9XJs60WJXX6sHgSIQOfEHS9mMUwXjLLUWX6mP3OMMxijvWIWgzxksidzE0qbGo 6UZg== X-Gm-Message-State: ANoB5pkgudVnLwxxuJwAcvy2ZhZ6DZ4ltuEbeTRR2t/AoGkF1RPg3YmN M+J1Hl5ZHwxbwFMRFtRDRnVPv73GtbE6NQ== X-Google-Smtp-Source: AA0mqf4YFx8o0e8iaMRczvLOuor9/8vj9db+xmTNQBKnvM+aldjbHjvsurPWqBmDvHXDCpZhfsfk8Q== X-Received: by 2002:a17:906:9e20:b0:7af:206:9327 with SMTP id fp32-20020a1709069e2000b007af02069327mr40345826ejc.154.1669562758463; Sun, 27 Nov 2022 07:25:58 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:58 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 18/41] net: fsl-mc: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:13 -0500 Message-Id: <20221127152536.1556469-18-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/fsl-mc/mc.c | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c index 69da465eaabc..6b36860187ca 100644 --- a/drivers/net/fsl-mc/mc.c +++ b/drivers/net/fsl-mc/mc.c @@ -165,21 +165,12 @@ enum mc_fixup_type { }; static int mc_fixup_mac_addr(void *blob, int nodeoffset, -#ifdef CONFIG_DM_ETH const char *propname, struct udevice *eth_dev, -#else - const char *propname, struct eth_device *eth_dev, -#endif enum mc_fixup_type type) { -#ifdef CONFIG_DM_ETH struct eth_pdata *plat = dev_get_plat(eth_dev); unsigned char *enetaddr = plat->enetaddr; int eth_index = dev_seq(eth_dev); -#else - unsigned char *enetaddr = eth_dev->enetaddr; - int eth_index = eth_dev->index; -#endif int err = 0, len = 0, size, i; unsigned char env_enetaddr[ARP_HLEN]; unsigned int enetaddr_32[ARP_HLEN]; @@ -252,11 +243,7 @@ const char *dpl_get_connection_endpoint(void *blob, char *endpoint) } static int mc_fixup_dpl_mac_addr(void *blob, int dpmac_id, -#ifdef CONFIG_DM_ETH struct udevice *eth_dev) -#else - struct eth_device *eth_dev) -#endif { int objoff = fdt_path_offset(blob, "/objects"); int dpmacoff = -1, dpnioff = -1; @@ -355,11 +342,7 @@ void fdt_fsl_mc_fixup_iommu_map_entry(void *blob) } static int mc_fixup_dpc_mac_addr(void *blob, int dpmac_id, -#ifdef CONFIG_DM_ETH struct udevice *eth_dev) -#else - struct eth_device *eth_dev) -#endif { int nodeoffset = fdt_path_offset(blob, "/board_info/ports"), noff; int err = 0; @@ -402,12 +385,8 @@ static int mc_fixup_dpc_mac_addr(void *blob, int dpmac_id, static int mc_fixup_mac_addrs(void *blob, enum mc_fixup_type type) { int i, err = 0, ret = 0; -#ifdef CONFIG_DM_ETH #define ETH_NAME_LEN 20 struct udevice *eth_dev; -#else - struct eth_device *eth_dev; -#endif char ethname[ETH_NAME_LEN]; for (i = WRIOP1_DPMAC1; i < NUM_WRIOP_PORTS; i++) { From patchwork Sun Nov 27 15:25:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709397 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=JIqV09jF; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsvr6Z6Pz23mg for ; Mon, 28 Nov 2022 02:29:12 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6D51F851B8; Sun, 27 Nov 2022 16:26:33 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="JIqV09jF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3046C84F68; Sun, 27 Nov 2022 16:26:03 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com [IPv6:2a00:1450:4864:20::632]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4D6C784F27 for ; Sun, 27 Nov 2022 16:26:00 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x632.google.com with SMTP id ha10so20390221ejb.3 for ; Sun, 27 Nov 2022 07:26:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=18ub1Fc2hpdYwbILiDGmXSm/CS+KDDb1sVSgoNDQqmU=; b=JIqV09jFZgAZtSo+XyrPSnajPxLOyt8SCgOjtQs404Z7vtvTUwb4ZvTaFkIUw85bAj FAyEAyQsv/a8nnqX+SZBalFXVNGKw+VaOb7bWShANpWZLUM7FWE7PkyIughbGDRvDZ1C 2CevOMZ9rcURTpJ7lx++J2FHKtqwl7oVCm9a4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=18ub1Fc2hpdYwbILiDGmXSm/CS+KDDb1sVSgoNDQqmU=; b=wmB0VEQ1nBgi12Cji72J68qUQ6u7B1LI9tJUfVC96TCz75fX2K2e5K61DpUdWb6zT7 pzRr90N6ZwXwOxouyTk1jiiQEb4r8vxJuAkEZalTQySrBC02DYhWdUzJDqbhhDgxfinq CUDfNddRcUDoJUA+QXGki054qMz4bhVvCutNioFLjPAgcAldFnBIzgYtXpp6QK8xL7Bo DhbpQHb4egpoZAHIFE5j1GJ64V4EPw+DzpMRUtalxf2YZJ0VXSnIL/vx2pHkw0z4yK7H dZ3Y43DatzLftkpxho+rdd1S9z1zXD0Zpy0tHblDiKPy27AMm6IPwy09apmF931Ytd4x mOCg== X-Gm-Message-State: ANoB5pll6ZEINDEmwdQ4NcdHwm/sNSfrGXqkccglO4DkZRVgZuogsYjB pOPLVRzF3VkTTsNBzGj6DEqtj+rngM9+tQ== X-Google-Smtp-Source: AA0mqf5JOeb8E+ggRj4nUxu+SAuasLPi4Qx0mJHIFiOJRWwxFEWmLXViKeYzc2ICOILdkksJIkuT1A== X-Received: by 2002:a17:906:70ca:b0:7ae:fbe8:a73f with SMTP id g10-20020a17090670ca00b007aefbe8a73fmr40117282ejk.479.1669562759525; Sun, 27 Nov 2022 07:25:59 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:25:59 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 19/41] net: ldpaa_eth: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:14 -0500 Message-Id: <20221127152536.1556469-19-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/ldpaa_eth/ldpaa_eth.c | 198 +----------------------------- drivers/net/ldpaa_eth/ldpaa_eth.h | 4 - 2 files changed, 2 insertions(+), 200 deletions(-) diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.c b/drivers/net/ldpaa_eth/ldpaa_eth.c index b6f589eb91a5..24850777949a 100644 --- a/drivers/net/ldpaa_eth/ldpaa_eth.c +++ b/drivers/net/ldpaa_eth/ldpaa_eth.c @@ -24,7 +24,6 @@ #include "ldpaa_eth.h" #ifdef CONFIG_PHYLIB -#ifdef CONFIG_DM_ETH static void init_phy(struct udevice *dev) { struct ldpaa_eth_priv *priv = dev_get_priv(dev); @@ -36,51 +35,6 @@ static void init_phy(struct udevice *dev) phy_config(priv->phy); } -#else -static int init_phy(struct eth_device *dev) -{ - struct ldpaa_eth_priv *priv = (struct ldpaa_eth_priv *)dev->priv; - struct phy_device *phydev = NULL; - struct mii_dev *bus; - int phy_addr, phy_num; - int ret = 0; - - bus = wriop_get_mdio(priv->dpmac_id); - if (bus == NULL) - return 0; - - for (phy_num = 0; phy_num < WRIOP_MAX_PHY_NUM; phy_num++) { - phy_addr = wriop_get_phy_address(priv->dpmac_id, phy_num); - if (phy_addr < 0) - continue; - - phydev = phy_connect(bus, phy_addr, dev, - wriop_get_enet_if(priv->dpmac_id)); - if (!phydev) { - printf("Failed to connect\n"); - ret = -ENODEV; - break; - } - wriop_set_phy_dev(priv->dpmac_id, phy_num, phydev); - ret = phy_config(phydev); - if (ret) - break; - } - - if (ret) { - for (phy_num = 0; phy_num < WRIOP_MAX_PHY_NUM; phy_num++) { - phydev = wriop_get_phy_dev(priv->dpmac_id, phy_num); - if (!phydev) - continue; - - free(phydev); - wriop_set_phy_dev(priv->dpmac_id, phy_num, NULL); - } - } - - return ret; -} -#endif #endif #ifdef DEBUG @@ -147,15 +101,9 @@ static void ldpaa_eth_get_dpni_counter(void) } } -#ifdef CONFIG_DM_ETH static void ldpaa_eth_get_dpmac_counter(struct udevice *dev) { struct ldpaa_eth_priv *priv = dev_get_priv(dev); -#else -static void ldpaa_eth_get_dpmac_counter(struct eth_device *net_dev) -{ - struct ldpaa_eth_priv *priv = (struct ldpaa_eth_priv *)net_dev->priv; -#endif int err = 0; u64 value; @@ -288,16 +236,10 @@ error: return; } -#ifdef CONFIG_DM_ETH static int ldpaa_eth_pull_dequeue_rx(struct udevice *dev, int flags, uchar **packetp) { struct ldpaa_eth_priv *priv = dev_get_priv(dev); -#else -static int ldpaa_eth_pull_dequeue_rx(struct eth_device *dev) -{ - struct ldpaa_eth_priv *priv = (struct ldpaa_eth_priv *)dev->priv; -#endif const struct ldpaa_dq *dq; const struct dpaa_fd *fd; int i = 5, err = 0, status; @@ -354,15 +296,9 @@ static int ldpaa_eth_pull_dequeue_rx(struct eth_device *dev) return err; } -#ifdef CONFIG_DM_ETH static int ldpaa_eth_tx(struct udevice *dev, void *buf, int len) { struct ldpaa_eth_priv *priv = dev_get_priv(dev); -#else -static int ldpaa_eth_tx(struct eth_device *net_dev, void *buf, int len) -{ - struct ldpaa_eth_priv *priv = (struct ldpaa_eth_priv *)net_dev->priv; -#endif struct dpaa_fd fd; u64 buffer_start; int data_offset, err; @@ -438,27 +374,6 @@ error: return err; } -static struct phy_device *ldpaa_get_phydev(struct ldpaa_eth_priv *priv) -{ -#ifdef CONFIG_DM_ETH - return priv->phy; -#else -#ifdef CONFIG_PHYLIB - struct phy_device *phydev = NULL; - int phy_num; - - /* start the phy devices one by one and update the dpmac state */ - for (phy_num = 0; phy_num < WRIOP_MAX_PHY_NUM; phy_num++) { - phydev = wriop_get_phy_dev(priv->dpmac_id, phy_num); - if (phydev) - return phydev; - } - return NULL; -#endif - return NULL; -#endif -} - static int ldpaa_get_dpmac_state(struct ldpaa_eth_priv *priv, struct dpmac_link_state *state) { @@ -479,7 +394,7 @@ static int ldpaa_get_dpmac_state(struct ldpaa_eth_priv *priv, state->up = 1; state->options |= DPMAC_LINK_OPT_AUTONEG; - phydev = ldpaa_get_phydev(priv); + phydev = priv->phy; if (phydev) { err = phy_startup(phydev); @@ -509,16 +424,10 @@ static int ldpaa_get_dpmac_state(struct ldpaa_eth_priv *priv, return 0; } -#ifdef CONFIG_DM_ETH static int ldpaa_eth_open(struct udevice *dev) { struct eth_pdata *plat = dev_get_plat(dev); struct ldpaa_eth_priv *priv = dev_get_priv(dev); -#else -static int ldpaa_eth_open(struct eth_device *net_dev, struct bd_info *bd) -{ - struct ldpaa_eth_priv *priv = (struct ldpaa_eth_priv *)net_dev->priv; -#endif struct dpmac_link_state dpmac_link_state = { 0 }; #ifdef DEBUG struct dpni_link_state link_state; @@ -526,13 +435,8 @@ static int ldpaa_eth_open(struct eth_device *net_dev, struct bd_info *bd) int err = 0; struct dpni_queue d_queue; -#ifdef CONFIG_DM_ETH if (eth_is_active(dev)) return 0; -#else - if (net_dev->state == ETH_STATE_ACTIVE) - return 0; -#endif if (get_mc_boot_status() != 0) { printf("ERROR (MC is not booted)\n"); @@ -572,13 +476,8 @@ static int ldpaa_eth_open(struct eth_device *net_dev, struct bd_info *bd) if (err) goto err_dpni_bind; -#ifdef CONFIG_DM_ETH err = dpni_add_mac_addr(dflt_mc_io, MC_CMD_NO_FLAGS, dflt_dpni->dpni_handle, plat->enetaddr); -#else - err = dpni_add_mac_addr(dflt_mc_io, MC_CMD_NO_FLAGS, - dflt_dpni->dpni_handle, net_dev->enetaddr); -#endif if (err) { printf("dpni_add_mac_addr() failed\n"); return err; @@ -651,34 +550,18 @@ err_dpmac_setup: return err; } -#ifdef CONFIG_DM_ETH static void ldpaa_eth_stop(struct udevice *dev) { struct ldpaa_eth_priv *priv = dev_get_priv(dev); -#else -static void ldpaa_eth_stop(struct eth_device *net_dev) -{ - struct ldpaa_eth_priv *priv = (struct ldpaa_eth_priv *)net_dev->priv; -#endif struct phy_device *phydev = NULL; int err = 0; -#ifdef CONFIG_DM_ETH if (!eth_is_active(dev)) return; -#else - if ((net_dev->state == ETH_STATE_PASSIVE) || - (net_dev->state == ETH_STATE_INIT)) - return; -#endif #ifdef DEBUG ldpaa_eth_get_dpni_counter(); -#ifdef CONFIG_DM_ETH ldpaa_eth_get_dpmac_counter(dev); -#else - ldpaa_eth_get_dpmac_counter(net_dev); -#endif #endif err = dprc_disconnect(dflt_mc_io, MC_CMD_NO_FLAGS, @@ -702,7 +585,7 @@ static void ldpaa_eth_stop(struct eth_device *net_dev) if (err < 0) printf("dpni_disable() failed\n"); - phydev = ldpaa_get_phydev(priv); + phydev = priv->phy; if (phydev) phy_shutdown(phydev); @@ -1097,7 +980,6 @@ static int ldpaa_dpni_bind(struct ldpaa_eth_priv *priv) return 0; } -#ifdef CONFIG_DM_ETH static int ldpaa_eth_probe(struct udevice *dev) { struct ofnode_phandle_args phandle; @@ -1177,79 +1059,3 @@ U_BOOT_DRIVER(ldpaa_eth) = { .priv_auto = sizeof(struct ldpaa_eth_priv), .plat_auto = sizeof(struct eth_pdata), }; - -#else - -static int ldpaa_eth_netdev_init(struct eth_device *net_dev, - phy_interface_t enet_if) -{ - int err; - struct ldpaa_eth_priv *priv = (struct ldpaa_eth_priv *)net_dev->priv; - - snprintf(net_dev->name, ETH_NAME_LEN, "DPMAC%d@%s", priv->dpmac_id, - phy_interface_strings[enet_if]); - - net_dev->iobase = 0; - net_dev->init = ldpaa_eth_open; - net_dev->halt = ldpaa_eth_stop; - net_dev->send = ldpaa_eth_tx; - net_dev->recv = ldpaa_eth_pull_dequeue_rx; - -#ifdef CONFIG_PHYLIB - err = init_phy(net_dev); - if (err < 0) - return err; -#endif - - err = eth_register(net_dev); - if (err < 0) { - printf("eth_register() = %d\n", err); - return err; - } - - return 0; -} - -int ldpaa_eth_init(int dpmac_id, phy_interface_t enet_if) -{ - struct eth_device *net_dev = NULL; - struct ldpaa_eth_priv *priv = NULL; - int err = 0; - - /* Net device */ - net_dev = (struct eth_device *)malloc(sizeof(struct eth_device)); - if (!net_dev) { - printf("eth_device malloc() failed\n"); - return -ENOMEM; - } - memset(net_dev, 0, sizeof(struct eth_device)); - - /* alloc the ldpaa ethernet private struct */ - priv = (struct ldpaa_eth_priv *)malloc(sizeof(struct ldpaa_eth_priv)); - if (!priv) { - printf("ldpaa_eth_priv malloc() failed\n"); - free(net_dev); - return -ENOMEM; - } - memset(priv, 0, sizeof(struct ldpaa_eth_priv)); - - net_dev->priv = (void *)priv; - priv->net_dev = (struct eth_device *)net_dev; - priv->dpmac_id = dpmac_id; - debug("%s dpmac_id=%d\n", __func__, dpmac_id); - - err = ldpaa_eth_netdev_init(net_dev, enet_if); - if (err) - goto err_netdev_init; - - debug("ldpaa ethernet: Probed interface %s\n", net_dev->name); - return 0; - -err_netdev_init: - free(priv); - net_dev->priv = NULL; - free(net_dev); - - return err; -} -#endif diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.h b/drivers/net/ldpaa_eth/ldpaa_eth.h index e90513e56f9a..16d0106233e0 100644 --- a/drivers/net/ldpaa_eth/ldpaa_eth.h +++ b/drivers/net/ldpaa_eth/ldpaa_eth.h @@ -116,13 +116,9 @@ struct ldpaa_fas { LDPAA_ETH_FAS_TIDE) struct ldpaa_eth_priv { -#ifdef CONFIG_DM_ETH struct phy_device *phy; int phy_mode; bool started; -#else - struct eth_device *net_dev; -#endif uint32_t dpmac_id; uint16_t dpmac_handle; From patchwork Sun Nov 27 15:25:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709399 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=QyDqOwhz; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKswH4gK7z23mg for ; Mon, 28 Nov 2022 02:29:35 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EF0D7851B2; Sun, 27 Nov 2022 16:26:36 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="QyDqOwhz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 82A0B8502B; Sun, 27 Nov 2022 16:26:05 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7EA7284D54 for ; Sun, 27 Nov 2022 16:26:01 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62c.google.com with SMTP id b2so4048059eja.7 for ; Sun, 27 Nov 2022 07:26:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=j1+uug8gk0WNbrvWbBnIzlpG+2tA9iFN1jKG8clEFV4=; b=QyDqOwhznzQEZWGik/FBu0XQTr7fWDGANuwhaxbPaxhokK7MNp6ff4L6QOtocYnhzk PtslfRcqpX9RRujabX9FizEYdVbejqKDZKBvonofR1Vsg7Nqk0JdIyI6rTZUoRviwqzd F3SRmIQdgssOaXY6mUNB7GLZMHZXDhPRogrJs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=j1+uug8gk0WNbrvWbBnIzlpG+2tA9iFN1jKG8clEFV4=; b=eyobCApSyqDTaBNzpBQiHhhMQp0x5P7PcFNvPDkD44CPxeZ93eFBbws6uIt6f4/a9F LPSceikundAMWh7u2nteDd2LDEI1JzFXgoF1gGllii6gZsB/XHfmFtzca/SEuKkt0rdE OHTWyHaLIFfRLX1OPps45qY+JeZuRu/TRj/uPJvnobE2Bp65eITMVv21LSxTeSkVlJRG QkmHVRNqtqJZGaEhRIomCS/F4gET7f3L3DvU27vJq/cUtTCBbjI+C86GWQeRgv4Ag9do NwC0rjZRnlXQUEwVsCJca4ZH2l5yjDccN64hkfF9xfbstG3i4DT+PeobDTaUlrt9QiJs g1QA== X-Gm-Message-State: ANoB5pkhdGO6FhiksOlePIVaM8cIfHyQZsl0wtxL/GHZtciYrjFHM9bh jcAYZCQMorihrLBHL6Ap/E6rC9MfOr78VQ== X-Google-Smtp-Source: AA0mqf5JMHJfIPFRSXqnUP+T2oKMkIH/eRDJHVC/HI4gi0TlWo12shdllYINQ/SryFMgbIMyguGHEQ== X-Received: by 2002:a17:906:2e96:b0:7ad:8f76:17c7 with SMTP id o22-20020a1709062e9600b007ad8f7617c7mr28696220eji.315.1669562760656; Sun, 27 Nov 2022 07:26:00 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.25.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:00 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 20/41] net: macb: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:15 -0500 Message-Id: <20221127152536.1556469-20-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/macb.c | 194 +-------------------------------------------- 1 file changed, 2 insertions(+), 192 deletions(-) diff --git a/drivers/net/macb.c b/drivers/net/macb.c index e02a57b4114c..57d7bb753ff8 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -33,9 +33,6 @@ */ #include -#ifndef CONFIG_DM_ETH -#include -#endif #include #include @@ -128,21 +125,16 @@ struct macb_device { unsigned long dummy_desc_dma; const struct device *dev; -#ifndef CONFIG_DM_ETH - struct eth_device netdev; -#endif unsigned short phy_addr; struct mii_dev *bus; #ifdef CONFIG_PHYLIB struct phy_device *phydev; #endif -#ifdef CONFIG_DM_ETH #ifdef CONFIG_CLK unsigned long pclk_rate; #endif phy_interface_t phy_interface; -#endif }; struct macb_usrio_cfg { @@ -161,10 +153,6 @@ struct macb_config { const struct macb_usrio_cfg *usrio; }; -#ifndef CONFIG_DM_ETH -#define to_macb(_nd) container_of(_nd, struct macb_device, netdev) -#endif - static int macb_is_gem(struct macb_device *macb) { return MACB_BFEXT(IDNUM, macb_readl(macb, MID)) >= 0x2; @@ -255,13 +243,8 @@ void __weak arch_get_mdio_control(const char *name) int macb_miiphy_read(struct mii_dev *bus, int phy_adr, int devad, int reg) { u16 value = 0; -#ifdef CONFIG_DM_ETH struct udevice *dev = eth_get_dev_by_name(bus->name); struct macb_device *macb = dev_get_priv(dev); -#else - struct eth_device *dev = eth_get_dev_by_name(bus->name); - struct macb_device *macb = to_macb(dev); -#endif arch_get_mdio_control(bus->name); value = macb_mdio_read(macb, phy_adr, reg); @@ -272,13 +255,8 @@ int macb_miiphy_read(struct mii_dev *bus, int phy_adr, int devad, int reg) int macb_miiphy_write(struct mii_dev *bus, int phy_adr, int devad, int reg, u16 value) { -#ifdef CONFIG_DM_ETH struct udevice *dev = eth_get_dev_by_name(bus->name); struct macb_device *macb = dev_get_priv(dev); -#else - struct eth_device *dev = eth_get_dev_by_name(bus->name); - struct macb_device *macb = to_macb(dev); -#endif arch_get_mdio_control(bus->name); macb_mdio_write(macb, phy_adr, reg, value); @@ -571,7 +549,6 @@ static int macb_phy_find(struct macb_device *macb, const char *name) * Returns 0 when operation success and negative errno number * when operation failed. */ -#ifdef CONFIG_DM_ETH static int macb_sifive_clk_init(struct udevice *dev, ulong rate) { void *gemgxl_regs; @@ -651,22 +628,10 @@ int __weak macb_linkspd_cb(struct udevice *dev, unsigned int speed) return 0; } -#else -int __weak macb_linkspd_cb(void *regs, unsigned int speed) -{ - return 0; -} -#endif -#ifdef CONFIG_DM_ETH static int macb_phy_init(struct udevice *dev, const char *name) -#else -static int macb_phy_init(struct macb_device *macb, const char *name) -#endif { -#ifdef CONFIG_DM_ETH struct macb_device *macb = dev_get_priv(dev); -#endif u32 ncfgr; u16 phy_id, status, adv, lpa; int media, speed, duplex; @@ -687,14 +652,8 @@ static int macb_phy_init(struct macb_device *macb, const char *name) } #ifdef CONFIG_PHYLIB -#ifdef CONFIG_DM_ETH macb->phydev = phy_connect(macb->bus, macb->phy_addr, dev, macb->phy_interface); -#else - /* need to consider other phy interface mode */ - macb->phydev = phy_connect(macb->bus, macb->phy_addr, &macb->netdev, - PHY_INTERFACE_MODE_RGMII); -#endif if (!macb->phydev) { printf("phy_connect failed\n"); return -ENODEV; @@ -751,11 +710,7 @@ static int macb_phy_init(struct macb_device *macb, const char *name) macb_writel(macb, NCFGR, ncfgr); -#ifdef CONFIG_DM_ETH ret = macb_linkspd_cb(dev, _1000BASET); -#else - ret = macb_linkspd_cb(macb->regs, _1000BASET); -#endif if (ret) return ret; @@ -780,17 +735,9 @@ static int macb_phy_init(struct macb_device *macb, const char *name) ncfgr &= ~(MACB_BIT(SPD) | MACB_BIT(FD) | GEM_BIT(GBE)); if (speed) { ncfgr |= MACB_BIT(SPD); -#ifdef CONFIG_DM_ETH ret = macb_linkspd_cb(dev, _100BASET); -#else - ret = macb_linkspd_cb(macb->regs, _100BASET); -#endif } else { -#ifdef CONFIG_DM_ETH ret = macb_linkspd_cb(dev, _10BASET); -#else - ret = macb_linkspd_cb(macb->regs, _10BASET); -#endif } if (ret) @@ -864,16 +811,10 @@ static void gmac_configure_dma(struct macb_device *macb) gem_writel(macb, DMACFG, dmacfg); } -#ifdef CONFIG_DM_ETH static int _macb_init(struct udevice *dev, const char *name) -#else -static int _macb_init(struct macb_device *macb, const char *name) -#endif { -#ifdef CONFIG_DM_ETH struct macb_device *macb = dev_get_priv(dev); unsigned int val = 0; -#endif unsigned long paddr; int ret; int i; @@ -942,7 +883,6 @@ static int _macb_init(struct macb_device *macb, const char *name) * When the GMAC IP without GE feature, this bit is used * to select interface between RMII and MII. */ -#ifdef CONFIG_DM_ETH if (macb->phy_interface == PHY_INTERFACE_MODE_RGMII || macb->phy_interface == PHY_INTERFACE_MODE_RGMII_ID || macb->phy_interface == PHY_INTERFACE_MODE_RGMII_RXID || @@ -964,16 +904,8 @@ static int _macb_init(struct macb_device *macb, const char *name) ncfgr |= GEM_BIT(SGMIIEN) | GEM_BIT(PCSSEL); macb_writel(macb, NCFGR, ncfgr); } -#else -#if defined(CONFIG_RGMII) || defined(CONFIG_RMII) - gem_writel(macb, USRIO, macb->config->usrio->rgmii); -#else - gem_writel(macb, USRIO, 0); -#endif -#endif } else { /* choose RMII or MII mode. This depends on the board */ -#ifdef CONFIG_DM_ETH #ifdef CONFIG_AT91FAMILY if (macb->phy_interface == PHY_INTERFACE_MODE_RMII) { macb_writel(macb, USRIO, @@ -987,30 +919,10 @@ static int _macb_init(struct macb_device *macb, const char *name) macb_writel(macb, USRIO, 0); else macb_writel(macb, USRIO, macb->config->usrio->mii); -#endif -#else -#ifdef CONFIG_RMII -#ifdef CONFIG_AT91FAMILY - macb_writel(macb, USRIO, macb->config->usrio->rmii | - macb->config->usrio->clken); -#else - macb_writel(macb, USRIO, 0); -#endif -#else -#ifdef CONFIG_AT91FAMILY - macb_writel(macb, USRIO, macb->config->usrio->clken); -#else - macb_writel(macb, USRIO, macb->config->usrio->mii); -#endif -#endif /* CONFIG_RMII */ #endif } -#ifdef CONFIG_DM_ETH ret = macb_phy_init(dev, name); -#else - ret = macb_phy_init(macb, name); -#endif if (ret) return ret; @@ -1054,7 +966,7 @@ static int _macb_write_hwaddr(struct macb_device *macb, unsigned char *enetaddr) static u32 macb_mdc_clk_div(int id, struct macb_device *macb) { u32 config; -#if defined(CONFIG_DM_ETH) && defined(CONFIG_CLK) +#if defined(CONFIG_CLK) unsigned long macb_hz = macb->pclk_rate; #else unsigned long macb_hz = get_macb_pclk_rate(id); @@ -1076,7 +988,7 @@ static u32 gem_mdc_clk_div(int id, struct macb_device *macb) { u32 config; -#if defined(CONFIG_DM_ETH) && defined(CONFIG_CLK) +#if defined(CONFIG_CLK) unsigned long macb_hz = macb->pclk_rate; #else unsigned long macb_hz = get_macb_pclk_rate(id); @@ -1155,106 +1067,6 @@ static void _macb_eth_initialize(struct macb_device *macb) macb_writel(macb, NCFGR, ncfgr); } -#ifndef CONFIG_DM_ETH -static int macb_send(struct eth_device *netdev, void *packet, int length) -{ - struct macb_device *macb = to_macb(netdev); - - return _macb_send(macb, netdev->name, packet, length); -} - -static int macb_recv(struct eth_device *netdev) -{ - struct macb_device *macb = to_macb(netdev); - uchar *packet; - int length; - - macb->wrapped = false; - for (;;) { - macb->next_rx_tail = macb->rx_tail; - length = _macb_recv(macb, &packet); - if (length >= 0) { - net_process_received_packet(packet, length); - reclaim_rx_buffers(macb, macb->next_rx_tail); - } else { - return length; - } - } -} - -static int macb_init(struct eth_device *netdev, struct bd_info *bd) -{ - struct macb_device *macb = to_macb(netdev); - - return _macb_init(macb, netdev->name); -} - -static void macb_halt(struct eth_device *netdev) -{ - struct macb_device *macb = to_macb(netdev); - - return _macb_halt(macb); -} - -static int macb_write_hwaddr(struct eth_device *netdev) -{ - struct macb_device *macb = to_macb(netdev); - - return _macb_write_hwaddr(macb, netdev->enetaddr); -} - -int macb_eth_initialize(int id, void *regs, unsigned int phy_addr) -{ - struct macb_device *macb; - struct eth_device *netdev; - - macb = malloc(sizeof(struct macb_device)); - if (!macb) { - printf("Error: Failed to allocate memory for MACB%d\n", id); - return -1; - } - memset(macb, 0, sizeof(struct macb_device)); - - netdev = &macb->netdev; - - macb->regs = regs; - macb->phy_addr = phy_addr; - - if (macb_is_gem(macb)) - sprintf(netdev->name, "gmac%d", id); - else - sprintf(netdev->name, "macb%d", id); - - netdev->init = macb_init; - netdev->halt = macb_halt; - netdev->send = macb_send; - netdev->recv = macb_recv; - netdev->write_hwaddr = macb_write_hwaddr; - - _macb_eth_initialize(macb); - - eth_register(netdev); - -#if defined(CONFIG_CMD_MII) || defined(CONFIG_PHYLIB) - int retval; - struct mii_dev *mdiodev = mdio_alloc(); - if (!mdiodev) - return -ENOMEM; - strlcpy(mdiodev->name, netdev->name, MDIO_NAME_LEN); - mdiodev->read = macb_miiphy_read; - mdiodev->write = macb_miiphy_write; - - retval = mdio_register(mdiodev); - if (retval < 0) - return retval; - macb->bus = miiphy_get_dev_by_name(netdev->name); -#endif - return 0; -} -#endif /* !CONFIG_DM_ETH */ - -#ifdef CONFIG_DM_ETH - static int macb_start(struct udevice *dev) { return _macb_init(dev, dev->name); @@ -1509,5 +1321,3 @@ U_BOOT_DRIVER(eth_macb) = { .plat_auto = sizeof(struct eth_pdata), }; #endif - -#endif From patchwork Sun Nov 27 15:25:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709398 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=EMcgOZU/; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsw42zcBz23mg for ; Mon, 28 Nov 2022 02:29:24 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0AEF7851BC; Sun, 27 Nov 2022 16:26:35 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="EMcgOZU/"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BABC884F03; Sun, 27 Nov 2022 16:26:05 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A685884508 for ; Sun, 27 Nov 2022 16:26:02 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52a.google.com with SMTP id e13so12386295edj.7 for ; Sun, 27 Nov 2022 07:26:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=3Kn/gSeRSogVQHdxdUNJn/gIkrhu3UUaxJuzjSOCw6E=; b=EMcgOZU/4eWZkIqq5crvZL5eg0mPJcPsGXcGK+aSIloEPy9Yum+HRM1zBPwq+dBBJu u8iib/Q8NPD0XPpqApuBIJWW4n6B/L85MF/8vJ3+BntYXmcfqYlevNrG2YJh21puNwFc oF5o1h02/X7RwR4bqWl78rNQoNOFndk10Mgn8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3Kn/gSeRSogVQHdxdUNJn/gIkrhu3UUaxJuzjSOCw6E=; b=vfkV6lHyOF7FA2pMItSN6e+TjgjdZyVheJVUBoCDjTnk7HIG+SY0UHhYGl0Hou8ycB /DBgJ1IPttJ3zisOKp2BekHrQui2dP9KcJFNxhwei7UkgQUSA12ir+foEz6HouI6GRCq Pi8GaFybAAUe1FcdJcZA4nofnEPBnT4smQpyuv+ykV1JBNMYYACqIFIA+41MxAqR+O7Z 8z18tKwcJtNc0iRXDCCWWAMRAc2DaZ53HSqXfhRo0WKW9i7gPZHb+0oa6QlL6AkfxVw2 amviEHJKD4HDo5bSCxNFBNQQ7vk4RnAS0ywTeuhvt/Mfv6uN1pAunWrEXv+kfO6KMSRA 86iQ== X-Gm-Message-State: ANoB5pkSGULiQrbxNA0744pbkdiKXKBVy4aKWljlqTOjfxm0LL8OJdqA ce2Fgr/P6cv+lEO+oeOKk2TcWkp5tdoKxQ== X-Google-Smtp-Source: AA0mqf55iebWw4WJZx0tYyMmvj5+d6F66hWn4WZnInd2R1Ju5Yli3CCsS+5jhIH+Xb6sMODb42xb9g== X-Received: by 2002:aa7:c557:0:b0:46b:1704:324a with SMTP id s23-20020aa7c557000000b0046b1704324amr2827949edr.184.1669562761815; Sun, 27 Nov 2022 07:26:01 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:01 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 21/41] net: mcfmii: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:16 -0500 Message-Id: <20221127152536.1556469-21-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/mcfmii.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/drivers/net/mcfmii.c b/drivers/net/mcfmii.c index e2c8f41876e7..48dd558405c5 100644 --- a/drivers/net/mcfmii.c +++ b/drivers/net/mcfmii.c @@ -85,11 +85,7 @@ void mii_reset(fec_info_t *info) /* send command to phy using mii, wait for result */ uint mii_send(uint mii_cmd) { -#ifdef CONFIG_DM_ETH struct udevice *dev; -#else - struct eth_device *dev; -#endif fec_info_t *info; volatile FEC_T *ep; uint mii_reply; @@ -97,11 +93,7 @@ uint mii_send(uint mii_cmd) /* retrieve from register structure */ dev = eth_get_dev(); -#ifdef CONFIG_DM_ETH info = dev_get_priv(dev); -#else - info = dev->priv; -#endif ep = (FEC_T *) info->miibase; @@ -202,11 +194,7 @@ int mii_discover_phy(fec_info_t *info) __weak void mii_init(void) { -#ifdef CONFIG_DM_ETH struct udevice *dev; -#else - struct eth_device *dev; -#endif fec_info_t *info; volatile FEC_T *fecp; int miispd = 0, i = 0; @@ -215,11 +203,7 @@ __weak void mii_init(void) /* retrieve from register structure */ dev = eth_get_dev(); -#ifdef CONFIG_DM_ETH info = dev_get_priv(dev); -#else - info = dev->priv; -#endif fecp = (FEC_T *) info->miibase; From patchwork Sun Nov 27 15:25:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709400 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=L3RpKYBh; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKswX68pTz23mg for ; Mon, 28 Nov 2022 02:29:48 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EB3DF8514A; Sun, 27 Nov 2022 16:26:38 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="L3RpKYBh"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B695B84F27; Sun, 27 Nov 2022 16:26:06 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6086284F27 for ; Sun, 27 Nov 2022 16:26:03 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62e.google.com with SMTP id n20so20435514ejh.0 for ; Sun, 27 Nov 2022 07:26:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=+Vvp5AGKe0B/0cUG8n6a8C01yUf/ys5YAY44ha2kDi0=; b=L3RpKYBhTabCkpTyGT8fDtxm1HZI5a/2Xla2NWTI6hPFG586TQXMT/keRPR4K6LREi 6Th35SW9sOWDUdu2vpZ1LnupTrDXcyvIXytZMmqrdVHLydXFg7aw6KcpfaVnGJByHc8X F5ceCPt3iZm3/SWcCYB5/sMBCaiHZwIafGjLA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+Vvp5AGKe0B/0cUG8n6a8C01yUf/ys5YAY44ha2kDi0=; b=xA6ulPtOmZLcE00aJwkhSD3pafSOmyIuyympdV6qwCiAOuCxdDzjzu48jjn2BmzQuy acpOpfhU8dFZS4KvrC9zunEtL6Jz5r6a/O8tJMXdRHkdcoD4B1FuWzKHL7twIxp/NLIj c+0d5QEGeBM2/yxfyReLyLf82+AL36dv1euICfEb9GUCd9R70L1/VY4ARVFQRvZWLqTH EWfDUhTpm6hSuQUB/ZOSrn7ViDfQYhmdkMfnzTaAiMZDQg3WBIEueXn845T7EJnfV1jP KCtAJldy8IzyPdyCmGrt8zzSHe/kWEugNuUA6YTozoMu4cIYm4dy6ySocZMLXYPnvnuj /2xw== X-Gm-Message-State: ANoB5pl8UCGnFceklhPQZ2rJrYunwWYVNMm0++orWHGrN5CVHmrLYIsH i3eaZZNOiTuNovccnnzN4OxWHUARYCj+dA== X-Google-Smtp-Source: AA0mqf498+OL/izdeGUjotOJY8W/aUHBuhlCXdZGAVzYxf5uwqN5TkDN05wRKjVwPPmPbR4gbQAytw== X-Received: by 2002:a17:906:2404:b0:7ad:d411:30af with SMTP id z4-20020a170906240400b007add41130afmr40131488eja.636.1669562762852; Sun, 27 Nov 2022 07:26:02 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:02 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 22/41] net: mvgbe: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:17 -0500 Message-Id: <20221127152536.1556469-22-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/mvgbe.c | 214 +------------------------------------------- drivers/net/mvgbe.h | 8 -- 2 files changed, 2 insertions(+), 220 deletions(-) diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c index a77c05743262..58363fce0570 100644 --- a/drivers/net/mvgbe.c +++ b/drivers/net/mvgbe.c @@ -132,12 +132,7 @@ static int __mvgbe_mdio_read(struct mvgbe_device *dmvgbe, int phy_adr, static int smi_reg_read(struct mii_dev *bus, int phy_adr, int devad, int reg_ofs) { -#ifdef CONFIG_DM_ETH struct mvgbe_device *dmvgbe = bus->priv; -#else - struct eth_device *dev = eth_get_dev_by_name(bus->name); - struct mvgbe_device *dmvgbe = to_mvgbe(dev); -#endif return __mvgbe_mdio_read(dmvgbe, phy_adr, devad, reg_ofs); } @@ -189,12 +184,7 @@ static int __mvgbe_mdio_write(struct mvgbe_device *dmvgbe, int phy_adr, static int smi_reg_write(struct mii_dev *bus, int phy_adr, int devad, int reg_ofs, u16 data) { -#ifdef CONFIG_DM_ETH struct mvgbe_device *dmvgbe = bus->priv; -#else - struct eth_device *dev = eth_get_dev_by_name(bus->name); - struct mvgbe_device *dmvgbe = to_mvgbe(dev); -#endif return __mvgbe_mdio_write(dmvgbe, phy_adr, devad, reg_ofs, data); } @@ -432,12 +422,6 @@ static int __mvgbe_init(struct mvgbe_device *dmvgbe, u8 *enetaddr, const char *name) { struct mvgbe_registers *regs = dmvgbe->regs; -#if (defined(CONFIG_MII) || defined(CONFIG_CMD_MII)) && \ - !defined(CONFIG_PHYLIB) && \ - !defined(CONFIG_DM_ETH) && \ - defined(CONFIG_SYS_FAULT_ECHO_LINK_DOWN) - int i; -#endif /* setup RX rings */ mvgbe_init_rx_desc_ring(dmvgbe); @@ -486,37 +470,9 @@ static int __mvgbe_init(struct mvgbe_device *dmvgbe, u8 *enetaddr, /* Enable port Rx. */ MVGBE_REG_WR(regs->rqc, (1 << RXUQ)); -#if (defined(CONFIG_MII) || defined(CONFIG_CMD_MII)) && \ - !defined(CONFIG_PHYLIB) && \ - !defined(CONFIG_DM_ETH) && \ - defined(CONFIG_SYS_FAULT_ECHO_LINK_DOWN) - /* Wait up to 5s for the link status */ - for (i = 0; i < 5; i++) { - u16 phyadr; - - miiphy_read(name, MV_PHY_ADR_REQUEST, - MV_PHY_ADR_REQUEST, &phyadr); - /* Return if we get link up */ - if (miiphy_link(name, phyadr)) - return 0; - udelay(1000000); - } - - printf("No link on %s\n", name); - return -1; -#endif return 0; } -#ifndef CONFIG_DM_ETH -static int mvgbe_init(struct eth_device *dev) -{ - struct mvgbe_device *dmvgbe = to_mvgbe(dev); - - return __mvgbe_init(dmvgbe, dmvgbe->dev.enetaddr, dmvgbe->dev.name); -} -#endif - static void __mvgbe_halt(struct mvgbe_device *dmvgbe) { struct mvgbe_registers *regs = dmvgbe->regs; @@ -542,18 +498,6 @@ static void __mvgbe_halt(struct mvgbe_device *dmvgbe) MVGBE_REG_WR(regs->peim, 0); } -#ifndef CONFIG_DM_ETH -static int mvgbe_halt(struct eth_device *dev) -{ - struct mvgbe_device *dmvgbe = to_mvgbe(dev); - - __mvgbe_halt(dmvgbe); - - return 0; -} -#endif - -#ifdef CONFIG_DM_ETH static int mvgbe_write_hwaddr(struct udevice *dev) { struct eth_pdata *pdata = dev_get_plat(dev); @@ -562,16 +506,6 @@ static int mvgbe_write_hwaddr(struct udevice *dev) return 0; } -#else -static int mvgbe_write_hwaddr(struct eth_device *dev) -{ - struct mvgbe_device *dmvgbe = to_mvgbe(dev); - - /* Programs net device MAC address after initialization */ - port_uc_addr_set(dmvgbe, dmvgbe->dev.enetaddr); - return 0; -} -#endif static int __mvgbe_send(struct mvgbe_device *dmvgbe, void *dataptr, int datasize) @@ -628,15 +562,6 @@ static int __mvgbe_send(struct mvgbe_device *dmvgbe, void *dataptr, return 0; } -#ifndef CONFIG_DM_ETH -static int mvgbe_send(struct eth_device *dev, void *dataptr, int datasize) -{ - struct mvgbe_device *dmvgbe = to_mvgbe(dev); - - return __mvgbe_send(dmvgbe, dataptr, datasize); -} -#endif - static int __mvgbe_recv(struct mvgbe_device *dmvgbe, uchar **packetp) { struct mvgbe_rxdesc *p_rxdesc_curr = dmvgbe->p_rxdesc_curr; @@ -710,35 +635,11 @@ static int __mvgbe_recv(struct mvgbe_device *dmvgbe, uchar **packetp) return rx_bytes; } -#ifndef CONFIG_DM_ETH -static int mvgbe_recv(struct eth_device *dev) -{ - struct mvgbe_device *dmvgbe = to_mvgbe(dev); - uchar *packet; - int ret; - - ret = __mvgbe_recv(dmvgbe, &packet); - if (ret < 0) - return ret; - - net_process_received_packet(packet, ret); - - return 0; -} -#endif - -#if defined(CONFIG_PHYLIB) || defined(CONFIG_DM_ETH) -#if defined(CONFIG_DM_ETH) +#if defined(CONFIG_PHYLIB) static struct phy_device *__mvgbe_phy_init(struct udevice *dev, struct mii_dev *bus, phy_interface_t phy_interface, int phyid) -#else -static struct phy_device *__mvgbe_phy_init(struct eth_device *dev, - struct mii_dev *bus, - phy_interface_t phy_interface, - int phyid) -#endif { struct phy_device *phydev; @@ -760,38 +661,7 @@ static struct phy_device *__mvgbe_phy_init(struct eth_device *dev, return phydev; } -#endif /* CONFIG_PHYLIB || CONFIG_DM_ETH */ - -#if defined(CONFIG_PHYLIB) && !defined(CONFIG_DM_ETH) -int mvgbe_phylib_init(struct eth_device *dev, int phyid) -{ - struct mii_dev *bus; - struct phy_device *phydev; - int ret; - - bus = mdio_alloc(); - if (!bus) { - printf("mdio_alloc failed\n"); - return -ENOMEM; - } - bus->read = smi_reg_read; - bus->write = smi_reg_write; - strcpy(bus->name, dev->name); - - ret = mdio_register(bus); - if (ret) { - printf("mdio_register failed\n"); - free(bus); - return -ENOMEM; - } - - phydev = __mvgbe_phy_init(dev, bus, PHY_INTERFACE_MODE_RGMII, phyid); - if (!phydev) - return -ENODEV; - - return 0; -} -#endif +#endif /* CONFIG_PHYLIB */ static int mvgbe_alloc_buffers(struct mvgbe_device *dmvgbe) { @@ -825,85 +695,6 @@ error1: return -ENOMEM; } -#ifndef CONFIG_DM_ETH -int mvgbe_initialize(struct bd_info *bis) -{ - struct mvgbe_device *dmvgbe; - struct eth_device *dev; - int devnum; - int ret; - u8 used_ports[MAX_MVGBE_DEVS] = CONFIG_MVGBE_PORTS; - - for (devnum = 0; devnum < MAX_MVGBE_DEVS; devnum++) { - /*skip if port is configured not to use */ - if (used_ports[devnum] == 0) - continue; - - dmvgbe = malloc(sizeof(struct mvgbe_device)); - if (!dmvgbe) - return -ENOMEM; - - memset(dmvgbe, 0, sizeof(struct mvgbe_device)); - ret = mvgbe_alloc_buffers(dmvgbe); - if (ret) { - printf("Err.. %s Failed to allocate memory\n", - __func__); - free(dmvgbe); - return ret; - } - - dev = &dmvgbe->dev; - - /* must be less than sizeof(dev->name) */ - sprintf(dev->name, "egiga%d", devnum); - - switch (devnum) { - case 0: - dmvgbe->regs = (void *)MVGBE0_BASE; - break; -#if defined(MVGBE1_BASE) - case 1: - dmvgbe->regs = (void *)MVGBE1_BASE; - break; -#endif - default: /* this should never happen */ - printf("Err..(%s) Invalid device number %d\n", - __func__, devnum); - return -1; - } - - dev->init = (void *)mvgbe_init; - dev->halt = (void *)mvgbe_halt; - dev->send = (void *)mvgbe_send; - dev->recv = (void *)mvgbe_recv; - dev->write_hwaddr = (void *)mvgbe_write_hwaddr; - - eth_register(dev); - -#if defined(CONFIG_PHYLIB) - mvgbe_phylib_init(dev, PHY_BASE_ADR + devnum); -#elif defined(CONFIG_MII) || defined(CONFIG_CMD_MII) - int retval; - struct mii_dev *mdiodev = mdio_alloc(); - if (!mdiodev) - return -ENOMEM; - strlcpy(mdiodev->name, dev->name, MDIO_NAME_LEN); - mdiodev->read = smi_reg_read; - mdiodev->write = smi_reg_write; - - retval = mdio_register(mdiodev); - if (retval < 0) - return retval; - /* Set phy address of the port */ - miiphy_write(dev->name, MV_PHY_ADR_REQUEST, - MV_PHY_ADR_REQUEST, PHY_BASE_ADR + devnum); -#endif - } - return 0; -} -#endif - -#ifdef CONFIG_DM_ETH static int mvgbe_port_is_fixed_link(struct mvgbe_device *dmvgbe) { return dmvgbe->phyaddr > PHY_MAX_ADDR; @@ -1046,4 +837,3 @@ U_BOOT_DRIVER(mvgbe) = { .priv_auto = sizeof(struct mvgbe_device), .plat_auto = sizeof(struct eth_pdata), }; -#endif /* CONFIG_DM_ETH */ diff --git a/drivers/net/mvgbe.h b/drivers/net/mvgbe.h index 44541c0a85e3..e3f5ac06399d 100644 --- a/drivers/net/mvgbe.h +++ b/drivers/net/mvgbe.h @@ -30,9 +30,6 @@ #define RXUQ 0 /* Used Rx queue */ #define TXUQ 0 /* Used Rx queue */ -#ifndef CONFIG_DM_ETH -#define to_mvgbe(_d) container_of(_d, struct mvgbe_device, dev) -#endif #define MVGBE_REG_WR(adr, val) writel(val, &adr) #define MVGBE_REG_RD(adr) readl(&adr) #define MVGBE_REG_BITS_RESET(adr, val) writel(readl(&adr) & ~(val), &adr) @@ -481,9 +478,6 @@ struct mvgbe_txdesc { /* port device data struct */ struct mvgbe_device { -#ifndef CONFIG_DM_ETH - struct eth_device dev; -#endif struct mvgbe_registers *regs; struct mvgbe_txdesc *p_txdesc; struct mvgbe_rxdesc *p_rxdesc; @@ -491,7 +485,6 @@ struct mvgbe_device { u8 *p_rxbuf; u8 *p_aligned_txbuf; -#ifdef CONFIG_DM_ETH phy_interface_t phy_interface; unsigned int link; unsigned int duplex; @@ -501,7 +494,6 @@ struct mvgbe_device { int phyaddr; struct phy_device *phydev; struct mii_dev *bus; -#endif }; #endif /* __MVGBE_H__ */ From patchwork Sun Nov 27 15:25:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709401 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=Ll97B+M9; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKswl2sxVz23mg for ; Mon, 28 Nov 2022 02:29:59 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9B61184F28; Sun, 27 Nov 2022 16:26:40 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="Ll97B+M9"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5012C84FD2; Sun, 27 Nov 2022 16:26:08 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 716A585006 for ; Sun, 27 Nov 2022 16:26:04 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62d.google.com with SMTP id gu23so2137528ejb.10 for ; Sun, 27 Nov 2022 07:26:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=yZrfKEbzS0R0GT69+c9XykOXvcuL4Uk7SC+aygSYrtc=; b=Ll97B+M9Ty8SJiG25hOS5z2QlnwwXbwbezA9ppbr08YQ/vMlShDpx1MT+IbRcmKIYV iZ3vC7z69CkK7V6Dtwjbx7vihoDVYPE7Nlu4U/3TlyPTKW7JoqQCjvLMvwO2/h27FQmm wu6mPKAsGqcz6CdLSUErxkxo5/0XVBKXJCSa0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yZrfKEbzS0R0GT69+c9XykOXvcuL4Uk7SC+aygSYrtc=; b=DHjMbRfjcgdtm5pJ9qxfJTVBMk9UpB6ZDJmynL9qRyI5PzytMqJSSQLj0L+o7EHkDh oLU62JKzNwFtt2RFXU6EhJ3tWwsd7lDFFHMWrkqY9bpNbaDLBNSH3dM/3ObRRzmvx/VN cKvlkNoM7tvWGRf95AnslyD/N87+3lCxKnxsXkqwvsEqoOO7vtZ2xmWUXSLk1QHTpFBa NCwchUh9As47cJZgRbPaeFB4FGn3SEPJS+/qaGbLhqUsRffhWH+YHIZziljLTroQ0uNq hmZDniIzSiY/bKBTXaCi/alfhlN+LW4gp6sF0x6LpDAy0UGK13wcloqEcL1fqyM2d5HS 7M6w== X-Gm-Message-State: ANoB5pmjBcgrz3ucP/FaVpDjFiXFxq9lpyA9O28fa/+apc54MRFpiDMX SbyajG2tKNrkY3DoAez1cWXjs9jHnVCeqg== X-Google-Smtp-Source: AA0mqf7cUxi/RrKGGBNpHTtHf1l78QROPKA0E1hc5OnBQZUkI7dCWoIlu4mfIF8vvygJRUHMXMhb8Q== X-Received: by 2002:a17:906:7215:b0:78d:a7f0:e232 with SMTP id m21-20020a170906721500b0078da7f0e232mr39810540ejk.9.1669562763966; Sun, 27 Nov 2022 07:26:03 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:03 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 23/41] net: netconsole: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:18 -0500 Message-Id: <20221127152536.1556469-23-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/netconsole.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index cec96c571504..1e52917ff2c3 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -172,11 +172,7 @@ int nc_input_packet(uchar *pkt, struct in_addr src_ip, unsigned dest_port, static void nc_send_packet(const char *buf, int len) { -#ifdef CONFIG_DM_ETH struct udevice *eth; -#else - struct eth_device *eth; -#endif int inited = 0; uchar *pkt; uchar *ether; @@ -298,11 +294,7 @@ static int nc_stdio_getc(struct stdio_dev *dev) static int nc_stdio_tstc(struct stdio_dev *dev) { -#ifdef CONFIG_DM_ETH struct udevice *eth; -#else - struct eth_device *eth; -#endif if (input_recursion) return 0; From patchwork Sun Nov 27 15:25:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709402 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=OxZunVwY; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKswy153kz23nT for ; Mon, 28 Nov 2022 02:30:10 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0AA6E851DF; Sun, 27 Nov 2022 16:26:43 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="OxZunVwY"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 80EAB85003; Sun, 27 Nov 2022 16:26:08 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8ED7B84D54 for ; Sun, 27 Nov 2022 16:26:05 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62c.google.com with SMTP id b2so4048301eja.7 for ; Sun, 27 Nov 2022 07:26:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=0MONeFEt77cp2y22eWt3hEShrnAc6WPgkl7ABk1o/RU=; b=OxZunVwYhYG+ShaY9OIl4B5ysypodJ2j0zLaJFtsosdfNYxp2CMvlQ+qcyDNQs/5Xb 51nycQP0hZONQEhlqMOzxr5GIpg58pfHIuHxASUmUniWJEd0yreesgt+0Ql+VEwYsBCm N0HbR3cjp1VHa0a7bqudvsmOAHXbhRgKIud+8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0MONeFEt77cp2y22eWt3hEShrnAc6WPgkl7ABk1o/RU=; b=R72WJStNMlgKc45HJV1uvD4I2b8v99Vz4wd2h+M3PNJTuSKgShUTYDH2lbUgF8A6zi pu3UZJdYnrMNM84V1Ea+NsjjoPIp+hortkPCKzv2u+MIDhjl8IeYztPlUtPd+SRntj+7 FJKGCaVum4IKsZUXEZbHotyWKQ+3aTzvkKfxDAi9gmQpN52NfUP4sn/dC+pnavwPAgej HgqRb5l1cn6dhYeTKeSaHPX2r9IlbSWZbFMez3uTnARZEYfR0UPT2dQRAzHgBZMwStT+ RypuVT/+bZl5zxUYVbXEtkae650gQL7hG9FcOoHe9mU74kNRC9HcF4k3qNkQERm6sHof nZ3w== X-Gm-Message-State: ANoB5plWWt3htKWaNGMizvVReC9A3cNs/MK9A6UJe2zpI37RFWNmGrdG 2V3E8+NH1ZgcEqsrvRPimo+3i22kboYkWQ== X-Google-Smtp-Source: AA0mqf59qSN+PTxaj6g7R8wmCpJlkYfX7cn/v0/lLNpy6W7f50xvICIvTR7JmYmcvWwLZEb7MVYIIQ== X-Received: by 2002:a17:906:3914:b0:7b2:7e90:53e4 with SMTP id f20-20020a170906391400b007b27e9053e4mr21839235eje.645.1669562765098; Sun, 27 Nov 2022 07:26:05 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:04 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 24/41] net: pcnet: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:19 -0500 Message-Id: <20221127152536.1556469-24-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/pcnet.c | 136 -------------------------------------------- 1 file changed, 136 deletions(-) diff --git a/drivers/net/pcnet.c b/drivers/net/pcnet.c index 59ef10433495..a1f3c2bd290c 100644 --- a/drivers/net/pcnet.c +++ b/drivers/net/pcnet.c @@ -83,13 +83,8 @@ struct pcnet_priv { /* Receive Buffer space */ unsigned char rx_buf[RX_RING_SIZE][PKT_BUF_SZ + 4]; struct pcnet_uncached_priv *uc; -#ifdef CONFIG_DM_ETH struct udevice *dev; const char *name; -#else - pci_dev_t dev; - char *name; -#endif void __iomem *iobase; u8 *enetaddr; u16 status; @@ -142,11 +137,7 @@ static inline pci_addr_t pcnet_virt_to_mem(struct pcnet_priv *lp, void *addr) { void *virt_addr = addr; -#ifdef CONFIG_DM_ETH return dm_pci_virt_to_mem(lp->dev, virt_addr); -#else - return pci_virt_to_mem(lp->dev, virt_addr); -#endif } static struct pci_device_id supported[] = { @@ -457,132 +448,6 @@ static void pcnet_halt_common(struct pcnet_priv *lp) printf("%s: TIMEOUT: controller reset failed\n", lp->name); } -#ifndef CONFIG_DM_ETH -static int pcnet_init(struct eth_device *dev, struct bd_info *bis) -{ - struct pcnet_priv *lp = dev->priv; - - return pcnet_init_common(lp); -} - -static int pcnet_send(struct eth_device *dev, void *packet, int pkt_len) -{ - struct pcnet_priv *lp = dev->priv; - - return pcnet_send_common(lp, packet, pkt_len); -} - -static int pcnet_recv(struct eth_device *dev) -{ - struct pcnet_priv *lp = dev->priv; - uchar *packet; - int ret; - - ret = pcnet_recv_common(lp, &packet); - if (ret > 0) - net_process_received_packet(packet, ret); - if (ret) - pcnet_free_pkt_common(lp, ret); - - return ret; -} - -static void pcnet_halt(struct eth_device *dev) -{ - struct pcnet_priv *lp = dev->priv; - - pcnet_halt_common(lp); -} - -int pcnet_initialize(struct bd_info *bis) -{ - pci_dev_t devbusfn; - struct eth_device *dev; - struct pcnet_priv *lp; - u16 command, status; - int dev_nr = 0; - u32 bar; - - PCNET_DEBUG1("\n%s...\n", __func__); - - for (dev_nr = 0; ; dev_nr++) { - /* - * Find the PCnet PCI device(s). - */ - devbusfn = pci_find_devices(supported, dev_nr); - if (devbusfn < 0) - break; - - /* - * Allocate and pre-fill the device structure. - */ - dev = calloc(1, sizeof(*dev)); - if (!dev) { - printf("pcnet: Can not allocate memory\n"); - break; - } - - /* - * We only maintain one structure because the drivers will - * never be used concurrently. In 32bit mode the RX and TX - * ring entries must be aligned on 16-byte boundaries. - */ - lp = malloc_cache_aligned(sizeof(*lp)); - lp->uc = map_physmem((phys_addr_t)&lp->ucp, - sizeof(lp->ucp), MAP_NOCACHE); - lp->dev = devbusfn; - flush_dcache_range((unsigned long)lp, - (unsigned long)lp + sizeof(*lp)); - dev->priv = lp; - sprintf(dev->name, "pcnet#%d", dev_nr); - lp->name = dev->name; - lp->enetaddr = dev->enetaddr; - - /* - * Setup the PCI device. - */ - pci_read_config_dword(devbusfn, PCI_BASE_ADDRESS_1, &bar); - lp->iobase = (void *)(pci_mem_to_phys(devbusfn, bar) & ~0xf); - - PCNET_DEBUG1("%s: devbusfn=0x%x iobase=0x%p: ", - lp->name, devbusfn, lp->iobase); - - command = PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER; - pci_write_config_word(devbusfn, PCI_COMMAND, command); - pci_read_config_word(devbusfn, PCI_COMMAND, &status); - if ((status & command) != command) { - printf("%s: Couldn't enable IO access or Bus Mastering\n", - lp->name); - free(dev); - continue; - } - - pci_write_config_byte(devbusfn, PCI_LATENCY_TIMER, 0x40); - - /* - * Probe the PCnet chip. - */ - if (pcnet_probe_common(lp) < 0) { - free(dev); - continue; - } - - /* - * Setup device structure and register the driver. - */ - dev->init = pcnet_init; - dev->halt = pcnet_halt; - dev->send = pcnet_send; - dev->recv = pcnet_recv; - - eth_register(dev); - } - - udelay(10 * 1000); - - return dev_nr; -} -#else /* DM_ETH */ static int pcnet_start(struct udevice *dev) { struct eth_pdata *plat = dev_get_plat(dev); @@ -695,4 +560,3 @@ U_BOOT_DRIVER(eth_pcnet) = { }; U_BOOT_PCI_DEVICE(eth_pcnet, supported); -#endif From patchwork Sun Nov 27 15:25:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709414 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=UCrazDr6; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKszS5RkVz23nJ for ; Mon, 28 Nov 2022 02:32:20 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CA5318526F; Sun, 27 Nov 2022 16:27:25 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="UCrazDr6"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E9B0D85073; Sun, 27 Nov 2022 16:26:09 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A82BD850C8 for ; Sun, 27 Nov 2022 16:26:06 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52d.google.com with SMTP id b8so12369499edf.11 for ; Sun, 27 Nov 2022 07:26:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=absfsNL5HilIwDgjgqLrx+bbmo3wR9mjzToktO94SfY=; b=UCrazDr6wMr/Ia87Ds8igw7z2z4yAfq5mskcuLtqj2gfgbnbLXdBGYI+wqLsFJRB4f z/4DcxxRoz/OEIsrHWqp1gpldLdw0jrjU8zMoQiutWu/F7Bs34qshvGxlOtuHYF3QlFy rPkOwiJZ3KI/teHFlDz3JgkHpP/NnlbOrxm4Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=absfsNL5HilIwDgjgqLrx+bbmo3wR9mjzToktO94SfY=; b=gqQUqhW9CPDT8QBgKhzd25fyJktEf/zXITU3ZxuqFcCxsyNDqF1yecQHU3hKZMY3Lw jdCy3xvjhjfEMdSyH2gmgp8Rb5UjK/oRn9mgrdZ94pbLH+ArZXW1KncfTV+tgciu1d38 ciClLqLpCoia+1xHZxa9LwwXAfjOrFqxggetQgkh/Oak5vaCXL1ffzauJpm/YybUL9tt 0TpozG1a+2ioZCTnnrQXLhbXn/BsQrMIonePC/jTRD8LXaVX889DhjWSMm59tppdHk9W /F9d50x1tclKrRoPbyHU49zgWJZbwYQBLGh45F20XwYetObFwv1r6XDp7iOrRL9XAXAZ M2HA== X-Gm-Message-State: ANoB5pl3ABY+eXo83ROskE5dS6LnB37EsRK50OsNH7KkxlkkUovvjZH0 XFTtm8o+MvEurNgycYyqUCcW2fI41HANtA== X-Google-Smtp-Source: AA0mqf7ZTOIJyq//a0/A+4G1t4aQFdTqhSa8IaqWW96ftC0WMn/zNUxUVBJq7sOUvXV4wRH7kSHw/A== X-Received: by 2002:aa7:d518:0:b0:46a:727f:b659 with SMTP id y24-20020aa7d518000000b0046a727fb659mr18475120edq.420.1669562766131; Sun, 27 Nov 2022 07:26:06 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:05 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 25/41] net: phy: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:20 -0500 Message-Id: <20221127152536.1556469-25-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/phy/aquantia.c | 2 -- drivers/net/phy/atheros.c | 2 -- drivers/net/phy/dp83867.c | 14 ----------- drivers/net/phy/dp83869.c | 14 ----------- drivers/net/phy/marvell.c | 7 ------ drivers/net/phy/micrel_ksz90x1.c | 18 -------------- drivers/net/phy/phy.c | 13 ---------- include/phy.h | 41 -------------------------------- 8 files changed, 111 deletions(-) diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c index 7e950fe0c2fe..db6becf929c6 100644 --- a/drivers/net/phy/aquantia.c +++ b/drivers/net/phy/aquantia.c @@ -338,7 +338,6 @@ static int aquantia_set_proto(struct phy_device *phydev, static int aquantia_dts_config(struct phy_device *phydev) { -#ifdef CONFIG_DM_ETH ofnode node = phydev->node; u32 prop; u16 reg; @@ -374,7 +373,6 @@ static int aquantia_dts_config(struct phy_device *phydev) (u16)(prop << 1)); } -#endif return 0; } diff --git a/drivers/net/phy/atheros.c b/drivers/net/phy/atheros.c index fa1fe08518f4..c6f9f916459b 100644 --- a/drivers/net/phy/atheros.c +++ b/drivers/net/phy/atheros.c @@ -191,7 +191,6 @@ static int ar803x_regs_config(struct phy_device *phydev) static int ar803x_of_init(struct phy_device *phydev) { -#if defined(CONFIG_DM_ETH) struct ar803x_priv *priv; ofnode node, vddio_reg_node; u32 strength, freq, min_uV, max_uV; @@ -306,7 +305,6 @@ static int ar803x_of_init(struct phy_device *phydev) debug("%s: flags=%x clk_25m_reg=%04x clk_25m_mask=%04x\n", __func__, priv->flags, priv->clk_25m_reg, priv->clk_25m_mask); -#endif return 0; } diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c index 3d862636b6b2..a45152bddc97 100644 --- a/drivers/net/phy/dp83867.c +++ b/drivers/net/phy/dp83867.c @@ -144,7 +144,6 @@ static int dp83867_config_port_mirroring(struct phy_device *phydev) return 0; } -#if defined(CONFIG_DM_ETH) /** * dp83867_data_init - Convenience function for setting PHY specific data * @@ -249,19 +248,6 @@ static int dp83867_of_init(struct phy_device *phydev) return 0; } -#else -static int dp83867_of_init(struct phy_device *phydev) -{ - struct dp83867_private *dp83867 = phydev->priv; - - dp83867->rx_id_delay = DP83867_RGMIIDCTL_2_25_NS; - dp83867->tx_id_delay = DP83867_RGMIIDCTL_2_75_NS; - dp83867->fifo_depth = DEFAULT_FIFO_DEPTH; - dp83867->io_impedance = -EINVAL; - - return 0; -} -#endif static int dp83867_config(struct phy_device *phydev) { diff --git a/drivers/net/phy/dp83869.c b/drivers/net/phy/dp83869.c index c9461185cfe8..23dbf42b68c6 100644 --- a/drivers/net/phy/dp83869.c +++ b/drivers/net/phy/dp83869.c @@ -157,7 +157,6 @@ static int dp83869_config_port_mirroring(struct phy_device *phydev) return 0; } -#ifdef CONFIG_DM_ETH static const int dp83869_internal_delay[] = {250, 500, 750, 1000, 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000, 3250, 3500, 3750, 4000}; @@ -269,19 +268,6 @@ static int dp83869_of_init(struct phy_device *phydev) return 0; } -#else -static int dp83869_of_init(struct phy_device *phydev) -{ - struct dp83869_private *dp83869 = phydev->priv; - - dp83869->rx_int_delay = DP83869_RGMIIDCTL_2_25_NS; - dp83869->tx_int_delay = DP83869_RGMIIDCTL_2_75_NS; - dp83869->fifo_depth = DEFAULT_FIFO_DEPTH; - dp83869->io_impedance = -EINVAL; - - return 0; -} -#endif /* CONFIG_OF_MDIO */ static int dp83869_configure_rgmii(struct phy_device *phydev, struct dp83869_private *dp83869) diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 212a861596f6..1a25775eee62 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -104,7 +104,6 @@ #define MIIM_88E151x_MODE_SGMII 1 #define MIIM_88E151x_RESET_OFFS 15 -#if IS_ENABLED(CONFIG_DM_ETH) static int marvell_read_page(struct phy_device *phydev) { return phy_read(phydev, MDIO_DEVAD_NONE, MII_MARVELL_PHY_PAGE); @@ -179,12 +178,6 @@ static int marvell_of_reg_init(struct phy_device *phydev) err: return marvell_write_page(phydev, saved_page); } -#else -static int marvell_of_reg_init(struct phy_device *phydev) -{ - return 0; -} -#endif /* CONFIG_DM_ETH */ static int m88e1xxx_phy_extread(struct phy_device *phydev, int addr, int devaddr, int regnum) diff --git a/drivers/net/phy/micrel_ksz90x1.c b/drivers/net/phy/micrel_ksz90x1.c index e5f578201f35..79ebdb5e82a0 100644 --- a/drivers/net/phy/micrel_ksz90x1.c +++ b/drivers/net/phy/micrel_ksz90x1.c @@ -68,7 +68,6 @@ static int ksz90xx_startup(struct phy_device *phydev) } /* Common OF config bits for KSZ9021 and KSZ9031 */ -#ifdef CONFIG_DM_ETH struct ksz90x1_reg_field { const char *name; const u8 size; /* Size of the bitfield, in bits */ @@ -211,23 +210,6 @@ static int ksz9031_center_flp_timing(struct phy_device *phydev) return ret; } -#else /* !CONFIG_DM_ETH */ -static int ksz9021_of_config(struct phy_device *phydev) -{ - return 0; -} - -static int ksz9031_of_config(struct phy_device *phydev) -{ - return 0; -} - -static int ksz9031_center_flp_timing(struct phy_device *phydev) -{ - return 0; -} -#endif - /* * KSZ9021 */ diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 90876630533e..f971dc97de61 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -686,9 +686,7 @@ struct phy_device *phy_device_create(struct mii_dev *bus, int addr, dev->link = 0; dev->interface = PHY_INTERFACE_MODE_NA; -#ifdef CONFIG_DM_ETH dev->node = ofnode_null(); -#endif dev->autoneg = AUTONEG_ENABLE; @@ -919,13 +917,8 @@ struct phy_device *phy_find_by_mask(struct mii_dev *bus, uint phy_mask) return get_phy_device_by_mask(bus, phy_mask); } -#ifdef CONFIG_DM_ETH void phy_connect_dev(struct phy_device *phydev, struct udevice *dev, phy_interface_t interface) -#else -void phy_connect_dev(struct phy_device *phydev, struct eth_device *dev, - phy_interface_t interface) -#endif { /* Soft Reset the PHY */ phy_reset(phydev); @@ -1008,15 +1001,9 @@ static struct phy_device *phy_connect_fixed(struct mii_dev *bus, } #endif -#ifdef CONFIG_DM_ETH struct phy_device *phy_connect(struct mii_dev *bus, int addr, struct udevice *dev, phy_interface_t interface) -#else -struct phy_device *phy_connect(struct mii_dev *bus, int addr, - struct eth_device *dev, - phy_interface_t interface) -#endif { struct phy_device *phydev = NULL; uint mask = (addr >= 0) ? (1 << addr) : 0xffffffff; diff --git a/include/phy.h b/include/phy.h index 0737c4e8f9ae..af74fe58a7fc 100644 --- a/include/phy.h +++ b/include/phy.h @@ -138,12 +138,8 @@ struct phy_device { struct phy_driver *drv; void *priv; -#ifdef CONFIG_DM_ETH struct udevice *dev; ofnode node; -#else - struct eth_device *dev; -#endif /* forced speed & duplex (no autoneg) * partner speed & duplex & pause (autoneg) @@ -233,8 +229,6 @@ static inline struct phy_device *fixed_phy_create(ofnode node) #endif -#ifdef CONFIG_DM_ETH - /** * phy_connect_dev() - Associates the given pair of PHY and Ethernet devices * @phydev: PHY device @@ -293,41 +287,6 @@ static inline ofnode phy_get_ofnode(struct phy_device *phydev) else return dev_ofnode(phydev->dev); } -#else - -/** - * phy_connect_dev() - Associates the given pair of PHY and Ethernet devices - * @phydev: PHY device - * @dev: Ethernet device - * @interface: type of MAC-PHY interface - */ -void phy_connect_dev(struct phy_device *phydev, struct eth_device *dev, - phy_interface_t interface); - -/** - * phy_connect() - Creates a PHY device for the Ethernet interface - * Creates a PHY device for the PHY at the given address, if one doesn't exist - * already, and associates it with the Ethernet device. - * The function may be called with addr <= 0, in this case addr value is ignored - * and the bus is scanned to detect a PHY. Scanning should only be used if only - * one PHY is expected to be present on the MDIO bus, otherwise it is undefined - * which PHY is returned. - * - * @bus: MII/MDIO bus that hosts the PHY - * @addr: PHY address on MDIO bus - * @dev: Ethernet device to associate to the PHY - * @interface: type of MAC-PHY interface - * @return: pointer to phy_device if a PHY is found, or NULL otherwise - */ -struct phy_device *phy_connect(struct mii_dev *bus, int addr, - struct eth_device *dev, - phy_interface_t interface); - -static inline ofnode phy_get_ofnode(struct phy_device *phydev) -{ - return ofnode_null(); -} -#endif int phy_read(struct phy_device *phydev, int devad, int regnum); int phy_write(struct phy_device *phydev, int devad, int regnum, u16 val); From patchwork Sun Nov 27 15:25:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709415 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=OQ1rMqf4; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKszg1FTFz23nJ for ; Mon, 28 Nov 2022 02:32:30 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0FE308529D; Sun, 27 Nov 2022 16:27:27 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="OQ1rMqf4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EFE03850C8; Sun, 27 Nov 2022 16:26:10 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A407E84F27 for ; Sun, 27 Nov 2022 16:26:07 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52b.google.com with SMTP id s5so12345421edc.12 for ; Sun, 27 Nov 2022 07:26:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=nSx8YrMsRGxmZAgNSsy3Wbql3lzVo6LAcUTCfQRW1TA=; b=OQ1rMqf4sr8f7L0ZT+PJEOIcJhV/YOsc77XUIX0VFipuoxw7vDSD0frlz332r0n3wM p87i1V6J/4xy61qMmUsP5d6SL46dNN7fNlygR87KKODxkLWPK79GoRkIGtAYHlpVBp9K unbwGGGV2CenLTtEUWtuzQEeA2u+CmRgAh9KY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nSx8YrMsRGxmZAgNSsy3Wbql3lzVo6LAcUTCfQRW1TA=; b=BAI0F2u5Aa1w+XtGFKD0gaJShAC9ptI15fR6/SNEz0E6JcifY1563UGuMD0dY1el8x 4OcfB9mhSXj/PJ3pK41qWq9GToLqX6gnGEyMbJp7tp+YAyDPtOMFM5nz/yigi2P7EI6W UqAc9T9b8pTvFNIbsABze+g8mdCdUu9fdjeuePQMaEItIenZuHiUd7k2uHyUhqw1LAcd 9mWBk+cFrFuM0hi29Husa057RFu89NlaKnp85gEsWQNBVvVvarWba3KnDS+Io1gYsEEk K//Sf9vExHBxgX8ET3gUl8a3In1YK2HGKEHUKX/V7YkDkx+9dQpBQT3bY6uQ/2+sh7hH OoXQ== X-Gm-Message-State: ANoB5pmslZCv6AtnwwcLV5iP6un7bvFlg8GBV4u5PEsHrS4Yq+D3Aae8 xOHhSxF3RtTLAWPoYDPCjXOGjvSoaBJOLQ== X-Google-Smtp-Source: AA0mqf7heD4HezgYR6ufzNzwVGZxEMnKQAs/hv0A+LceF/vOz1VSIRuO9iUt2kGndIN6PTPj/sImdg== X-Received: by 2002:a05:6402:10c4:b0:467:7827:232 with SMTP id p4-20020a05640210c400b0046778270232mr45484203edu.268.1669562767200; Sun, 27 Nov 2022 07:26:07 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:06 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 26/41] net: rtl8139: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:21 -0500 Message-Id: <20221127152536.1556469-26-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/rtl8139.c | 112 ------------------------------------------ 1 file changed, 112 deletions(-) diff --git a/drivers/net/rtl8139.c b/drivers/net/rtl8139.c index feeea930fbe8..106bc1c7ae79 100644 --- a/drivers/net/rtl8139.c +++ b/drivers/net/rtl8139.c @@ -97,13 +97,8 @@ #define DEBUG_TX 0 /* set to 1 to enable debug code */ #define DEBUG_RX 0 /* set to 1 to enable debug code */ -#ifdef CONFIG_DM_ETH #define bus_to_phys(devno, a) dm_pci_mem_to_phys((devno), (a)) #define phys_to_bus(devno, a) dm_pci_phys_to_mem((devno), (a)) -#else -#define bus_to_phys(devno, a) pci_mem_to_phys((pci_dev_t)(devno), (a)) -#define phys_to_bus(devno, a) pci_phys_to_mem((pci_dev_t)(devno), (a)) -#endif /* Symbolic offsets to registers. */ /* Ethernet hardware address. */ @@ -198,12 +193,7 @@ #define RTL_STS_RXSTATUSOK BIT(0) struct rtl8139_priv { -#ifndef CONFIG_DM_ETH - struct eth_device dev; - pci_dev_t devno; -#else struct udevice *devno; -#endif unsigned int rxstatus; unsigned int cur_rx; unsigned int cur_tx; @@ -557,107 +547,6 @@ static struct pci_device_id supported[] = { { } }; -#ifndef CONFIG_DM_ETH -static int rtl8139_bcast_addr(struct eth_device *dev, const u8 *bcast_mac, - int join) -{ - return 0; -} - -static int rtl8139_init(struct eth_device *dev, struct bd_info *bis) -{ - struct rtl8139_priv *priv = container_of(dev, struct rtl8139_priv, dev); - - return rtl8139_init_common(priv); -} - -static void rtl8139_stop(struct eth_device *dev) -{ - struct rtl8139_priv *priv = container_of(dev, struct rtl8139_priv, dev); - - return rtl8139_stop_common(priv); -} - -static int rtl8139_send(struct eth_device *dev, void *packet, int length) -{ - struct rtl8139_priv *priv = container_of(dev, struct rtl8139_priv, dev); - - return rtl8139_send_common(priv, packet, length); -} - -static int rtl8139_recv(struct eth_device *dev) -{ - struct rtl8139_priv *priv = container_of(dev, struct rtl8139_priv, dev); - unsigned char rxdata[RX_BUF_LEN]; - uchar *packet; - int ret; - - ret = rtl8139_recv_common(priv, rxdata, &packet); - if (ret) { - net_process_received_packet(packet, ret); - rtl8139_free_pkt_common(priv, ret); - } - - return ret; -} - -int rtl8139_initialize(struct bd_info *bis) -{ - struct rtl8139_priv *priv; - struct eth_device *dev; - int card_number = 0; - pci_dev_t devno; - int idx = 0; - u32 iobase; - - while (1) { - /* Find RTL8139 */ - devno = pci_find_devices(supported, idx++); - if (devno < 0) - break; - - pci_read_config_dword(devno, PCI_BASE_ADDRESS_1, &iobase); - iobase &= ~0xf; - - debug("rtl8139: REALTEK RTL8139 @0x%x\n", iobase); - - priv = calloc(1, sizeof(*priv)); - if (!priv) { - printf("Can not allocate memory of rtl8139\n"); - break; - } - - priv->devno = devno; - priv->ioaddr = (unsigned long)bus_to_phys(devno, iobase); - - dev = &priv->dev; - - rtl8139_name(dev->name, card_number); - - dev->iobase = priv->ioaddr; /* Non-DM compatibility */ - dev->init = rtl8139_init; - dev->halt = rtl8139_stop; - dev->send = rtl8139_send; - dev->recv = rtl8139_recv; - dev->mcast = rtl8139_bcast_addr; - - rtl8139_get_hwaddr(priv); - - /* Non-DM compatibility */ - memcpy(priv->dev.enetaddr, priv->enetaddr, 6); - - eth_register(dev); - - card_number++; - - pci_write_config_byte(devno, PCI_LATENCY_TIMER, 0x20); - - udelay(10 * 1000); - } - - return card_number; -} -#else /* DM_ETH */ static int rtl8139_start(struct udevice *dev) { struct eth_pdata *plat = dev_get_plat(dev); @@ -776,4 +665,3 @@ U_BOOT_DRIVER(eth_rtl8139) = { }; U_BOOT_PCI_DEVICE(eth_rtl8139, supported); -#endif From patchwork Sun Nov 27 15:25:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709416 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=mi3AT7fX; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKszs18zKz23nJ for ; Mon, 28 Nov 2022 02:32:41 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1E39C852A9; Sun, 27 Nov 2022 16:27:28 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="mi3AT7fX"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 351A784D54; Sun, 27 Nov 2022 16:26:12 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 28EFC84D54 for ; Sun, 27 Nov 2022 16:26:09 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62e.google.com with SMTP id ho10so20366543ejc.1 for ; Sun, 27 Nov 2022 07:26:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=i8FnOLDcTfYU/hGmnKPR4rGhZPEVOuZdsh0cZLLkHy8=; b=mi3AT7fXzk3m3t16BR4c3JzM3irKcfd4T4S4y25rn1IHpTrRDPy158velRf1C8RZiu tkFXuV49YJckeqTxBss+zJerVoZQvNqoag/XdsR4CRpEPQwOwtE9/2M7uG4DZo/374dR zP0JaRdnZ3Td2SN/H85b8OOcAfbGMXQEz8LnY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=i8FnOLDcTfYU/hGmnKPR4rGhZPEVOuZdsh0cZLLkHy8=; b=5EqGuu/9N3xZHnXsTXY6QJ1B056bHAVhuTafd7p2yFt08SIPiWRdUV6M4ztQiYR1M3 RReFThP+5mDRDXTcE6klZBQp45YqPSA+UJPEB+PnGiE4PX4JLV5jV/tfDtfvsojyn9lU 4j+F27F5a0HYP8w3XeGey5Urmg02CqlpfGXLI6aUSw/vIkqsJ6a8suo1wAyoDgju4Bel F08iQfJUeZ9Mjzc0k4wn0lfLBzIxi/JKamMa0MQ0R0ZrLu4+ne19N7OV3uOGeYHelSnY lLwRB3i6WWXFvOUofyV8DOtubLynUPGk4+1Ikot1T88dZpmEc6ZHe92L2sGFdUqBoSWl xkgg== X-Gm-Message-State: ANoB5pnDfdMxY8IUB98gwiriOOYP1i4gzoHW5iux+PXEnr6SItjZ3oas k2PhVSKP6/TgJr0dXBC1EYYp7bcudTGEpA== X-Google-Smtp-Source: AA0mqf6tAk9ZPoesimyqu+Qa6gvPWqQgh3rJO98Z/OKHslfOdE4dph7J4vqXosdHZaC2YUbauxA2FQ== X-Received: by 2002:a17:906:1695:b0:7aa:493b:679 with SMTP id s21-20020a170906169500b007aa493b0679mr24151092ejd.320.1669562768342; Sun, 27 Nov 2022 07:26:08 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:07 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 27/41] net: rtl8169: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:22 -0500 Message-Id: <20221127152536.1556469-27-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/rtl8169.c | 166 ------------------------------------------ 1 file changed, 166 deletions(-) diff --git a/drivers/net/rtl8169.c b/drivers/net/rtl8169.c index da2cfb7f550f..c9c07a5a8ffe 100644 --- a/drivers/net/rtl8169.c +++ b/drivers/net/rtl8169.c @@ -47,9 +47,6 @@ #include #include #include -#ifndef CONFIG_DM_ETH -#include -#endif #include #include #include @@ -514,13 +511,8 @@ static void rtl_flush_buffer(void *buf, size_t size) /************************************************************************** RECV - Receive a frame ***************************************************************************/ -#ifdef CONFIG_DM_ETH static int rtl_recv_common(struct udevice *dev, unsigned long dev_iobase, uchar **packetp) -#else -static int rtl_recv_common(pci_dev_t dev, unsigned long dev_iobase, - uchar **packetp) -#endif { /* return true if there's an ethernet packet ready to read */ /* nic->packet should contain data on return */ @@ -551,22 +543,12 @@ static int rtl_recv_common(pci_dev_t dev, unsigned long dev_iobase, else tpc->RxDescArray[cur_rx].status = cpu_to_le32(OWNbit + RX_BUF_SIZE); -#ifdef CONFIG_DM_ETH tpc->RxDescArray[cur_rx].buf_addr = cpu_to_le32( dm_pci_mem_to_phys(dev, (pci_addr_t)(unsigned long) tpc->RxBufferRing[cur_rx])); -#else - tpc->RxDescArray[cur_rx].buf_addr = cpu_to_le32( - pci_mem_to_phys(dev, (pci_addr_t)(unsigned long) - tpc->RxBufferRing[cur_rx])); -#endif rtl_flush_rx_desc(&tpc->RxDescArray[cur_rx]); -#ifdef CONFIG_DM_ETH *packetp = rxdata; -#else - net_process_received_packet(rxdata, length); -#endif } else { puts("Error Rx"); length = -EIO; @@ -584,32 +566,19 @@ static int rtl_recv_common(pci_dev_t dev, unsigned long dev_iobase, return (0); /* initially as this is called to flush the input */ } -#ifdef CONFIG_DM_ETH int rtl8169_eth_recv(struct udevice *dev, int flags, uchar **packetp) { struct rtl8169_private *priv = dev_get_priv(dev); return rtl_recv_common(dev, priv->iobase, packetp); } -#else -static int rtl_recv(struct eth_device *dev) -{ - return rtl_recv_common((pci_dev_t)(unsigned long)dev->priv, - dev->iobase, NULL); -} -#endif /* nCONFIG_DM_ETH */ #define HZ 1000 /************************************************************************** SEND - Transmit a frame ***************************************************************************/ -#ifdef CONFIG_DM_ETH static int rtl_send_common(struct udevice *dev, unsigned long dev_iobase, void *packet, int length) -#else -static int rtl_send_common(pci_dev_t dev, unsigned long dev_iobase, - void *packet, int length) -#endif { /* send the packet to destination */ @@ -637,13 +606,8 @@ static int rtl_send_common(pci_dev_t dev, unsigned long dev_iobase, rtl_flush_buffer(ptxb, ALIGN(len, RTL8169_ALIGN)); tpc->TxDescArray[entry].buf_Haddr = 0; -#ifdef CONFIG_DM_ETH tpc->TxDescArray[entry].buf_addr = cpu_to_le32( dm_pci_mem_to_phys(dev, (pci_addr_t)(unsigned long)ptxb)); -#else - tpc->TxDescArray[entry].buf_addr = cpu_to_le32( - pci_mem_to_phys(dev, (pci_addr_t)(unsigned long)ptxb)); -#endif if (entry != (NUM_TX_DESC - 1)) { tpc->TxDescArray[entry].status = cpu_to_le32((OWNbit | FSbit | LSbit) | @@ -680,7 +644,6 @@ static int rtl_send_common(pci_dev_t dev, unsigned long dev_iobase, return ret; } -#ifdef CONFIG_DM_ETH int rtl8169_eth_send(struct udevice *dev, void *packet, int length) { struct rtl8169_private *priv = dev_get_priv(dev); @@ -688,14 +651,6 @@ int rtl8169_eth_send(struct udevice *dev, void *packet, int length) return rtl_send_common(dev, priv->iobase, packet, length); } -#else -static int rtl_send(struct eth_device *dev, void *packet, int length) -{ - return rtl_send_common((pci_dev_t)(unsigned long)dev->priv, - dev->iobase, packet, length); -} -#endif - static void rtl8169_set_rx_mode(void) { u32 mc_filter[2]; /* Multicast hash filter */ @@ -719,11 +674,7 @@ static void rtl8169_set_rx_mode(void) RTL_W32(MAR0 + 4, mc_filter[1]); } -#ifdef CONFIG_DM_ETH static void rtl8169_hw_start(struct udevice *dev) -#else -static void rtl8169_hw_start(pci_dev_t dev) -#endif { u32 i; @@ -768,21 +719,11 @@ static void rtl8169_hw_start(pci_dev_t dev) tpc->cur_rx = 0; -#ifdef CONFIG_DM_ETH RTL_W32(TxDescStartAddrLow, dm_pci_mem_to_phys(dev, (pci_addr_t)(unsigned long)tpc->TxDescArray)); -#else - RTL_W32(TxDescStartAddrLow, pci_mem_to_phys(dev, - (pci_addr_t)(unsigned long)tpc->TxDescArray)); -#endif RTL_W32(TxDescStartAddrHigh, (unsigned long)0); -#ifdef CONFIG_DM_ETH RTL_W32(RxDescStartAddrLow, dm_pci_mem_to_phys( dev, (pci_addr_t)(unsigned long)tpc->RxDescArray)); -#else - RTL_W32(RxDescStartAddrLow, pci_mem_to_phys( - dev, (pci_addr_t)(unsigned long)tpc->RxDescArray)); -#endif RTL_W32(RxDescStartAddrHigh, (unsigned long)0); /* RTL-8169sc/8110sc or later version */ @@ -804,11 +745,7 @@ static void rtl8169_hw_start(pci_dev_t dev) #endif } -#ifdef CONFIG_DM_ETH static void rtl8169_init_ring(struct udevice *dev) -#else -static void rtl8169_init_ring(pci_dev_t dev) -#endif { int i; @@ -836,13 +773,8 @@ static void rtl8169_init_ring(pci_dev_t dev) cpu_to_le32(OWNbit + RX_BUF_SIZE); tpc->RxBufferRing[i] = &rxb[i * RX_BUF_SIZE]; -#ifdef CONFIG_DM_ETH tpc->RxDescArray[i].buf_addr = cpu_to_le32(dm_pci_mem_to_phys( dev, (pci_addr_t)(unsigned long)tpc->RxBufferRing[i])); -#else - tpc->RxDescArray[i].buf_addr = cpu_to_le32(pci_mem_to_phys( - dev, (pci_addr_t)(unsigned long)tpc->RxBufferRing[i])); -#endif rtl_flush_rx_desc(&tpc->RxDescArray[i]); } @@ -851,13 +783,8 @@ static void rtl8169_init_ring(pci_dev_t dev) #endif } -#ifdef CONFIG_DM_ETH static void rtl8169_common_start(struct udevice *dev, unsigned char *enetaddr, unsigned long dev_iobase) -#else -static void rtl8169_common_start(pci_dev_t dev, unsigned char *enetaddr, - unsigned long dev_iobase) -#endif { int i; @@ -887,7 +814,6 @@ static void rtl8169_common_start(pci_dev_t dev, unsigned char *enetaddr, #endif } -#ifdef CONFIG_DM_ETH static int rtl8169_eth_start(struct udevice *dev) { struct eth_pdata *plat = dev_get_plat(dev); @@ -897,18 +823,6 @@ static int rtl8169_eth_start(struct udevice *dev) return 0; } -#else -/************************************************************************** -RESET - Finish setting up the ethernet interface -***************************************************************************/ -static int rtl_reset(struct eth_device *dev, struct bd_info *bis) -{ - rtl8169_common_start((pci_dev_t)(unsigned long)dev->priv, - dev->enetaddr, dev->iobase); - - return 0; -} -#endif /* nCONFIG_DM_ETH */ static void rtl_halt_common(unsigned long dev_iobase) { @@ -933,24 +847,13 @@ static void rtl_halt_common(unsigned long dev_iobase) } } -#ifdef CONFIG_DM_ETH void rtl8169_eth_stop(struct udevice *dev) { struct rtl8169_private *priv = dev_get_priv(dev); rtl_halt_common(priv->iobase); } -#else -/************************************************************************** -HALT - Turn off ethernet interface -***************************************************************************/ -static void rtl_halt(struct eth_device *dev) -{ - rtl_halt_common(dev->iobase); -} -#endif -#ifdef CONFIG_DM_ETH static int rtl8169_write_hwaddr(struct udevice *dev) { struct eth_pdata *plat = dev_get_plat(dev); @@ -965,7 +868,6 @@ static int rtl8169_write_hwaddr(struct udevice *dev) return 0; } -#endif /************************************************************************** INIT - Look for an adapter, this routine's visible to the outside @@ -1118,73 +1020,6 @@ static int rtl_init(unsigned long dev_ioaddr, const char *name, return 0; } -#ifndef CONFIG_DM_ETH -int rtl8169_initialize(struct bd_info *bis) -{ - pci_dev_t devno; - int card_number = 0; - struct eth_device *dev; - u32 iobase; - int idx=0; - - while(1){ - unsigned int region; - u16 device; - int err; - - /* Find RTL8169 */ - if ((devno = pci_find_devices(supported, idx++)) < 0) - break; - - pci_read_config_word(devno, PCI_DEVICE_ID, &device); - switch (device) { - case 0x8168: - region = 2; - break; - - default: - region = 1; - break; - } - - pci_read_config_dword(devno, PCI_BASE_ADDRESS_0 + (region * 4), &iobase); - iobase &= ~0xf; - - debug ("rtl8169: REALTEK RTL8169 @0x%x\n", iobase); - - dev = (struct eth_device *)malloc(sizeof *dev); - if (!dev) { - printf("Can not allocate memory of rtl8169\n"); - break; - } - - memset(dev, 0, sizeof(*dev)); - sprintf (dev->name, "RTL8169#%d", card_number); - - dev->priv = (void *)(unsigned long)devno; - dev->iobase = (int)pci_mem_to_phys(devno, iobase); - - dev->init = rtl_reset; - dev->halt = rtl_halt; - dev->send = rtl_send; - dev->recv = rtl_recv; - - err = rtl_init(dev->iobase, dev->name, dev->enetaddr); - if (err < 0) { - printf(pr_fmt("failed to initialize card: %d\n"), err); - free(dev); - continue; - } - - eth_register (dev); - - card_number++; - } - return card_number; -} -#endif - -#ifdef CONFIG_DM_ETH static int rtl8169_eth_probe(struct udevice *dev) { struct pci_child_plat *pplat = dev_get_parent_plat(dev); @@ -1253,4 +1088,3 @@ U_BOOT_DRIVER(eth_rtl8169) = { }; U_BOOT_PCI_DEVICE(eth_rtl8169, supported); -#endif From patchwork Sun Nov 27 15:25:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709403 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=XP620Gf/; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsx855v8z23nJ for ; Mon, 28 Nov 2022 02:30:20 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 854DA84C47; Sun, 27 Nov 2022 16:27:10 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="XP620Gf/"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B59E984D54; Sun, 27 Nov 2022 16:26:12 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id DD75984F03 for ; Sun, 27 Nov 2022 16:26:09 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62c.google.com with SMTP id b2so4048528eja.7 for ; Sun, 27 Nov 2022 07:26:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=oWJ3L5ffTA2yxRf+cnMYCWS12Z9BpbEczOxgjAieLQU=; b=XP620Gf/KucHApBvRTAjsEP6pe6a79rKhQP+ltcjZ9rTIoZUAYoChxLshxgLjbZVpM CRybTNFZzEbgo/wuakhTWakKuemKOt0yMTghG93KkRPtQsHVcYYA1Ln6qKuoDyrDX1OV NjFw031wB3wT8E0e1LqUKpk4VcnGEgp5RYOfQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oWJ3L5ffTA2yxRf+cnMYCWS12Z9BpbEczOxgjAieLQU=; b=u9aHELhmA09RE9I4tOU6le10dAk9ttwckQTbzSm7LngMtIFSYhPN87He/qcCBZsALI 57piUtal/RG9WmJwyD1ziRppQpeePQcZe9rIpEjrLlDMXNtNmqtONIn/mjDqPLEKrKdv 89enX5nuZG21E/lByOgi98pLd+lC21/EAmHnX6W5GKV14yiRvv/nSQ/UR9diFCVufZeh 5UymrBuiL30rbOOdtBMwkxMxUL0g3MIJetgWIDnBoBprX+dg0AhaPEIKF23iNWEG7hMk JL/NiIg0uMGfLDQgYJe4RH/Br9DTEWTP0kNM0/mPxWr2Sb+BgCzN/yo88ixGC9lIBSHF PEtA== X-Gm-Message-State: ANoB5pmqa11PPFv/SRlBeY3b6qSIJMMmbs126x12yJtJs+GTTMWegCEV mBwaZR/aOXGYtGNaVqjz8+8tq+/RTax0Fg== X-Google-Smtp-Source: AA0mqf7STCoZmBmkj38V31mF1C08uD8ogzxxGx/lfcc61Z66a2OdnU14NCQqFhhY2rzGGV//+SX6Qw== X-Received: by 2002:a17:906:3a5b:b0:78d:f3f4:b1a0 with SMTP id a27-20020a1709063a5b00b0078df3f4b1a0mr40436300ejf.489.1669562769400; Sun, 27 Nov 2022 07:26:09 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:09 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 28/41] net: sh_eth: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:23 -0500 Message-Id: <20221127152536.1556469-28-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/sh_eth.c | 160 ------------------------------------------- 1 file changed, 160 deletions(-) diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c index 1de3ff8add2c..0c584a23b97e 100644 --- a/drivers/net/sh_eth.c +++ b/drivers/net/sh_eth.c @@ -23,12 +23,10 @@ #include #include -#ifdef CONFIG_DM_ETH #include #include #include #include -#endif #include "sh_eth.h" @@ -526,163 +524,6 @@ static int sh_eth_start_common(struct sh_eth_dev *eth) return 0; } -#ifndef CONFIG_DM_ETH -static int sh_eth_phy_config_legacy(struct sh_eth_dev *eth) -{ - int ret = 0; - struct sh_eth_info *port_info = ð->port_info[eth->port]; - struct eth_device *dev = port_info->dev; - struct phy_device *phydev; - - phydev = phy_connect( - miiphy_get_dev_by_name(dev->name), - port_info->phy_addr, dev, CONFIG_SH_ETHER_PHY_MODE); - port_info->phydev = phydev; - phy_config(phydev); - - return ret; -} - -static int sh_eth_send_legacy(struct eth_device *dev, void *packet, int len) -{ - struct sh_eth_dev *eth = dev->priv; - - return sh_eth_send_common(eth, packet, len); -} - -static int sh_eth_recv_common(struct sh_eth_dev *eth) -{ - int len = 0; - struct sh_eth_info *port_info = ð->port_info[eth->port]; - uchar *packet = (uchar *)ADDR_TO_P2(port_info->rx_desc_cur->rd2); - - len = sh_eth_recv_start(eth); - if (len > 0) { - invalidate_cache(packet, len); - net_process_received_packet(packet, len); - sh_eth_recv_finish(eth); - } else - len = 0; - - /* Restart the receiver if disabled */ - if (!(sh_eth_read(port_info, EDRRR) & EDRRR_R)) - sh_eth_write(port_info, EDRRR_R, EDRRR); - - return len; -} - -static int sh_eth_recv_legacy(struct eth_device *dev) -{ - struct sh_eth_dev *eth = dev->priv; - - return sh_eth_recv_common(eth); -} - -static int sh_eth_init_legacy(struct eth_device *dev, struct bd_info *bd) -{ - struct sh_eth_dev *eth = dev->priv; - int ret; - - ret = sh_eth_init_common(eth, dev->enetaddr); - if (ret) - return ret; - - ret = sh_eth_phy_config_legacy(eth); - if (ret) { - printf(SHETHER_NAME ": phy config timeout\n"); - goto err_start; - } - - ret = sh_eth_start_common(eth); - if (ret) - goto err_start; - - return 0; - -err_start: - sh_eth_tx_desc_free(eth); - sh_eth_rx_desc_free(eth); - return ret; -} - -void sh_eth_halt_legacy(struct eth_device *dev) -{ - struct sh_eth_dev *eth = dev->priv; - - sh_eth_stop(eth); -} - -int sh_eth_initialize(struct bd_info *bd) -{ - int ret = 0; - struct sh_eth_dev *eth = NULL; - struct eth_device *dev = NULL; - struct mii_dev *mdiodev; - - eth = (struct sh_eth_dev *)malloc(sizeof(struct sh_eth_dev)); - if (!eth) { - printf(SHETHER_NAME ": %s: malloc failed\n", __func__); - ret = -ENOMEM; - goto err; - } - - dev = (struct eth_device *)malloc(sizeof(struct eth_device)); - if (!dev) { - printf(SHETHER_NAME ": %s: malloc failed\n", __func__); - ret = -ENOMEM; - goto err; - } - memset(dev, 0, sizeof(struct eth_device)); - memset(eth, 0, sizeof(struct sh_eth_dev)); - - eth->port = CONFIG_SH_ETHER_USE_PORT; - eth->port_info[eth->port].phy_addr = CONFIG_SH_ETHER_PHY_ADDR; - eth->port_info[eth->port].iobase = - (void __iomem *)(BASE_IO_ADDR + 0x800 * eth->port); - - dev->priv = (void *)eth; - dev->iobase = 0; - dev->init = sh_eth_init_legacy; - dev->halt = sh_eth_halt_legacy; - dev->send = sh_eth_send_legacy; - dev->recv = sh_eth_recv_legacy; - eth->port_info[eth->port].dev = dev; - - strcpy(dev->name, SHETHER_NAME); - - /* Register Device to EtherNet subsystem */ - eth_register(dev); - - bb_miiphy_buses[0].priv = eth; - mdiodev = mdio_alloc(); - if (!mdiodev) - return -ENOMEM; - strlcpy(mdiodev->name, dev->name, MDIO_NAME_LEN); - mdiodev->read = bb_miiphy_read; - mdiodev->write = bb_miiphy_write; - - ret = mdio_register(mdiodev); - if (ret < 0) - return ret; - - if (!eth_env_get_enetaddr("ethaddr", dev->enetaddr)) - puts("Please set MAC address\n"); - - return ret; - -err: - if (dev) - free(dev); - - if (eth) - free(eth); - - printf(SHETHER_NAME ": Failed\n"); - return ret; -} - -#else /* CONFIG_DM_ETH */ - struct sh_ether_priv { struct sh_eth_dev shdev; @@ -955,7 +796,6 @@ U_BOOT_DRIVER(eth_sh_ether) = { .plat_auto = sizeof(struct eth_pdata), .flags = DM_FLAG_ALLOC_PRIV_DMA, }; -#endif /******* for bb_miiphy *******/ static int sh_eth_bb_init(struct bb_miiphy_bus *bus) From patchwork Sun Nov 27 15:25:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709404 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=oKbsX71R; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsxM3YwWz23nJ for ; Mon, 28 Nov 2022 02:30:31 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B7D5A851F5; Sun, 27 Nov 2022 16:27:11 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="oKbsX71R"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id AA199850EB; Sun, 27 Nov 2022 16:26:13 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E5BD2850D1 for ; Sun, 27 Nov 2022 16:26:10 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x531.google.com with SMTP id f7so12389882edc.6 for ; Sun, 27 Nov 2022 07:26:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=nYvGA20lz9iNLIJL50fIs8TJCWx+CEGGu3jtyZwAGKE=; b=oKbsX71RkCg58NyMnAebX0HOdosomqLGuF5Vw63ULp5WeAFJa7pGo+QHB63pkMJM3Y 92y94yqT5ym7OTMiwe4s2Hhx5exWo6/TJtHnp06AbGeZHmKrR+o5KO8j7L3P6K+NcOQy cGjxU7YTrQyZDFCo8imbcrjI3+Ra4PyPDIYwI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nYvGA20lz9iNLIJL50fIs8TJCWx+CEGGu3jtyZwAGKE=; b=aBrpUii0ExUmMkVlxgbWcpeHkep7mxT/2h9/HgERbBKCD+32Cvtobe1NT06hPjVFgs 0ks5CluQ1AQ16axKqXxZeOcTev0hvpmH3ltuMffx6Aade0R15dtdUbszQ18Y65NSuReA 068Eyf3PyrtqU92lj5CheieePlReQRDgLnSVK/8SGGN7Dx5WGzbzNvSCUaJ55ms8GRxO sIwqLym+YprM0rZry3yjps4WrhEBoZ+rSnTqYenHdQCl4hgSrbXlDt7X9JoeBTH9faPT JI+q0eKZ3HZQaZBa/0RX7N3yXqbCxk/LU1ovXkAzaCIJNE3BLSWAdqdcBbs/WFDZ+Hj0 GZ4Q== X-Gm-Message-State: ANoB5pnhVu8PCaUI38TA0cUiWnUs+DRDTh0hSZo8iyKSZU6gJESbUmFR PEd3EjTNY27SK63sta9PfBwe9jHLpjdh2Q== X-Google-Smtp-Source: AA0mqf4CvvWqvRevNpIlIMsbBnN3n/HVGwW43yBTsNdx1WAWn+KE08o16A5MeCWh+MQVPBYyWsA5Tg== X-Received: by 2002:a50:ff04:0:b0:46b:19aa:cfc4 with SMTP id a4-20020a50ff04000000b0046b19aacfc4mr2653759edu.384.1669562770467; Sun, 27 Nov 2022 07:26:10 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:10 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 29/41] net: smc911x: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:24 -0500 Message-Id: <20221127152536.1556469-29-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/smc911x.c | 147 ------------------------------------------ 1 file changed, 147 deletions(-) diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index 5d9a73f23d75..5c5ad8b84a98 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c @@ -22,9 +22,6 @@ struct chip_id { }; struct smc911x_priv { -#ifndef CONFIG_DM_ETH - struct eth_device dev; -#endif phys_addr_t iobase; const struct chip_id *chipid; unsigned char enetaddr[6]; @@ -382,149 +379,6 @@ static int smc911x_recv_common(struct smc911x_priv *priv, u32 *data) return pktlen; } -#ifndef CONFIG_DM_ETH - -#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) -/* wrapper for smc911x_eth_phy_read */ -static int smc911x_miiphy_read(struct mii_dev *bus, int phy, int devad, - int reg) -{ - struct eth_device *dev = eth_get_dev_by_name(bus->name); - struct smc911x_priv *priv = container_of(dev, struct smc911x_priv, dev); - u16 val = 0; - int ret; - - if (!dev || !priv) - return -ENODEV; - - ret = smc911x_eth_phy_read(priv, phy, reg, &val); - if (ret < 0) - return ret; - - return val; -} - -/* wrapper for smc911x_eth_phy_write */ -static int smc911x_miiphy_write(struct mii_dev *bus, int phy, int devad, - int reg, u16 val) -{ - struct eth_device *dev = eth_get_dev_by_name(bus->name); - struct smc911x_priv *priv = container_of(dev, struct smc911x_priv, dev); - - if (!dev || !priv) - return -ENODEV; - - return smc911x_eth_phy_write(priv, phy, reg, val); -} - -static int smc911x_initialize_mii(struct smc911x_priv *priv) -{ - struct mii_dev *mdiodev = mdio_alloc(); - int ret; - - if (!mdiodev) - return -ENOMEM; - - strlcpy(mdiodev->name, priv->dev.name, MDIO_NAME_LEN); - mdiodev->read = smc911x_miiphy_read; - mdiodev->write = smc911x_miiphy_write; - - ret = mdio_register(mdiodev); - if (ret < 0) { - mdio_free(mdiodev); - return ret; - } - - return 0; -} -#else -static int smc911x_initialize_mii(struct smc911x_priv *priv) -{ - return 0; -} -#endif - -static int smc911x_init(struct eth_device *dev, struct bd_info *bd) -{ - struct smc911x_priv *priv = container_of(dev, struct smc911x_priv, dev); - - return smc911x_init_common(priv); -} - -static void smc911x_halt(struct eth_device *dev) -{ - struct smc911x_priv *priv = container_of(dev, struct smc911x_priv, dev); - - smc911x_halt_common(priv); -} - -static int smc911x_send(struct eth_device *dev, void *packet, int length) -{ - struct smc911x_priv *priv = container_of(dev, struct smc911x_priv, dev); - - return smc911x_send_common(priv, packet, length); -} - -static int smc911x_recv(struct eth_device *dev) -{ - struct smc911x_priv *priv = container_of(dev, struct smc911x_priv, dev); - u32 *data = (u32 *)net_rx_packets[0]; - int ret; - - ret = smc911x_recv_common(priv, data); - if (ret) - net_process_received_packet(net_rx_packets[0], ret); - - return ret; -} - -int smc911x_initialize(u8 dev_num, phys_addr_t base_addr) -{ - struct smc911x_priv *priv; - int ret; - - priv = calloc(1, sizeof(*priv)); - if (!priv) - return -ENOMEM; - - priv->iobase = base_addr; - priv->dev.iobase = base_addr; - - priv->use_32_bit_io = CONFIG_IS_ENABLED(SMC911X_32_BIT); - - /* Try to detect chip. Will fail if not present. */ - ret = smc911x_detect_chip(priv); - if (ret) { - ret = 0; /* Card not detected is not an error */ - goto err_detect; - } - - if (smc911x_read_mac_address(priv)) - memcpy(priv->dev.enetaddr, priv->enetaddr, 6); - - priv->dev.init = smc911x_init; - priv->dev.halt = smc911x_halt; - priv->dev.send = smc911x_send; - priv->dev.recv = smc911x_recv; - sprintf(priv->dev.name, "%s-%hu", DRIVERNAME, dev_num); - - eth_register(&priv->dev); - - ret = smc911x_initialize_mii(priv); - if (ret) - goto err_mii; - - return 1; - -err_mii: - eth_unregister(&priv->dev); -err_detect: - free(priv); - return ret; -} - -#else /* ifdef CONFIG_DM_ETH */ - static int smc911x_start(struct udevice *dev) { struct eth_pdata *plat = dev_get_plat(dev); @@ -642,4 +496,3 @@ U_BOOT_DRIVER(smc911x) = { .plat_auto = sizeof(struct eth_pdata), .flags = DM_FLAG_ALLOC_PRIV_DMA, }; -#endif From patchwork Sun Nov 27 15:25:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709405 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=WKeiPJ8j; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsxb28xdz23nJ for ; Mon, 28 Nov 2022 02:30:43 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 058E885215; Sun, 27 Nov 2022 16:27:13 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="WKeiPJ8j"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3C057850EB; Sun, 27 Nov 2022 16:26:14 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E96A784F66 for ; Sun, 27 Nov 2022 16:26:11 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62c.google.com with SMTP id b2so4048632eja.7 for ; Sun, 27 Nov 2022 07:26:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=taYjeEhBDvK5zD+NrQG7Phcninb9F9zuspZW+HSIREs=; b=WKeiPJ8jE1jT8V6FV16Ow/BkGbPXrt2fCLDHZBWLm0T82Ij11iPnbk+FOhIH2UlOEW 5PRcyAfnRLXMCGDOEdNRkXAo0SzIw1Gg8nEbVglX22oB7Xpn45vHcOrTI9qUToSPwcT2 yDRcaMn4J7mfdvTeBwTxnJW08IEa/fLBF4vwM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=taYjeEhBDvK5zD+NrQG7Phcninb9F9zuspZW+HSIREs=; b=5ooyIyu9bNFGKsn+9Q2nkHaQ8gPDc+0kmgyj3e/8UqBdSPimoN0dCmQVq2M/9/gty+ ar9H8FIZf+Ziniphr00YwvlJSCgss0tcl+FleVc6vZNqwcAkmsPndmm+yK17dCf5rlh4 Cr5U6YQfUettK7SS2CDvljatUMwKQ1234HDz+YuhwqbMWXijnkJeOEPJCLwxscPqiKGJ g8Bbbn+zb+1UZJjS8LCDJL4SyV7snY/wq/uvWrL93/u4LxNEhlfDsSRN3fl4fmjdcgTv kQN5JJDGhomk8zbl5rKHRkvTe5Ho0JAa7fHxTXPRgZWxca0SnGFgxeq2oQKNdWNrCpsK LLvw== X-Gm-Message-State: ANoB5pnBwQrCJv65sI6mSWWD+lLyWRZIjJogO34UEgjgIQrMglWBTpsA 36SoUgj4erAX4AlhfhQjYvHaopCiad3B1g== X-Google-Smtp-Source: AA0mqf48zBTmldVeX8vZs4p6E4LygeoJqaJT3yzvkWWjmYecIZLLTLxdKYqkgLy2fUmmFGS68WhLQw== X-Received: by 2002:a17:906:90c9:b0:7b2:b783:f26b with SMTP id v9-20020a17090690c900b007b2b783f26bmr36706910ejw.406.1669562771495; Sun, 27 Nov 2022 07:26:11 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:11 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 30/41] net: sunxi_emac: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:25 -0500 Message-Id: <20221127152536.1556469-30-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/sunxi_emac.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/sunxi_emac.c b/drivers/net/sunxi_emac.c index 8625e49dae4d..ad9e1abd161e 100644 --- a/drivers/net/sunxi_emac.c +++ b/drivers/net/sunxi_emac.c @@ -164,9 +164,7 @@ struct emac_eth_dev { struct mii_dev *bus; struct phy_device *phydev; int link_printed; -#ifdef CONFIG_DM_ETH uchar rx_buf[EMAC_RX_BUFSIZE]; -#endif }; struct emac_rxhdr { From patchwork Sun Nov 27 15:25:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709406 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=Tagrjhvv; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsxp4mTJz23nJ for ; Mon, 28 Nov 2022 02:30:54 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8B3538523B; Sun, 27 Nov 2022 16:27:14 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="Tagrjhvv"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9179E8510C; Sun, 27 Nov 2022 16:26:15 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 2AC20850C8 for ; Sun, 27 Nov 2022 16:26:13 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62a.google.com with SMTP id fy37so20291753ejc.11 for ; Sun, 27 Nov 2022 07:26:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=qn6rQb+Ba3pbUXzGWp5/PKnoi5ldW94zCChKfcvFXuk=; b=Tagrjhvv0cEulh85QOZ87mChwNkiABaubRjqyB/UjtKD47/0rz5Q6RIDHJpSqgjq6f ergtSQIk8xp3HZzOrZDeke8TeGhATxF5TivH1qfQaEImIGPsEnXufkoxOnLDKbRIe0FV n/MEhXpxnKybVR0+o6fiPgh7L+rpvo1STkM6s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qn6rQb+Ba3pbUXzGWp5/PKnoi5ldW94zCChKfcvFXuk=; b=tsoq0IziG5ZWFhiLUbFt3CxabbeBZ0WH0XB2EWOKcnqXqLr7ms2ylE8Og4giMeaKm+ DN9y/fjxj92mcM9ClTh+0C/NadrMOAajuZErQygzHNV9Ftw1iw1mlfIcfshl2xoPKWjr um2UJjQIx8+gOoXM9NTIo53hR+cL+8GnF2Um1n0PKzLxpt+Lz+ilTZv4teZV0ESWYXoh +uA2sG8+etz1plYjah/nUEBaC5uhEBDsqEkZbzppDuOuIkZnyPgjou38+cCLSWo1bTfV ENuj5+1Ybgz2zFoJO4PjcJx4vl5AWMPtpLSPcS8o6B/ZwAQM0SsJYk0+zD0KyA1HeEUE vGHQ== X-Gm-Message-State: ANoB5pkPdHOjtEkaPV5VyD5uAMT5Y1NeEW4lXDFHO6xGtusQCP9HiTYN 2GbL/9ekOEBlTRGrVxjEs9nJmSMvpaugeA== X-Google-Smtp-Source: AA0mqf7yGz3nJ8w6IwzewnMPj3Zia84lXcCz/qvscv/odD1QfTEhwqSlaERzBV2d0rsy5/jL225hxQ== X-Received: by 2002:a17:907:c081:b0:78b:5182:7ffa with SMTP id st1-20020a170907c08100b0078b51827ffamr29738237ejc.244.1669562772635; Sun, 27 Nov 2022 07:26:12 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:12 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 31/41] net: cpsw: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:26 -0500 Message-Id: <20221127152536.1556469-31-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/ti/cpsw.c | 96 ------------------------------------------- 1 file changed, 96 deletions(-) diff --git a/drivers/net/ti/cpsw.c b/drivers/net/ti/cpsw.c index 41cba7930d13..a19dc38e5251 100644 --- a/drivers/net/ti/cpsw.c +++ b/drivers/net/ti/cpsw.c @@ -200,11 +200,7 @@ struct cpdma_chan { ((priv)->data)->slaves; slave++) struct cpsw_priv { -#ifdef CONFIG_DM_ETH struct udevice *dev; -#else - struct eth_device *dev; -#endif struct cpsw_platform_data *data; int host_port; @@ -455,15 +451,10 @@ static inline void setbit_and_wait_for_clear32(void *addr) static void cpsw_set_slave_mac(struct cpsw_slave *slave, struct cpsw_priv *priv) { -#ifdef CONFIG_DM_ETH struct eth_pdata *pdata = dev_get_plat(priv->dev); writel(mac_hi(pdata->enetaddr), &slave->regs->sa_hi); writel(mac_lo(pdata->enetaddr), &slave->regs->sa_lo); -#else - __raw_writel(mac_hi(priv->dev->enetaddr), &slave->regs->sa_hi); - __raw_writel(mac_lo(priv->dev->enetaddr), &slave->regs->sa_lo); -#endif } static int cpsw_slave_update_link(struct cpsw_slave *slave, @@ -856,21 +847,13 @@ static int cpsw_phy_init(struct cpsw_priv *priv, struct cpsw_slave *slave) ret = phy_set_supported(phydev, slave->data->max_speed); if (ret) return ret; -#if CONFIG_IS_ENABLED(DM_ETH) dev_dbg(priv->dev, "Port %u speed forced to %uMbit\n", slave->slave_num + 1, slave->data->max_speed); -#else - log_debug("%s: Port %u speed forced to %uMbit\n", - priv->dev->name, slave->slave_num + 1, - slave->data->max_speed); -#endif } phydev->advertising = phydev->supported; -#ifdef CONFIG_DM_ETH if (ofnode_valid(slave->data->phy_of_handle)) phydev->node = slave->data->phy_of_handle; -#endif priv->phydev = phydev; phy_config(phydev); @@ -935,84 +918,6 @@ int _cpsw_register(struct cpsw_priv *priv) return 0; } -#ifndef CONFIG_DM_ETH -static int cpsw_init(struct eth_device *dev, struct bd_info *bis) -{ - struct cpsw_priv *priv = dev->priv; - - return _cpsw_init(priv, dev->enetaddr); -} - -static void cpsw_halt(struct eth_device *dev) -{ - struct cpsw_priv *priv = dev->priv; - - return _cpsw_halt(priv); -} - -static int cpsw_send(struct eth_device *dev, void *packet, int length) -{ - struct cpsw_priv *priv = dev->priv; - - return _cpsw_send(priv, packet, length); -} - -static int cpsw_recv(struct eth_device *dev) -{ - struct cpsw_priv *priv = dev->priv; - uchar *pkt = NULL; - int len; - - len = _cpsw_recv(priv, &pkt); - - if (len > 0) { - net_process_received_packet(pkt, len); - cpdma_submit(priv, &priv->rx_chan, pkt, PKTSIZE); - } - - return len; -} - -int cpsw_register(struct cpsw_platform_data *data) -{ - struct cpsw_priv *priv; - struct eth_device *dev; - int ret; - - dev = calloc(sizeof(*dev), 1); - if (!dev) - return -ENOMEM; - - priv = calloc(sizeof(*priv), 1); - if (!priv) { - free(dev); - return -ENOMEM; - } - - priv->dev = dev; - priv->data = data; - - strcpy(dev->name, "cpsw"); - dev->iobase = 0; - dev->init = cpsw_init; - dev->halt = cpsw_halt; - dev->send = cpsw_send; - dev->recv = cpsw_recv; - dev->priv = priv; - - eth_register(dev); - - ret = _cpsw_register(priv); - if (ret < 0) { - eth_unregister(dev); - free(dev); - free(priv); - return ret; - } - - return 1; -} -#else static int cpsw_eth_start(struct udevice *dev) { struct eth_pdata *pdata = dev_get_plat(dev); @@ -1380,4 +1285,3 @@ U_BOOT_DRIVER(eth_cpsw) = { .priv_auto = sizeof(struct cpsw_priv), .flags = DM_FLAG_ALLOC_PRIV_DMA | DM_FLAG_PRE_RELOC, }; -#endif /* CONFIG_DM_ETH */ From patchwork Sun Nov 27 15:25:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709407 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=OZR+4oRT; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsy16hdJz23nJ for ; Mon, 28 Nov 2022 02:31:05 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5578E8524B; Sun, 27 Nov 2022 16:27:16 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="OZR+4oRT"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4D2BA85119; Sun, 27 Nov 2022 16:26:16 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 19E4384F27 for ; Sun, 27 Nov 2022 16:26:14 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x630.google.com with SMTP id vp12so19052481ejc.8 for ; Sun, 27 Nov 2022 07:26:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=2uFqpRfRYhR/4IO3aAkmC0qiWEeypqZt3w08o2RtEQA=; b=OZR+4oRTNZIPVmuwDJ57WPjrxRPfPQYql6/CbijrDBVEGI7nQE6yFw0nfd7dMW0aw8 isUPY9vg+IHnS/yhe1yqWsq4fy0KwnzU0m1y9OjoyizaHe5UeK3RwrDPDoEyCBydgoLq i6vY/8nDj1RWm4aT+fRtW/YDIISRBiY6nOLrE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2uFqpRfRYhR/4IO3aAkmC0qiWEeypqZt3w08o2RtEQA=; b=NSuFwB1HBhmFRONaca+sggawMB7wyNTcGOsvXdL2tG5JMAE3AKVidjqNPlDCu1vW4W MqK+WNKIwSNfZGXAuKp2U4g4F8tN5KkiXeUu8GhwXfYGfnW6zl+j8tg91tAQwdx/cfoI 0eefi0sDCSMg/nSZUOhPBdV8vU4QDjQeAqYwI4k/MTFZW3InAeL54kI4wYI9VXsJqmQP g3tx+Gd0Q99wBmJM7uXRyVq6WpAU636YzG+hUQCZIFO6dGM6G4YrsqXq51VqTY/yjEhF NX3Z/rzHIgFRc7ui1UOqENqPdFKh9If0peWtt1dNsvMNxxfz5w7Mnqg12AnR8Rx4r8iE R0TQ== X-Gm-Message-State: ANoB5pmSM8HFwS64AUVmsdGfol+CBFOggTjwcwQ2UX348FUJSqNXC54x /KsU/36N3sOAjjCsxMaNPM2ijYrUHOZadw== X-Google-Smtp-Source: AA0mqf5jG4sOpL9HqwRvaDQpdEj4OIRmBQ02b+hsXpXm0CZ8KunsBz4fNfQ3lqDDO4XXYT2Ma1jIVA== X-Received: by 2002:a17:906:5db2:b0:7ae:d58b:30f8 with SMTP id n18-20020a1709065db200b007aed58b30f8mr20725273ejv.564.1669562773680; Sun, 27 Nov 2022 07:26:13 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:13 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 32/41] net: keystone_net: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:27 -0500 Message-Id: <20221127152536.1556469-32-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/net/ti/keystone_net.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/ti/keystone_net.c b/drivers/net/ti/keystone_net.c index 1bdbd599d7b4..679a0450f1d5 100644 --- a/drivers/net/ti/keystone_net.c +++ b/drivers/net/ti/keystone_net.c @@ -592,10 +592,8 @@ static int ks2_eth_probe(struct udevice *dev) if (priv->has_mdio) { priv->phydev = phy_connect(priv->mdio_bus, priv->phy_addr, dev, priv->phy_if); -#ifdef CONFIG_DM_ETH - if (ofnode_valid(priv->phy_ofnode)) - priv->phydev->node = priv->phy_ofnode; -#endif + if (ofnode_valid(priv->phy_ofnode)) + priv->phydev->node = priv->phy_ofnode; phy_config(priv->phydev); } From patchwork Sun Nov 27 15:25:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709408 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=O2M1WmNm; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsyF2dRJz23nJ for ; Mon, 28 Nov 2022 02:31:17 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 00FDC85235; Sun, 27 Nov 2022 16:27:17 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="O2M1WmNm"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1E8B485160; Sun, 27 Nov 2022 16:26:18 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 47129850FE for ; Sun, 27 Nov 2022 16:26:15 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62d.google.com with SMTP id gu23so2138143ejb.10 for ; Sun, 27 Nov 2022 07:26:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ZM8+Q7o1Nkr+QG/n3XU6gkWMMypG/IKng+UjslgVcS0=; b=O2M1WmNmx+PT62HBYknGxPqm0t1f+ByieAzL8hNOvKanJ2kFVYBllVZ1+mtTcMWbIk MsFkjIlyjpoc+Ss92omzbtphQZsPE7bK3rT5/KPfQZAKHBiatkoIH1yTxQCbVqVHptMt PzU5K7z382fyg7+CrolcGNN4NqnF0j/0we/Gw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZM8+Q7o1Nkr+QG/n3XU6gkWMMypG/IKng+UjslgVcS0=; b=vRe9L9euxOZ1s1eaGlCD4motgj1+amvOBg0JaR2AM8sYdn0dCtidusz6lNePt8l4vZ 7p03Ypy4x/AVMxt1qR93dvtc8V4t5MW42ySnBrS3SggNFcE1xVqYAymIKTyMsL6CvvPH KS3aLU7a8Fqh2jEs5NBSK8EwH+8U05C5jv0TPlZz+99KNmEWfVMEniiQIM5paLsctBAR q0q6i3fbBXjd055wCeBBANY1wNrMOhSWgDIgUurRdSrqcubJcSgFNkvWvZgWCWzoQMwy Bj+kIyi716PoL2GSUft0+P4ncjwx99aC+hnOijBEM8Yi7PmfbklGO5mgBniVI//exukf 2fLw== X-Gm-Message-State: ANoB5pk1McNYldqzTpOMDLjSJ0YdRjF0IoqSf+sKrhEOPYWZ7LttVCuY B97CX0Zw8vuIeqswKnV3PcfHaNWcd9v/eg== X-Google-Smtp-Source: AA0mqf6oo73apIwNHHZU5rVtFocfH4K8Xju5XvrGbcrIUBeW/L2dj2AIuDevH5w7lVL1lY2XkJIoPA== X-Received: by 2002:a17:906:7c4e:b0:7ad:2da5:36e4 with SMTP id g14-20020a1709067c4e00b007ad2da536e4mr38476831ejp.680.1669562774767; Sun, 27 Nov 2022 07:26:14 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:14 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 33/41] usb: eth: asix: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:28 -0500 Message-Id: <20221127152536.1556469-33-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/usb/eth/asix.c | 255 ----------------------------------------- 1 file changed, 255 deletions(-) diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c index 674f78e214dc..26dd312b7d06 100644 --- a/drivers/usb/eth/asix.c +++ b/drivers/usb/eth/asix.c @@ -101,16 +101,9 @@ /* driver private */ struct asix_private { int flags; -#ifdef CONFIG_DM_ETH struct ueth_data ueth; -#endif }; -#ifndef CONFIG_DM_ETH -/* local vars */ -static int curr_eth_dev; /* index for name of next device detected */ -#endif - /* * Asix infrastructure commands */ @@ -494,253 +487,6 @@ static int asix_send_common(struct ueth_data *dev, void *packet, int length) return err; } -#ifndef CONFIG_DM_ETH -/* - * Asix callbacks - */ -static int asix_init(struct eth_device *eth, struct bd_info *bd) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - - return asix_init_common(dev, eth->enetaddr); -} - -static int asix_send(struct eth_device *eth, void *packet, int length) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - - return asix_send_common(dev, packet, length); -} - -static int asix_recv(struct eth_device *eth) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - ALLOC_CACHE_ALIGN_BUFFER(unsigned char, recv_buf, AX_RX_URB_SIZE); - unsigned char *buf_ptr; - int err; - int actual_len; - u32 packet_len; - - debug("** %s()\n", __func__); - - err = usb_bulk_msg(dev->pusb_dev, - usb_rcvbulkpipe(dev->pusb_dev, dev->ep_in), - (void *)recv_buf, - AX_RX_URB_SIZE, - &actual_len, - USB_BULK_RECV_TIMEOUT); - debug("Rx: len = %u, actual = %u, err = %d\n", AX_RX_URB_SIZE, - actual_len, err); - if (err != 0) { - debug("Rx: failed to receive\n"); - return -1; - } - if (actual_len > AX_RX_URB_SIZE) { - debug("Rx: received too many bytes %d\n", actual_len); - return -1; - } - - buf_ptr = recv_buf; - while (actual_len > 0) { - /* - * 1st 4 bytes contain the length of the actual data as two - * complementary 16-bit words. Extract the length of the data. - */ - if (actual_len < sizeof(packet_len)) { - debug("Rx: incomplete packet length\n"); - return -1; - } - memcpy(&packet_len, buf_ptr, sizeof(packet_len)); - le32_to_cpus(&packet_len); - if (((~packet_len >> 16) & 0x7ff) != (packet_len & 0x7ff)) { - debug("Rx: malformed packet length: %#x (%#x:%#x)\n", - packet_len, (~packet_len >> 16) & 0x7ff, - packet_len & 0x7ff); - return -1; - } - packet_len = packet_len & 0x7ff; - if (packet_len > actual_len - sizeof(packet_len)) { - debug("Rx: too large packet: %d\n", packet_len); - return -1; - } - - /* Notify net stack */ - net_process_received_packet(buf_ptr + sizeof(packet_len), - packet_len); - - /* Adjust for next iteration. Packets are padded to 16-bits */ - if (packet_len & 1) - packet_len++; - actual_len -= sizeof(packet_len) + packet_len; - buf_ptr += sizeof(packet_len) + packet_len; - } - - return err; -} - -static void asix_halt(struct eth_device *eth) -{ - debug("** %s()\n", __func__); -} - -static int asix_write_hwaddr(struct eth_device *eth) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - - return asix_write_hwaddr_common(dev, eth->enetaddr); -} - -/* - * Asix probing functions - */ -void asix_eth_before_probe(void) -{ - curr_eth_dev = 0; -} - -struct asix_dongle { - unsigned short vendor; - unsigned short product; - int flags; -}; - -static const struct asix_dongle asix_dongles[] = { - { 0x05ac, 0x1402, FLAG_TYPE_AX88772 }, /* Apple USB Ethernet Adapter */ - { 0x07d1, 0x3c05, FLAG_TYPE_AX88772 }, /* D-Link DUB-E100 H/W Ver B1 */ - { 0x2001, 0x1a02, FLAG_TYPE_AX88772 }, /* D-Link DUB-E100 H/W Ver C1 */ - /* Cables-to-Go USB Ethernet Adapter */ - { 0x0b95, 0x772a, FLAG_TYPE_AX88772 }, - { 0x0b95, 0x7720, FLAG_TYPE_AX88772 }, /* Trendnet TU2-ET100 V3.0R */ - { 0x0b95, 0x1720, FLAG_TYPE_AX88172 }, /* SMC */ - { 0x0db0, 0xa877, FLAG_TYPE_AX88772 }, /* MSI - ASIX 88772a */ - { 0x13b1, 0x0018, FLAG_TYPE_AX88172 }, /* Linksys 200M v2.1 */ - { 0x1557, 0x7720, FLAG_TYPE_AX88772 }, /* 0Q0 cable ethernet */ - /* DLink DUB-E100 H/W Ver B1 Alternate */ - { 0x2001, 0x3c05, FLAG_TYPE_AX88772 }, - /* ASIX 88772B */ - { 0x0b95, 0x772b, FLAG_TYPE_AX88772B | FLAG_EEPROM_MAC }, - { 0x0b95, 0x7e2b, FLAG_TYPE_AX88772B }, - { 0x0000, 0x0000, FLAG_NONE } /* END - Do not remove */ -}; - -/* Probe to see if a new device is actually an asix device */ -int asix_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss) -{ - struct usb_interface *iface; - struct usb_interface_descriptor *iface_desc; - int ep_in_found = 0, ep_out_found = 0; - int i; - - /* let's examine the device now */ - iface = &dev->config.if_desc[ifnum]; - iface_desc = &dev->config.if_desc[ifnum].desc; - - for (i = 0; asix_dongles[i].vendor != 0; i++) { - if (dev->descriptor.idVendor == asix_dongles[i].vendor && - dev->descriptor.idProduct == asix_dongles[i].product) - /* Found a supported dongle */ - break; - } - - if (asix_dongles[i].vendor == 0) - return 0; - - memset(ss, 0, sizeof(struct ueth_data)); - - /* At this point, we know we've got a live one */ - debug("\n\nUSB Ethernet device detected: %#04x:%#04x\n", - dev->descriptor.idVendor, dev->descriptor.idProduct); - - /* Initialize the ueth_data structure with some useful info */ - ss->ifnum = ifnum; - ss->pusb_dev = dev; - ss->subclass = iface_desc->bInterfaceSubClass; - ss->protocol = iface_desc->bInterfaceProtocol; - - /* alloc driver private */ - ss->dev_priv = calloc(1, sizeof(struct asix_private)); - if (!ss->dev_priv) - return 0; - - ((struct asix_private *)ss->dev_priv)->flags = asix_dongles[i].flags; - - /* - * We are expecting a minimum of 3 endpoints - in, out (bulk), and - * int. We will ignore any others. - */ - for (i = 0; i < iface_desc->bNumEndpoints; i++) { - /* is it an BULK endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK) { - u8 ep_addr = iface->ep_desc[i].bEndpointAddress; - if (ep_addr & USB_DIR_IN) { - if (!ep_in_found) { - ss->ep_in = ep_addr & - USB_ENDPOINT_NUMBER_MASK; - ep_in_found = 1; - } - } else { - if (!ep_out_found) { - ss->ep_out = ep_addr & - USB_ENDPOINT_NUMBER_MASK; - ep_out_found = 1; - } - } - } - - /* is it an interrupt endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) { - ss->ep_int = iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - ss->irqinterval = iface->ep_desc[i].bInterval; - } - } - debug("Endpoints In %d Out %d Int %d\n", - ss->ep_in, ss->ep_out, ss->ep_int); - - /* Do some basic sanity checks, and bail if we find a problem */ - if (usb_set_interface(dev, iface_desc->bInterfaceNumber, 0) || - !ss->ep_in || !ss->ep_out || !ss->ep_int) { - debug("Problems with device\n"); - return 0; - } - dev->privptr = (void *)ss; - return 1; -} - -int asix_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth) -{ - struct asix_private *priv = (struct asix_private *)ss->dev_priv; - - if (!eth) { - debug("%s: missing parameter.\n", __func__); - return 0; - } - sprintf(eth->name, "%s%d", ASIX_BASE_NAME, curr_eth_dev++); - eth->init = asix_init; - eth->send = asix_send; - eth->recv = asix_recv; - eth->halt = asix_halt; - if (!(priv->flags & FLAG_TYPE_AX88172)) - eth->write_hwaddr = asix_write_hwaddr; - eth->priv = ss; - - if (asix_basic_reset(ss)) - return 0; - - /* Get the MAC address */ - if (asix_read_mac_common(ss, priv, eth->enetaddr)) - return 0; - debug("MAC %pM\n", eth->enetaddr); - - return 1; -} -#endif - -#ifdef CONFIG_DM_ETH static int asix_eth_start(struct udevice *dev) { struct eth_pdata *pdata = dev_get_plat(dev); @@ -909,4 +655,3 @@ static const struct usb_device_id asix_eth_id_table[] = { }; U_BOOT_USB_DEVICE(asix_eth, asix_eth_id_table); -#endif From patchwork Sun Nov 27 15:25:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709409 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=PH51tj72; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsyS3RdZz23nJ for ; Mon, 28 Nov 2022 02:31:28 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2F67E8524E; Sun, 27 Nov 2022 16:27:20 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="PH51tj72"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 50D6D84F27; Sun, 27 Nov 2022 16:26:19 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7CE6E85140 for ; Sun, 27 Nov 2022 16:26:16 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52d.google.com with SMTP id z20so12367296edc.13 for ; Sun, 27 Nov 2022 07:26:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=JgLHqSTeuu3cBZBr4XlMIfLzH2JQaA3CQzT3+sYR8ag=; b=PH51tj72dGC7mee+2CVD1j0sleT6J/Kmdtdj76dCK9/YMEPi3b/nC19fCVMT5t5Qkd qE38T6S/jtyVgMd3aXoBrCbWohKPe/l7eXq/ZYAUbIteu9D1Dfm93+YVGeUJv96kSkRQ hDMpk4N0DC1BQOVNgMR0LafYmXnSLGVdvw0hI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JgLHqSTeuu3cBZBr4XlMIfLzH2JQaA3CQzT3+sYR8ag=; b=aiAWPcA/k/k6FHXw9r6JklgLTcLZ0alWd5ixJkQu6Pg3NHhJGrZmfl8/1yveeHUIfr CspQEvf2genlYxScxmmkARrVBEWXJWISuEMMr6soCplAtSL9g5S+MFleH73Pya4pvHu1 lRdUJQxxfBsQwGk0BkJ4cKDAisg6wRQI2rG3863vV8CAu++pWO3+BCRr2rC2Ls0jZd2P CHWxAZVwI8+RdyWKW/zZIhzYTNan+Gsblucq5NxQK/AP876i/+B8ai+X/l9IooMaHX5Q 8BIzMTa9jSm5KmY9YDJR+z2BFkf87bw1M/GvZS+O7izl934L2ghTyCE9U+0i9myyNnPl DwTw== X-Gm-Message-State: ANoB5pk6CSXtwVjBA3OGRTjR+AG+CxuBvRhMBbSQ9Ag6vUIUmSXHpIuq R2/H3/qiG4jbURoPG7F2zj55JzLb7JBSnA== X-Google-Smtp-Source: AA0mqf7svS8O+Sxij0KzZMXXI8fJ1ve+XX3wTTiJMuI78Z1A44LEzzvGdMBchI1B2uLWxOTXUDv/nQ== X-Received: by 2002:a05:6402:285:b0:46a:878c:e8e9 with SMTP id l5-20020a056402028500b0046a878ce8e9mr16306656edv.306.1669562775779; Sun, 27 Nov 2022 07:26:15 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:15 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 34/41] usb: eth: asix88179: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:29 -0500 Message-Id: <20221127152536.1556469-34-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/usb/eth/asix88179.c | 250 ------------------------------------ 1 file changed, 250 deletions(-) diff --git a/drivers/usb/eth/asix88179.c b/drivers/usb/eth/asix88179.c index 4742a95af933..2e737e606685 100644 --- a/drivers/usb/eth/asix88179.c +++ b/drivers/usb/eth/asix88179.c @@ -199,18 +199,12 @@ static const struct { {7, 0xcc, 0x4c, 0x04, 8}, }; -#ifndef CONFIG_DM_ETH -static int curr_eth_dev; /* index for name of next device detected */ -#endif - /* driver private */ struct asix_private { -#ifdef CONFIG_DM_ETH struct ueth_data ueth; unsigned pkt_cnt; uint8_t *pkt_data; uint32_t *pkt_hdr; -#endif int flags; int rx_urb_size; int maxpacketsize; @@ -505,249 +499,6 @@ static int asix_send_common(struct ueth_data *dev, return err; } -#ifndef CONFIG_DM_ETH -/* - * Asix callbacks - */ -static int asix_init(struct eth_device *eth, struct bd_info *bd) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - struct asix_private *dev_priv = (struct asix_private *)dev->dev_priv; - - return asix_init_common(dev, dev_priv); -} - -static int asix_write_hwaddr(struct eth_device *eth) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - - return asix_write_mac(dev, eth->enetaddr); -} - -static int asix_send(struct eth_device *eth, void *packet, int length) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - struct asix_private *dev_priv = (struct asix_private *)dev->dev_priv; - - return asix_send_common(dev, dev_priv, packet, length); -} - -static int asix_recv(struct eth_device *eth) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - struct asix_private *dev_priv = (struct asix_private *)dev->dev_priv; - - u16 frame_pos; - int err; - int actual_len; - - int pkt_cnt; - u32 rx_hdr; - u16 hdr_off; - u32 *pkt_hdr; - ALLOC_CACHE_ALIGN_BUFFER(u8, recv_buf, dev_priv->rx_urb_size); - - actual_len = -1; - - debug("** %s()\n", __func__); - - err = usb_bulk_msg(dev->pusb_dev, - usb_rcvbulkpipe(dev->pusb_dev, dev->ep_in), - (void *)recv_buf, - dev_priv->rx_urb_size, - &actual_len, - USB_BULK_RECV_TIMEOUT); - debug("Rx: len = %u, actual = %u, err = %d\n", dev_priv->rx_urb_size, - actual_len, err); - - if (err != 0) { - debug("Rx: failed to receive\n"); - return -ECOMM; - } - if (actual_len > dev_priv->rx_urb_size) { - debug("Rx: received too many bytes %d\n", actual_len); - return -EMSGSIZE; - } - - - rx_hdr = *(u32 *)(recv_buf + actual_len - 4); - le32_to_cpus(&rx_hdr); - - pkt_cnt = (u16)rx_hdr; - hdr_off = (u16)(rx_hdr >> 16); - pkt_hdr = (u32 *)(recv_buf + hdr_off); - - - frame_pos = 0; - - while (pkt_cnt--) { - u16 pkt_len; - - le32_to_cpus(pkt_hdr); - pkt_len = (*pkt_hdr >> 16) & 0x1fff; - - frame_pos += 2; - - net_process_received_packet(recv_buf + frame_pos, pkt_len); - - pkt_hdr++; - frame_pos += ((pkt_len + 7) & 0xFFF8)-2; - - if (pkt_cnt == 0) - return 0; - } - return err; -} - -static void asix_halt(struct eth_device *eth) -{ - debug("** %s()\n", __func__); -} - -/* - * Asix probing functions - */ -void ax88179_eth_before_probe(void) -{ - curr_eth_dev = 0; -} - -struct asix_dongle { - unsigned short vendor; - unsigned short product; - int flags; -}; - -static const struct asix_dongle asix_dongles[] = { - { 0x0b95, 0x1790, FLAG_TYPE_AX88179 }, - { 0x0b95, 0x178a, FLAG_TYPE_AX88178a }, - { 0x2001, 0x4a00, FLAG_TYPE_DLINK_DUB1312 }, - { 0x0df6, 0x0072, FLAG_TYPE_SITECOM }, - { 0x04e8, 0xa100, FLAG_TYPE_SAMSUNG }, - { 0x17ef, 0x304b, FLAG_TYPE_LENOVO }, - { 0x04b4, 0x3610, FLAG_TYPE_GX3 }, - { 0x0000, 0x0000, FLAG_NONE } /* END - Do not remove */ -}; - -/* Probe to see if a new device is actually an asix device */ -int ax88179_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss) -{ - struct usb_interface *iface; - struct usb_interface_descriptor *iface_desc; - struct asix_private *dev_priv; - int ep_in_found = 0, ep_out_found = 0; - int i; - - /* let's examine the device now */ - iface = &dev->config.if_desc[ifnum]; - iface_desc = &dev->config.if_desc[ifnum].desc; - - for (i = 0; asix_dongles[i].vendor != 0; i++) { - if (dev->descriptor.idVendor == asix_dongles[i].vendor && - dev->descriptor.idProduct == asix_dongles[i].product) - /* Found a supported dongle */ - break; - } - - if (asix_dongles[i].vendor == 0) - return 0; - - memset(ss, 0, sizeof(struct ueth_data)); - - /* At this point, we know we've got a live one */ - debug("\n\nUSB Ethernet device detected: %#04x:%#04x\n", - dev->descriptor.idVendor, dev->descriptor.idProduct); - - /* Initialize the ueth_data structure with some useful info */ - ss->ifnum = ifnum; - ss->pusb_dev = dev; - ss->subclass = iface_desc->bInterfaceSubClass; - ss->protocol = iface_desc->bInterfaceProtocol; - - /* alloc driver private */ - ss->dev_priv = calloc(1, sizeof(struct asix_private)); - if (!ss->dev_priv) - return 0; - dev_priv = ss->dev_priv; - dev_priv->flags = asix_dongles[i].flags; - - /* - * We are expecting a minimum of 3 endpoints - in, out (bulk), and - * int. We will ignore any others. - */ - for (i = 0; i < iface_desc->bNumEndpoints; i++) { - /* is it an interrupt endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) { - ss->ep_int = iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - ss->irqinterval = iface->ep_desc[i].bInterval; - continue; - } - - /* is it an BULK endpoint? */ - if (!((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK)) - continue; - - u8 ep_addr = iface->ep_desc[i].bEndpointAddress; - if ((ep_addr & USB_DIR_IN) && !ep_in_found) { - ss->ep_in = ep_addr & - USB_ENDPOINT_NUMBER_MASK; - ep_in_found = 1; - } - if (!(ep_addr & USB_DIR_IN) && !ep_out_found) { - ss->ep_out = ep_addr & - USB_ENDPOINT_NUMBER_MASK; - dev_priv->maxpacketsize = - dev->epmaxpacketout[AX_ENDPOINT_OUT]; - ep_out_found = 1; - } - } - debug("Endpoints In %d Out %d Int %d\n", - ss->ep_in, ss->ep_out, ss->ep_int); - - /* Do some basic sanity checks, and bail if we find a problem */ - if (usb_set_interface(dev, iface_desc->bInterfaceNumber, 0) || - !ss->ep_in || !ss->ep_out || !ss->ep_int) { - debug("Problems with device\n"); - return 0; - } - dev->privptr = (void *)ss; - return 1; -} - -int ax88179_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth) -{ - struct asix_private *dev_priv = (struct asix_private *)ss->dev_priv; - - if (!eth) { - debug("%s: missing parameter.\n", __func__); - return 0; - } - sprintf(eth->name, "%s%d", ASIX_BASE_NAME, curr_eth_dev++); - eth->init = asix_init; - eth->send = asix_send; - eth->recv = asix_recv; - eth->halt = asix_halt; - eth->write_hwaddr = asix_write_hwaddr; - eth->priv = ss; - - if (asix_basic_reset(ss, dev_priv)) - return 0; - - /* Get the MAC address */ - if (asix_read_mac(ss, eth->enetaddr)) - return 0; - debug("MAC %pM\n", eth->enetaddr); - - return 1; -} - -#else /* !CONFIG_DM_ETH */ - static int ax88179_eth_start(struct udevice *dev) { struct asix_private *priv = dev_get_priv(dev); @@ -918,4 +669,3 @@ static const struct usb_device_id ax88179_eth_id_table[] = { }; U_BOOT_USB_DEVICE(ax88179_eth, ax88179_eth_id_table); -#endif /* !CONFIG_DM_ETH */ From patchwork Sun Nov 27 15:25:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709412 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=Vo7lVCuU; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsz404CZz23nJ for ; Mon, 28 Nov 2022 02:32:00 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9995B8527A; Sun, 27 Nov 2022 16:27:23 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="Vo7lVCuU"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 51C698516C; Sun, 27 Nov 2022 16:26:22 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [IPv6:2a00:1450:4864:20::636]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 944D984EC2 for ; Sun, 27 Nov 2022 16:26:17 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x636.google.com with SMTP id bj12so20266521ejb.13 for ; Sun, 27 Nov 2022 07:26:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=YZ/AVJd4LPx8l+rjeMjX+ZZbLa1z/r/Ihk2ytuRXvkg=; b=Vo7lVCuUWEmuhgKTFh1jsQy+57C9QhiHQWAlhoOAncD5TPLTB4oyilOrs5ndYZuVZh bqZqDGw2215vJPCus9vlvJ35+zZRqT36owwsWSR7/SDwpGWx2D+VbUUWQSaYzs6ZlWdY IciOzfiDwLo13aJlu8MICXPgr+mArSbyHvf2I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YZ/AVJd4LPx8l+rjeMjX+ZZbLa1z/r/Ihk2ytuRXvkg=; b=77klYPa4/XFhqYT79fwQbc+N/Z00gQJ2HY+pJnRHE8Vu2Jgwv/WXdHKLmZmZ1JXm5i h4S0xcMNj49TPywHWiYObYhoSpcHK3SuqIBOCthrPQQX5+8ot2NlDgJxvaDOb7qIlQ2g ps1tA1vmY5iq6fmt6v8anutVZsmwOc1rn8q7mN2lVWmULAm8YrMg7a5kVXbVgCtxvMjW 0oDWUu0pE/0LD2l6oePIKPMnYk3keKo2iINhU/Ok2bTEX6FvTbB2LYWsWq4ZDAh8JPTF AiXYM+ltek2tZM7ywYC81PfRfevd/v1Bln37gObM/SluOZWrVF28zz0PxHh9TBmHI7MW cZvg== X-Gm-Message-State: ANoB5pkNhXYIwh9yGqmZhhHtF0Inhk/FfR7P30SW2qBRqRKEXKMlrSsP ObWvqoZTO1oXRO27eiPcwVIKsdNHf3V0uA== X-Google-Smtp-Source: AA0mqf5PGZo6rxsg3icL9jDmnkrrhk7l0ikfLfNPFatA9RfgaBip9hoJf/O6hOJmIkEECiFVMJ3iFg== X-Received: by 2002:a17:906:c052:b0:79a:101a:7e57 with SMTP id bm18-20020a170906c05200b0079a101a7e57mr39817641ejb.368.1669562776813; Sun, 27 Nov 2022 07:26:16 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:16 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 35/41] usb: eth: msc7830: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:30 -0500 Message-Id: <20221127152536.1556469-35-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/usb/eth/mcs7830.c | 276 -------------------------------------- 1 file changed, 276 deletions(-) diff --git a/drivers/usb/eth/mcs7830.c b/drivers/usb/eth/mcs7830.c index 783ab62f6b7a..8a256b3e3469 100644 --- a/drivers/usb/eth/mcs7830.c +++ b/drivers/usb/eth/mcs7830.c @@ -86,10 +86,8 @@ struct mcs7830_regs { * @mchash: shadow for the network adapter's multicast hash registers */ struct mcs7830_private { -#ifdef CONFIG_DM_ETH uint8_t rx_buf[MCS7830_RX_URB_SIZE]; struct ueth_data ueth; -#endif uint8_t config; uint8_t mchash[8]; }; @@ -575,279 +573,6 @@ static int mcs7830_recv_common(struct ueth_data *ueth, uint8_t *buf) return -EIO; } -#ifndef CONFIG_DM_ETH -/* - * mcs7830_init() - network interface's init callback - * @udev: network device to initialize - * @bd: board information - * Return: zero upon success, negative upon error - * - * after initial setup during probe() and get_info(), this init() callback - * ensures that the link is up and subsequent send() and recv() calls can - * exchange ethernet frames - */ -static int mcs7830_init(struct eth_device *eth, struct bd_info *bd) -{ - struct ueth_data *dev = eth->priv; - - return mcs7830_init_common(dev->pusb_dev); -} - -/* - * mcs7830_send() - network interface's send callback - * @eth: network device to send the frame from - * @packet: ethernet frame content - * @length: ethernet frame length - * Return: zero upon success, negative upon error - * - * this routine send an ethernet frame out of the network interface - */ -static int mcs7830_send(struct eth_device *eth, void *packet, int length) -{ - struct ueth_data *dev = eth->priv; - - return mcs7830_send_common(dev, packet, length); -} - -/* - * mcs7830_recv() - network interface's recv callback - * @eth: network device to receive frames from - * Return: zero upon success, negative upon error - * - * this routine checks for available ethernet frames that the network - * interface might have received, and notifies the network stack - */ -static int mcs7830_recv(struct eth_device *eth) -{ - ALLOC_CACHE_ALIGN_BUFFER(uint8_t, buf, MCS7830_RX_URB_SIZE); - struct ueth_data *ueth = eth->priv; - int len; - - len = mcs7830_recv_common(ueth, buf); - if (len >= 0) { - net_process_received_packet(buf, len); - return 0; - } - - return len; -} - -/* - * mcs7830_halt() - network interface's halt callback - * @eth: network device to cease operation of - * Return: none - * - * this routine is supposed to undo the effect of previous initialization and - * ethernet frames exchange; in this implementation it's a NOP - */ -static void mcs7830_halt(struct eth_device *eth) -{ - debug("%s()\n", __func__); -} - -/* - * mcs7830_write_mac() - write an ethernet adapter's MAC address - * @eth: network device to write to - * Return: zero upon success, negative upon error - * - * this routine takes the MAC address from the ethernet interface's data - * structure, and writes it into the ethernet adapter such that subsequent - * exchange of ethernet frames uses this address - */ -static int mcs7830_write_mac(struct eth_device *eth) -{ - struct ueth_data *ueth = eth->priv; - - return mcs7830_write_mac_common(ueth->pusb_dev, eth->enetaddr); -} - -/* - * mcs7830_iface_idx - index of detected network interfaces - * - * this counter keeps track of identified supported interfaces, - * to assign unique names as more interfaces are found - */ -static int mcs7830_iface_idx; - -/* - * mcs7830_eth_before_probe() - network driver's before_probe callback - * Return: none - * - * this routine initializes driver's internal data in preparation of - * subsequent probe callbacks - */ -void mcs7830_eth_before_probe(void) -{ - mcs7830_iface_idx = 0; -} - -/* - * struct mcs7830_dongle - description of a supported Moschip ethernet dongle - * @vendor: 16bit USB vendor identification - * @product: 16bit USB product identification - * - * this structure describes a supported USB ethernet dongle by means of the - * vendor and product codes found during USB enumeration; no flags are held - * here since all supported dongles have identical behaviour, and required - * fixups get determined at runtime, such that no manual configuration is - * needed - */ -struct mcs7830_dongle { - uint16_t vendor; - uint16_t product; -}; - -/* - * mcs7830_dongles - the list of supported Moschip based USB ethernet dongles - */ -static const struct mcs7830_dongle mcs7830_dongles[] = { - { 0x9710, 0x7832, }, /* Moschip 7832 */ - { 0x9710, 0x7830, }, /* Moschip 7830 */ - { 0x9710, 0x7730, }, /* Moschip 7730 */ - { 0x0df6, 0x0021, }, /* Sitecom LN 30 */ -}; - -/* - * mcs7830_eth_probe() - network driver's probe callback - * @dev: detected USB device to check - * @ifnum: detected USB interface to check - * @ss: USB ethernet data structure to fill in upon match - * Return: #1 upon match, #0 upon mismatch or error - * - * this routine checks whether the found USB device is supported by - * this ethernet driver, and upon match fills in the USB ethernet - * data structure which later is passed to the get_info callback - */ -int mcs7830_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss) -{ - struct usb_interface *iface; - struct usb_interface_descriptor *iface_desc; - int i; - struct mcs7830_private *priv; - int ep_in_found, ep_out_found, ep_intr_found; - - debug("%s()\n", __func__); - - /* iterate the list of supported dongles */ - iface = &dev->config.if_desc[ifnum]; - iface_desc = &iface->desc; - for (i = 0; i < ARRAY_SIZE(mcs7830_dongles); i++) { - if (dev->descriptor.idVendor == mcs7830_dongles[i].vendor && - dev->descriptor.idProduct == mcs7830_dongles[i].product) - break; - } - if (i == ARRAY_SIZE(mcs7830_dongles)) - return 0; - debug("detected USB ethernet device: %04X:%04X\n", - dev->descriptor.idVendor, dev->descriptor.idProduct); - - /* fill in driver private data */ - priv = calloc(1, sizeof(*priv)); - if (!priv) - return 0; - - /* fill in the ueth_data structure, attach private data */ - memset(ss, 0, sizeof(*ss)); - ss->ifnum = ifnum; - ss->pusb_dev = dev; - ss->subclass = iface_desc->bInterfaceSubClass; - ss->protocol = iface_desc->bInterfaceProtocol; - ss->dev_priv = priv; - - /* - * a minimum of three endpoints is expected: in (bulk), - * out (bulk), and interrupt; ignore all others - */ - ep_in_found = ep_out_found = ep_intr_found = 0; - for (i = 0; i < iface_desc->bNumEndpoints; i++) { - uint8_t eptype, epaddr; - bool is_input; - - eptype = iface->ep_desc[i].bmAttributes; - eptype &= USB_ENDPOINT_XFERTYPE_MASK; - - epaddr = iface->ep_desc[i].bEndpointAddress; - is_input = epaddr & USB_DIR_IN; - epaddr &= USB_ENDPOINT_NUMBER_MASK; - - if (eptype == USB_ENDPOINT_XFER_BULK) { - if (is_input && !ep_in_found) { - ss->ep_in = epaddr; - ep_in_found++; - } - if (!is_input && !ep_out_found) { - ss->ep_out = epaddr; - ep_out_found++; - } - } - - if (eptype == USB_ENDPOINT_XFER_INT) { - if (is_input && !ep_intr_found) { - ss->ep_int = epaddr; - ss->irqinterval = iface->ep_desc[i].bInterval; - ep_intr_found++; - } - } - } - debug("endpoints: in %d, out %d, intr %d\n", - ss->ep_in, ss->ep_out, ss->ep_int); - - /* apply basic sanity checks */ - if (usb_set_interface(dev, iface_desc->bInterfaceNumber, 0) || - !ss->ep_in || !ss->ep_out || !ss->ep_int) { - debug("device probe incomplete\n"); - return 0; - } - - dev->privptr = ss; - return 1; -} - -/* - * mcs7830_eth_get_info() - network driver's get_info callback - * @dev: detected USB device - * @ss: USB ethernet data structure filled in at probe() - * @eth: ethernet interface data structure to fill in - * Return: #1 upon success, #0 upon error - * - * this routine registers the mandatory init(), send(), recv(), and - * halt() callbacks with the ethernet interface, can register the - * optional write_hwaddr() callback with the ethernet interface, - * and initiates configuration of the interface such that subsequent - * calls to those callbacks results in network communication - */ -int mcs7830_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth) -{ - debug("%s()\n", __func__); - if (!eth) { - debug("%s: missing parameter.\n", __func__); - return 0; - } - - snprintf(eth->name, sizeof(eth->name), "%s%d", - MCS7830_BASE_NAME, mcs7830_iface_idx++); - eth->init = mcs7830_init; - eth->send = mcs7830_send; - eth->recv = mcs7830_recv; - eth->halt = mcs7830_halt; - eth->write_hwaddr = mcs7830_write_mac; - eth->priv = ss; - - if (mcs7830_basic_reset(ss->pusb_dev, ss->dev_priv)) - return 0; - - if (mcs7830_read_mac(ss->pusb_dev, eth->enetaddr)) - return 0; - debug("MAC %pM\n", eth->enetaddr); - - return 1; -} -#endif - - -#ifdef CONFIG_DM_ETH static int mcs7830_eth_start(struct udevice *dev) { struct usb_device *udev = dev_get_parent_priv(dev); @@ -942,4 +667,3 @@ static const struct usb_device_id mcs7830_eth_id_table[] = { }; U_BOOT_USB_DEVICE(mcs7830_eth, mcs7830_eth_id_table); -#endif From patchwork Sun Nov 27 15:25:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709410 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=Mgkef6zg; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsyg103lz23nJ for ; Mon, 28 Nov 2022 02:31:39 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9C81285258; Sun, 27 Nov 2022 16:27:21 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="Mgkef6zg"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CEB6085175; Sun, 27 Nov 2022 16:26:21 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6816D8510C for ; Sun, 27 Nov 2022 16:26:18 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52d.google.com with SMTP id z20so12367350edc.13 for ; Sun, 27 Nov 2022 07:26:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=OKXfYGQz5OFltD1GVVm68u7Gf6y20hxlW8UNYEJFo3c=; b=Mgkef6zgc5z45n+rplAOJUpT+TJG9T+Ab8iC1MlO0/wNSNzW0lUXZufXKzmkx3F2Zq 2XhFknFQ5srCeEUT7f9ez//kPbDJxowcbpqk8RU9yda94Dk6aVhB8QijT5EfXvl3sbNe bWJdE9rZ5VRNOkg33mP5feohRrd8ve2/AhlA4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OKXfYGQz5OFltD1GVVm68u7Gf6y20hxlW8UNYEJFo3c=; b=JMC0fvJWfO9ySqtqbEtKrZwh7rWJMfcFsyF6iP8taR+yWQDgIBeyaqYsMz+CcjUR0f I2Ywg108EIPd1VhL/VPPx/IZpU+5j81lX6FsOxa+AdEyOilXTxGOFxvTPjwn7w8CaVRz RwbIprZur1wfEjE86W0lSEpOKu0LdzGNKkaFsZTfmIW9hyF1K19KYwZ8iKzO09S/I5Ei xkBF3MBkjDdZYMg1/BcpIr+P1SW6j2CEgYCNuY5DT16XtUOZl9uCDJwIwibo0iYvvhyC BdZihMmbKWTCrDxwSz4J7Hc+TmEninxISWty4+wY7Dhzi0IwgOTG026H2mlikuBLxmva Q26A== X-Gm-Message-State: ANoB5pm7yf/k2W75dc+rOaynASUcec3k2E3kyZ1oZqvNLX93Og0SNtpQ sz5vTwLAVjsIMPthcQYxSaPzo4lCa8kxVw== X-Google-Smtp-Source: AA0mqf77oOsNhYYiM0ccui3NbqmuitCyzWrsWmX4eFnvB1aaYlyAKXxGwitHBJu0is/SCAoTxDTQMA== X-Received: by 2002:a05:6402:528d:b0:468:dc9:ec08 with SMTP id en13-20020a056402528d00b004680dc9ec08mr29061488edb.17.1669562777884; Sun, 27 Nov 2022 07:26:17 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:17 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 36/41] usb: eth: r8152: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:31 -0500 Message-Id: <20221127152536.1556469-36-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/usb/eth/r8152.c | 275 ---------------------------------------- drivers/usb/eth/r8152.h | 2 - 2 files changed, 277 deletions(-) diff --git a/drivers/usb/eth/r8152.c b/drivers/usb/eth/r8152.c index 1aaa5a79b3f6..3c866f4f1e2d 100644 --- a/drivers/usb/eth/r8152.c +++ b/drivers/usb/eth/r8152.c @@ -18,43 +18,6 @@ #include "usb_ether.h" #include "r8152.h" -#ifndef CONFIG_DM_ETH -/* local vars */ -static int curr_eth_dev; /* index for name of next device detected */ - -struct r8152_dongle { - unsigned short vendor; - unsigned short product; -}; - -static const struct r8152_dongle r8152_dongles[] = { - /* Realtek */ - { 0x0bda, 0x8050 }, - { 0x0bda, 0x8152 }, - { 0x0bda, 0x8153 }, - - /* Samsung */ - { 0x04e8, 0xa101 }, - - /* Lenovo */ - { 0x17ef, 0x304f }, - { 0x17ef, 0x3052 }, - { 0x17ef, 0x3054 }, - { 0x17ef, 0x3057 }, - { 0x17ef, 0x7205 }, - { 0x17ef, 0x720a }, - { 0x17ef, 0x720b }, - { 0x17ef, 0x720c }, - - /* TP-LINK */ - { 0x2357, 0x0601 }, - { 0x2357, 0x0602 }, - - /* Nvidia */ - { 0x0955, 0x09ff }, -}; -#endif - struct r8152_version { unsigned short tcr; unsigned short version; @@ -1479,243 +1442,6 @@ static int r8152_send_common(struct ueth_data *ueth, void *packet, int length) return err; } -#ifndef CONFIG_DM_ETH -static int r8152_init(struct eth_device *eth, struct bd_info *bd) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - struct r8152 *tp = (struct r8152 *)dev->dev_priv; - - return r8152_init_common(tp); -} - -static int r8152_send(struct eth_device *eth, void *packet, int length) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - - return r8152_send_common(dev, packet, length); -} - -static int r8152_recv(struct eth_device *eth) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - - ALLOC_CACHE_ALIGN_BUFFER(uint8_t, recv_buf, RTL8152_AGG_BUF_SZ); - unsigned char *pkt_ptr; - int err; - int actual_len; - u16 packet_len; - - u32 bytes_process = 0; - struct rx_desc *rx_desc; - - debug("** %s()\n", __func__); - - err = usb_bulk_msg(dev->pusb_dev, - usb_rcvbulkpipe(dev->pusb_dev, dev->ep_in), - (void *)recv_buf, - RTL8152_AGG_BUF_SZ, - &actual_len, - USB_BULK_RECV_TIMEOUT); - debug("Rx: len = %u, actual = %u, err = %d\n", RTL8152_AGG_BUF_SZ, - actual_len, err); - if (err != 0) { - debug("Rx: failed to receive\n"); - return -1; - } - if (actual_len > RTL8152_AGG_BUF_SZ) { - debug("Rx: received too many bytes %d\n", actual_len); - return -1; - } - - while (bytes_process < actual_len) { - rx_desc = (struct rx_desc *)(recv_buf + bytes_process); - pkt_ptr = recv_buf + sizeof(struct rx_desc) + bytes_process; - - packet_len = le32_to_cpu(rx_desc->opts1) & RX_LEN_MASK; - packet_len -= CRC_SIZE; - - net_process_received_packet(pkt_ptr, packet_len); - - bytes_process += - (packet_len + sizeof(struct rx_desc) + CRC_SIZE); - - if (bytes_process % 8) - bytes_process = bytes_process + 8 - (bytes_process % 8); - } - - return 0; -} - -static void r8152_halt(struct eth_device *eth) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - struct r8152 *tp = (struct r8152 *)dev->dev_priv; - - debug("** %s()\n", __func__); - - tp->rtl_ops.disable(tp); -} - -static int r8152_write_hwaddr(struct eth_device *eth) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - struct r8152 *tp = (struct r8152 *)dev->dev_priv; - - unsigned char enetaddr[8] = {0}; - - memcpy(enetaddr, eth->enetaddr, ETH_ALEN); - - ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG); - pla_ocp_write(tp, PLA_IDR, BYTE_EN_SIX_BYTES, 8, enetaddr); - ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML); - - debug("MAC %pM\n", eth->enetaddr); - return 0; -} - -void r8152_eth_before_probe(void) -{ - curr_eth_dev = 0; -} - -/* Probe to see if a new device is actually an realtek device */ -int r8152_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss) -{ - struct usb_interface *iface; - struct usb_interface_descriptor *iface_desc; - int ep_in_found = 0, ep_out_found = 0; - struct r8152 *tp; - int i; - - /* let's examine the device now */ - iface = &dev->config.if_desc[ifnum]; - iface_desc = &dev->config.if_desc[ifnum].desc; - - for (i = 0; i < ARRAY_SIZE(r8152_dongles); i++) { - if (dev->descriptor.idVendor == r8152_dongles[i].vendor && - dev->descriptor.idProduct == r8152_dongles[i].product) - /* Found a supported dongle */ - break; - } - - if (i == ARRAY_SIZE(r8152_dongles)) - return 0; - - memset(ss, 0, sizeof(struct ueth_data)); - - /* At this point, we know we've got a live one */ - debug("\n\nUSB Ethernet device detected: %#04x:%#04x\n", - dev->descriptor.idVendor, dev->descriptor.idProduct); - - /* Initialize the ueth_data structure with some useful info */ - ss->ifnum = ifnum; - ss->pusb_dev = dev; - ss->subclass = iface_desc->bInterfaceSubClass; - ss->protocol = iface_desc->bInterfaceProtocol; - - /* alloc driver private */ - ss->dev_priv = calloc(1, sizeof(struct r8152)); - - if (!ss->dev_priv) - return 0; - - /* - * We are expecting a minimum of 3 endpoints - in, out (bulk), and - * int. We will ignore any others. - */ - for (i = 0; i < iface_desc->bNumEndpoints; i++) { - /* is it an BULK endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK) { - u8 ep_addr = iface->ep_desc[i].bEndpointAddress; - - if (ep_addr & USB_DIR_IN) { - if (!ep_in_found) { - ss->ep_in = ep_addr & - USB_ENDPOINT_NUMBER_MASK; - ep_in_found = 1; - } - } else { - if (!ep_out_found) { - ss->ep_out = ep_addr & - USB_ENDPOINT_NUMBER_MASK; - ep_out_found = 1; - } - } - } - - /* is it an interrupt endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) { - ss->ep_int = iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - ss->irqinterval = iface->ep_desc[i].bInterval; - } - } - - debug("Endpoints In %d Out %d Int %d\n", - ss->ep_in, ss->ep_out, ss->ep_int); - - /* Do some basic sanity checks, and bail if we find a problem */ - if (usb_set_interface(dev, iface_desc->bInterfaceNumber, 0) || - !ss->ep_in || !ss->ep_out || !ss->ep_int) { - debug("Problems with device\n"); - goto error; - } - - dev->privptr = (void *)ss; - - tp = ss->dev_priv; - tp->udev = dev; - tp->intf = iface; - - r8152b_get_version(tp); - - if (rtl_ops_init(tp)) - goto error; - - tp->rtl_ops.init(tp); - tp->rtl_ops.up(tp); - - rtl8152_set_speed(tp, AUTONEG_ENABLE, - tp->supports_gmii ? SPEED_1000 : SPEED_100, - DUPLEX_FULL); - - return 1; - -error: - cfree(ss->dev_priv); - ss->dev_priv = 0; - return 0; -} - -int r8152_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth) -{ - if (!eth) { - debug("%s: missing parameter.\n", __func__); - return 0; - } - - sprintf(eth->name, "%s#%d", R8152_BASE_NAME, curr_eth_dev++); - eth->init = r8152_init; - eth->send = r8152_send; - eth->recv = r8152_recv; - eth->halt = r8152_halt; - eth->write_hwaddr = r8152_write_hwaddr; - eth->priv = ss; - - /* Get the MAC address */ - if (r8152_read_mac(ss->dev_priv, eth->enetaddr) < 0) - return 0; - - debug("MAC %pM\n", eth->enetaddr); - return 1; -} -#endif /* !CONFIG_DM_ETH */ - -#ifdef CONFIG_DM_ETH static int r8152_eth_start(struct udevice *dev) { struct r8152 *tp = dev_get_priv(dev); @@ -1895,4 +1621,3 @@ static const struct usb_device_id r8152_eth_id_table[] = { }; U_BOOT_USB_DEVICE(r8152_eth, r8152_eth_id_table); -#endif /* CONFIG_DM_ETH */ diff --git a/drivers/usb/eth/r8152.h b/drivers/usb/eth/r8152.h index 45172c055f42..7b128b1934b6 100644 --- a/drivers/usb/eth/r8152.h +++ b/drivers/usb/eth/r8152.h @@ -642,9 +642,7 @@ struct r8152 { u8 version; -#ifdef CONFIG_DM_ETH struct ueth_data ueth; -#endif }; int generic_ocp_write(struct r8152 *tp, u16 index, u16 byteen, From patchwork Sun Nov 27 15:25:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709411 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=ZUijQDki; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKsys3fxrz23nJ for ; Mon, 28 Nov 2022 02:31:49 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 93BEA85275; Sun, 27 Nov 2022 16:27:22 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="ZUijQDki"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8D81984F03; Sun, 27 Nov 2022 16:26:22 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 79D7E850C8 for ; Sun, 27 Nov 2022 16:26:19 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62d.google.com with SMTP id gu23so2138374ejb.10 for ; Sun, 27 Nov 2022 07:26:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=lhDj7k9YFwMXeNgUJwa/5in/UvB4Fxli+Mc/fUjie0k=; b=ZUijQDkiyG5jKRMn4WBO2/R/L/t0KpfyiN0ZBVn42yDFqJGh6OpiK6clNN45xp6gTm DsziHoD5tdRADCAUWN8f3jwSjw0hU3hzbKhEepgrJOovMElC9BE2yVF0WIvkONucDCgn es/JjBzbiHazGRTt9bfvShbk2eK1o91Azr7JY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lhDj7k9YFwMXeNgUJwa/5in/UvB4Fxli+Mc/fUjie0k=; b=NunHfPNyoUXcaynsnxsTIG5gtPXGA3RMghDcQvVEKR5DeZCrv69y3rOWbSXCuRUMcK LqsX3LV8Bhh8tvwmL2CS0jswob5mVpkLLBeJbGkz5i/uAz/Hj+PxVS7+UyRwAw4c68Gt HQ3EYQImoozCCDsixCmPF7JMgR1tOrBtyoVn1r1tktw00gtbvYEgLnl/ONjTA5aAeTBc +hZ32s41eV+d9U38R6JZGo18IEhDU7ldk3zqKjiSc5u7i+uSJDMeJg51iR5fTwoqXsYl s+BA5jBeYK/PuHI/MnIvQJ/Zzf2/8kMCxoZ3BArVOflplz1vH8ywN8S9ote2VoMB6GJ+ Oycw== X-Gm-Message-State: ANoB5pnYN62FrJsXzs3WNlli85Lmk45ehZNXhBJ+uk3ZRpqRANWSeeGc iFM2i1jBv4j0ZZACd4rr1yN92ymmfYO3AA== X-Google-Smtp-Source: AA0mqf5ATKZMiYColfFVzUuJsoce0GfV9UNETijA3dwjcz66Q/Q2qFbnTsMM4DWG7V1byVQu8snvLg== X-Received: by 2002:a17:906:a156:b0:78d:9b8b:93cc with SMTP id bu22-20020a170906a15600b0078d9b8b93ccmr40655217ejb.529.1669562778898; Sun, 27 Nov 2022 07:26:18 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:18 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 37/41] usb: eth: smsc95xx: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:32 -0500 Message-Id: <20221127152536.1556469-37-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/usb/eth/smsc95xx.c | 234 ------------------------------------- 1 file changed, 234 deletions(-) diff --git a/drivers/usb/eth/smsc95xx.c b/drivers/usb/eth/smsc95xx.c index 283c52c16ac6..de6586e62639 100644 --- a/drivers/usb/eth/smsc95xx.c +++ b/drivers/usb/eth/smsc95xx.c @@ -143,16 +143,9 @@ #define TURBO_MODE -#ifndef CONFIG_DM_ETH -/* local vars */ -static int curr_eth_dev; /* index for name of next device detected */ -#endif - /* driver private */ struct smsc95xx_private { -#ifdef CONFIG_DM_ETH struct ueth_data ueth; -#endif size_t rx_urb_size; /* maximum USB URB size */ u32 mac_cr; /* MAC control register value */ int have_hwaddr; /* 1 if we have a hardware MAC address */ @@ -521,11 +514,6 @@ static int smsc95xx_init_common(struct usb_device *udev, struct ueth_data *dev, debug("timeout waiting for PHY Reset\n"); return -ETIMEDOUT; } -#ifndef CONFIG_DM_ETH - if (!priv->have_hwaddr && smsc95xx_init_mac_address(enetaddr, udev) == - 0) - priv->have_hwaddr = 1; -#endif if (!priv->have_hwaddr) { puts("Error: SMSC95xx: No MAC address set - set usbethaddr\n"); return -EADDRNOTAVAIL; @@ -712,227 +700,6 @@ static int smsc95xx_send_common(struct ueth_data *dev, void *packet, int length) return err; } -#ifndef CONFIG_DM_ETH -/* - * Smsc95xx callbacks - */ -static int smsc95xx_init(struct eth_device *eth, struct bd_info *bd) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - struct usb_device *udev = dev->pusb_dev; - struct smsc95xx_private *priv = - (struct smsc95xx_private *)dev->dev_priv; - - return smsc95xx_init_common(udev, dev, priv, eth->enetaddr); -} - -static int smsc95xx_send(struct eth_device *eth, void *packet, int length) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - - return smsc95xx_send_common(dev, packet, length); -} - -static int smsc95xx_recv(struct eth_device *eth) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - DEFINE_CACHE_ALIGN_BUFFER(unsigned char, recv_buf, RX_URB_SIZE); - unsigned char *buf_ptr; - int err; - int actual_len; - u32 packet_len; - int cur_buf_align; - - debug("** %s()\n", __func__); - err = usb_bulk_msg(dev->pusb_dev, - usb_rcvbulkpipe(dev->pusb_dev, dev->ep_in), - (void *)recv_buf, RX_URB_SIZE, &actual_len, - USB_BULK_RECV_TIMEOUT); - debug("Rx: len = %u, actual = %u, err = %d\n", RX_URB_SIZE, - actual_len, err); - if (err != 0) { - debug("Rx: failed to receive\n"); - return -err; - } - if (actual_len > RX_URB_SIZE) { - debug("Rx: received too many bytes %d\n", actual_len); - return -ENOSPC; - } - - buf_ptr = recv_buf; - while (actual_len > 0) { - /* - * 1st 4 bytes contain the length of the actual data plus error - * info. Extract data length. - */ - if (actual_len < sizeof(packet_len)) { - debug("Rx: incomplete packet length\n"); - return -EIO; - } - memcpy(&packet_len, buf_ptr, sizeof(packet_len)); - le32_to_cpus(&packet_len); - if (packet_len & RX_STS_ES_) { - debug("Rx: Error header=%#x", packet_len); - return -EIO; - } - packet_len = ((packet_len & RX_STS_FL_) >> 16); - - if (packet_len > actual_len - sizeof(packet_len)) { - debug("Rx: too large packet: %d\n", packet_len); - return -EIO; - } - - /* Notify net stack */ - net_process_received_packet(buf_ptr + sizeof(packet_len), - packet_len - 4); - - /* Adjust for next iteration */ - actual_len -= sizeof(packet_len) + packet_len; - buf_ptr += sizeof(packet_len) + packet_len; - cur_buf_align = (ulong)buf_ptr - (ulong)recv_buf; - - if (cur_buf_align & 0x03) { - int align = 4 - (cur_buf_align & 0x03); - - actual_len -= align; - buf_ptr += align; - } - } - return err; -} - -static void smsc95xx_halt(struct eth_device *eth) -{ - debug("** %s()\n", __func__); -} - -static int smsc95xx_write_hwaddr(struct eth_device *eth) -{ - struct ueth_data *dev = eth->priv; - struct usb_device *udev = dev->pusb_dev; - struct smsc95xx_private *priv = dev->dev_priv; - - return smsc95xx_write_hwaddr_common(udev, priv, eth->enetaddr); -} - -/* - * SMSC probing functions - */ -void smsc95xx_eth_before_probe(void) -{ - curr_eth_dev = 0; -} - -struct smsc95xx_dongle { - unsigned short vendor; - unsigned short product; -}; - -static const struct smsc95xx_dongle smsc95xx_dongles[] = { - { 0x0424, 0xec00 }, /* LAN9512/LAN9514 Ethernet */ - { 0x0424, 0x9500 }, /* LAN9500 Ethernet */ - { 0x0424, 0x9730 }, /* LAN9730 Ethernet (HSIC) */ - { 0x0424, 0x9900 }, /* SMSC9500 USB Ethernet Device (SAL10) */ - { 0x0424, 0x9e00 }, /* LAN9500A Ethernet */ - { 0x0000, 0x0000 } /* END - Do not remove */ -}; - -/* Probe to see if a new device is actually an SMSC device */ -int smsc95xx_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss) -{ - struct usb_interface *iface; - struct usb_interface_descriptor *iface_desc; - int i; - - /* let's examine the device now */ - iface = &dev->config.if_desc[ifnum]; - iface_desc = &dev->config.if_desc[ifnum].desc; - - for (i = 0; smsc95xx_dongles[i].vendor != 0; i++) { - if (dev->descriptor.idVendor == smsc95xx_dongles[i].vendor && - dev->descriptor.idProduct == smsc95xx_dongles[i].product) - /* Found a supported dongle */ - break; - } - if (smsc95xx_dongles[i].vendor == 0) - return 0; - - /* At this point, we know we've got a live one */ - debug("\n\nUSB Ethernet device detected\n"); - memset(ss, '\0', sizeof(struct ueth_data)); - - /* Initialize the ueth_data structure with some useful info */ - ss->ifnum = ifnum; - ss->pusb_dev = dev; - ss->subclass = iface_desc->bInterfaceSubClass; - ss->protocol = iface_desc->bInterfaceProtocol; - - /* - * We are expecting a minimum of 3 endpoints - in, out (bulk), and int. - * We will ignore any others. - */ - for (i = 0; i < iface_desc->bNumEndpoints; i++) { - /* is it an BULK endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK) { - if (iface->ep_desc[i].bEndpointAddress & USB_DIR_IN) - ss->ep_in = - iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - else - ss->ep_out = - iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - } - - /* is it an interrupt endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) { - ss->ep_int = iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - ss->irqinterval = iface->ep_desc[i].bInterval; - } - } - debug("Endpoints In %d Out %d Int %d\n", - ss->ep_in, ss->ep_out, ss->ep_int); - - /* Do some basic sanity checks, and bail if we find a problem */ - if (usb_set_interface(dev, iface_desc->bInterfaceNumber, 0) || - !ss->ep_in || !ss->ep_out || !ss->ep_int) { - debug("Problems with device\n"); - return 0; - } - dev->privptr = (void *)ss; - - /* alloc driver private */ - ss->dev_priv = calloc(1, sizeof(struct smsc95xx_private)); - if (!ss->dev_priv) - return 0; - - return 1; -} - -int smsc95xx_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth) -{ - debug("** %s()\n", __func__); - if (!eth) { - debug("%s: missing parameter.\n", __func__); - return 0; - } - sprintf(eth->name, "%s%d", SMSC95XX_BASE_NAME, curr_eth_dev++); - eth->init = smsc95xx_init; - eth->send = smsc95xx_send; - eth->recv = smsc95xx_recv; - eth->halt = smsc95xx_halt; - eth->write_hwaddr = smsc95xx_write_hwaddr; - eth->priv = ss; - return 1; -} -#endif /* !CONFIG_DM_ETH */ - -#ifdef CONFIG_DM_ETH static int smsc95xx_eth_start(struct udevice *dev) { struct usb_device *udev = dev_get_parent_priv(dev); @@ -1077,4 +844,3 @@ static const struct usb_device_id smsc95xx_eth_id_table[] = { }; U_BOOT_USB_DEVICE(smsc95xx_eth, smsc95xx_eth_id_table); -#endif From patchwork Sun Nov 27 15:25:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709413 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=V+sRguA6; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKszG2tN1z23nJ for ; Mon, 28 Nov 2022 02:32:10 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C647B85288; Sun, 27 Nov 2022 16:27:24 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="V+sRguA6"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7AB8884F03; Sun, 27 Nov 2022 16:26:24 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8BDE484F27 for ; Sun, 27 Nov 2022 16:26:20 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52b.google.com with SMTP id s5so12345861edc.12 for ; Sun, 27 Nov 2022 07:26:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Gv6PTJOqQ8J19W479Hrnz6LVTuHFks1rcmSF1bW/jEc=; b=V+sRguA6XkWF3udohEvV5XLH4mdH9ZL2ITOERczcYaalztb06QhxcKqzLHzDjAwzAX RC7uOnNt/DvfpglencdAwj4yHs8iL+QK5eBQnYlN3pn5ah0FxQgd41NWK9FbpOwAhZsM 5Z+k9ItGFL1nL6Xlm+hX2amJ/oiQsTfgaj20k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Gv6PTJOqQ8J19W479Hrnz6LVTuHFks1rcmSF1bW/jEc=; b=MmhTT3PCnjPWORxdPvx/3NspbvoSSIl4YAr+lf+Q3FU/zMWUwbOAWy7xVYzgtQLfYB rpRxKIr56WV4mqpMSmfSNKO1KtKF/S9hErNZZVXz9pKOM+O3vbTm9XVGJ6flHCHqPeIR eRg71ilqk0MCyfG8YSrkQjJHJgqpvK6x3zaJYeRqYhJ0F9PODNsvxDj216oQenKySy+4 +9dWQa2bRKgWyHHi4kq9L5sLsqf1mbZThJ6VxCjjuFKv2rBeVYokTG7pMHrPTIHiIMNm Etb4IOpxgs/KiSg0DT8S4o4OnjzNH8yVX2+XG4ijCJNg3ZWBA5aq48DLQHFcN8HlEAhq XfnQ== X-Gm-Message-State: ANoB5plrmPsI31W3it1BARXtbzoALMzu0IfpolXHCAxQsJMjyfh1xAYX Hlw4h1+y1deNQM0TQOw2nRZpaOoWdWBtbA== X-Google-Smtp-Source: AA0mqf4PXHxopATrK3Zo46Z1AIrdKBQcwmZinjmtu2YiHx8JpapYQLBlr2ynxqMpxUh6/zzrlk45ZQ== X-Received: by 2002:a05:6402:110d:b0:469:dd6:bfee with SMTP id u13-20020a056402110d00b004690dd6bfeemr27761627edv.330.1669562779987; Sun, 27 Nov 2022 07:26:19 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:19 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 38/41] usb: eth: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:33 -0500 Message-Id: <20221127152536.1556469-38-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code fro usb_ether itself. Signed-off-by: Tom Rini --- drivers/usb/eth/usb_ether.c | 199 ---------------------------------- drivers/usb/host/usb-uclass.c | 43 -------- include/usb.h | 15 --- include/usb_ether.h | 44 +------- 4 files changed, 1 insertion(+), 300 deletions(-) diff --git a/drivers/usb/eth/usb_ether.c b/drivers/usb/eth/usb_ether.c index e368ecda0d70..2e9af54fd63d 100644 --- a/drivers/usb/eth/usb_ether.c +++ b/drivers/usb/eth/usb_ether.c @@ -15,8 +15,6 @@ #include "usb_ether.h" -#ifdef CONFIG_DM_ETH - #define USB_BULK_RECV_TIMEOUT 500 int usb_ether_register(struct udevice *dev, struct ueth_data *ueth, int rxsize) @@ -137,200 +135,3 @@ int usb_ether_get_rx_bytes(struct ueth_data *ueth, uint8_t **ptrp) return ueth->rxlen - ueth->rxptr; } - -#else - -typedef void (*usb_eth_before_probe)(void); -typedef int (*usb_eth_probe)(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss); -typedef int (*usb_eth_get_info)(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *dev_desc); - -struct usb_eth_prob_dev { - usb_eth_before_probe before_probe; /* optional */ - usb_eth_probe probe; - usb_eth_get_info get_info; -}; - -/* driver functions go here, each bracketed by #ifdef CONFIG_USB_ETHER_xxx */ -static const struct usb_eth_prob_dev prob_dev[] = { -#ifdef CONFIG_USB_ETHER_ASIX - { - .before_probe = asix_eth_before_probe, - .probe = asix_eth_probe, - .get_info = asix_eth_get_info, - }, -#endif -#ifdef CONFIG_USB_ETHER_ASIX88179 - { - .before_probe = ax88179_eth_before_probe, - .probe = ax88179_eth_probe, - .get_info = ax88179_eth_get_info, - }, -#endif -#ifdef CONFIG_USB_ETHER_MCS7830 - { - .before_probe = mcs7830_eth_before_probe, - .probe = mcs7830_eth_probe, - .get_info = mcs7830_eth_get_info, - }, -#endif -#ifdef CONFIG_USB_ETHER_SMSC95XX - { - .before_probe = smsc95xx_eth_before_probe, - .probe = smsc95xx_eth_probe, - .get_info = smsc95xx_eth_get_info, - }, -#endif -#ifdef CONFIG_USB_ETHER_RTL8152 - { - .before_probe = r8152_eth_before_probe, - .probe = r8152_eth_probe, - .get_info = r8152_eth_get_info, - }, -#endif - { }, /* END */ -}; - -static int usb_max_eth_dev; /* number of highest available usb eth device */ -static struct ueth_data usb_eth[USB_MAX_ETH_DEV]; - -/******************************************************************************* - * tell if current ethernet device is a usb dongle - */ -int is_eth_dev_on_usb_host(void) -{ - int i; - struct eth_device *dev = eth_get_dev(); - - if (dev) { - for (i = 0; i < usb_max_eth_dev; i++) - if (&usb_eth[i].eth_dev == dev) - return 1; - } - return 0; -} - -/* - * Given a USB device, ask each driver if it can support it, and attach it - * to the first driver that says 'yes' - */ -static void probe_valid_drivers(struct usb_device *dev) -{ - struct eth_device *eth; - int j; - - for (j = 0; prob_dev[j].probe && prob_dev[j].get_info; j++) { - if (!prob_dev[j].probe(dev, 0, &usb_eth[usb_max_eth_dev])) - continue; - /* - * ok, it is a supported eth device. Get info and fill it in - */ - eth = &usb_eth[usb_max_eth_dev].eth_dev; - if (prob_dev[j].get_info(dev, - &usb_eth[usb_max_eth_dev], - eth)) { - /* found proper driver */ - /* register with networking stack */ - usb_max_eth_dev++; - - /* - * usb_max_eth_dev must be incremented prior to this - * call since eth_current_changed (internally called) - * relies on it - */ - eth_register(eth); - if (eth_write_hwaddr(eth, "usbeth", - usb_max_eth_dev - 1)) - puts("Warning: failed to set MAC address\n"); - break; - } - } - } - -/******************************************************************************* - * scan the usb and reports device info - * to the user if mode = 1 - * returns current device or -1 if no - */ -int usb_host_eth_scan(int mode) -{ - int i, old_async; - - if (mode == 1) - printf(" scanning usb for ethernet devices... "); - - old_async = usb_disable_asynch(1); /* asynch transfer not allowed */ - - /* unregister a previously detected device */ - for (i = 0; i < usb_max_eth_dev; i++) - eth_unregister(&usb_eth[i].eth_dev); - - memset(usb_eth, 0, sizeof(usb_eth)); - - for (i = 0; prob_dev[i].probe; i++) { - if (prob_dev[i].before_probe) - prob_dev[i].before_probe(); - } - - usb_max_eth_dev = 0; -#if CONFIG_IS_ENABLED(DM_USB) - /* - * TODO: We should add U_BOOT_USB_DEVICE() declarations to each USB - * Ethernet driver and then most of this file can be removed. - */ - struct udevice *bus; - struct uclass *uc; - int ret; - - ret = uclass_get(UCLASS_USB, &uc); - if (ret) - return ret; - uclass_foreach_dev(bus, uc) { - for (i = 0; i < USB_MAX_DEVICE; i++) { - struct usb_device *dev; - - dev = usb_get_dev_index(bus, i); /* get device */ - debug("i=%d, %s\n", i, dev ? dev->dev->name : "(done)"); - if (!dev) - break; /* no more devices available */ - - /* - * find valid usb_ether driver for this device, - * if any - */ - probe_valid_drivers(dev); - - /* check limit */ - if (usb_max_eth_dev == USB_MAX_ETH_DEV) - break; - } /* for */ - } -#else - for (i = 0; i < USB_MAX_DEVICE; i++) { - struct usb_device *dev; - - dev = usb_get_dev_index(i); /* get device */ - debug("i=%d\n", i); - if (!dev) - break; /* no more devices available */ - - /* find valid usb_ether driver for this device, if any */ - probe_valid_drivers(dev); - - /* check limit */ - if (usb_max_eth_dev == USB_MAX_ETH_DEV) - break; - } /* for */ -#endif - if (usb_max_eth_dev == USB_MAX_ETH_DEV) { - printf("max USB Ethernet Device reached: %d stopping\n", - usb_max_eth_dev); - } - usb_disable_asynch(old_async); /* restore asynch value */ - printf("%d Ethernet Device(s) found\n", usb_max_eth_dev); - if (usb_max_eth_dev > 0) - return 0; - return -1; -} -#endif diff --git a/drivers/usb/host/usb-uclass.c b/drivers/usb/host/usb-uclass.c index 27e2fc6fcd36..7b7c2a7241b9 100644 --- a/drivers/usb/host/usb-uclass.c +++ b/drivers/usb/host/usb-uclass.c @@ -346,49 +346,6 @@ int usb_init(void) return usb_started ? 0 : -1; } -/* - * TODO(sjg@chromium.org): Remove this legacy function. At present it is needed - * to support boards which use driver model for USB but not Ethernet, and want - * to use USB Ethernet. - * - * The #if clause is here to ensure that remains the only case. - */ -#if !defined(CONFIG_DM_ETH) && defined(CONFIG_USB_HOST_ETHER) -static struct usb_device *find_child_devnum(struct udevice *parent, int devnum) -{ - struct usb_device *udev; - struct udevice *dev; - - if (!device_active(parent)) - return NULL; - udev = dev_get_parent_priv(parent); - if (udev->devnum == devnum) - return udev; - - for (device_find_first_child(parent, &dev); - dev; - device_find_next_child(&dev)) { - udev = find_child_devnum(dev, devnum); - if (udev) - return udev; - } - - return NULL; -} - -struct usb_device *usb_get_dev_index(struct udevice *bus, int index) -{ - struct udevice *dev; - int devnum = index + 1; /* Addresses are allocated from 1 on USB */ - - device_find_first_child(bus, &dev); - if (!dev) - return NULL; - - return find_child_devnum(dev, devnum); -} -#endif - int usb_setup_ehci_gadget(struct ehci_ctrl **ctlrp) { struct usb_plat *plat; diff --git a/include/usb.h b/include/usb.h index 7e3796bd5baa..80cb84672030 100644 --- a/include/usb.h +++ b/include/usb.h @@ -808,21 +808,6 @@ struct dm_usb_ops { #define usb_get_ops(dev) ((struct dm_usb_ops *)(dev)->driver->ops) #define usb_get_emul_ops(dev) ((struct dm_usb_ops *)(dev)->driver->ops) -/** - * usb_get_dev_index() - look up a device index number - * - * Look up devices using their index number (starting at 0). This works since - * in U-Boot device addresses are allocated starting at 1 with no gaps. - * - * TODO(sjg@chromium.org): Remove this function when usb_ether.c is modified - * to work better with driver model. - * - * @bus: USB bus to check - * @index: Index number of device to find (0=first). This is just the - * device address less 1. - */ -struct usb_device *usb_get_dev_index(struct udevice *bus, int index); - /** * usb_setup_device() - set up a device ready for use * diff --git a/include/usb_ether.h b/include/usb_ether.h index 8c7bd0690643..18d7184711b2 100644 --- a/include/usb_ether.h +++ b/include/usb_ether.h @@ -8,19 +8,13 @@ #include -/* TODO(sjg@chromium.org): Remove @pusb_dev when all boards use CONFIG_DM_ETH */ +/* TODO(sjg@chromium.org): Remove @pusb_dev now that all boards use CONFIG_DM_ETH */ struct ueth_data { /* eth info */ -#ifdef CONFIG_DM_ETH uint8_t *rxbuf; int rxsize; int rxlen; /* Total bytes available in rxbuf */ int rxptr; /* Current position in rxbuf */ -#else - struct eth_device eth_dev; /* used with eth_register */ - /* driver private */ - void *dev_priv; -#endif int phy_id; /* mii phy id */ /* usb info */ @@ -34,7 +28,6 @@ struct ueth_data { unsigned char irqinterval; /* Intervall for IRQ Pipe */ }; -#ifdef CONFIG_DM_ETH /** * usb_ether_register() - register a new USB ethernet device * @@ -92,40 +85,5 @@ int usb_ether_get_rx_bytes(struct ueth_data *ueth, uint8_t **ptrp); * @num_bytes: Number of bytes to skip, or -1 to skip all bytes */ void usb_ether_advance_rxbuf(struct ueth_data *ueth, int num_bytes); -#else -/* - * Function definitions for each USB ethernet driver go here - * (declaration is unconditional, compilation is conditional) - */ -void asix_eth_before_probe(void); -int asix_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss); -int asix_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth); - -void ax88179_eth_before_probe(void); -int ax88179_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss); -int ax88179_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth); - -void mcs7830_eth_before_probe(void); -int mcs7830_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss); -int mcs7830_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth); - -void smsc95xx_eth_before_probe(void); -int smsc95xx_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss); -int smsc95xx_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth); - -void r8152_eth_before_probe(void); -int r8152_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss); -int r8152_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth); -#endif #endif /* __USB_ETHER_H__ */ From patchwork Sun Nov 27 15:25:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709417 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=BRhecYEK; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKt030YV9z23nJ for ; Mon, 28 Nov 2022 02:32:51 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 359E9852AD; Sun, 27 Nov 2022 16:27:29 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="BRhecYEK"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 59C6B8519A; Sun, 27 Nov 2022 16:26:26 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A8F6485172 for ; Sun, 27 Nov 2022 16:26:21 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62a.google.com with SMTP id n21so20315136ejb.9 for ; Sun, 27 Nov 2022 07:26:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=GvLZHO0I7aJ/kPPSrK9uxU30XWBgCn0CRtoa5I3RQ/Q=; b=BRhecYEKXFVNqt1SBcmicCJOlEj0NqCAasdkrgMiBeXBjK2ntWXwQM4364jpfYFegR IsOyGkBOaA4ftME6vs6LOerO39KF+yrw4iFAuGSxkgiTUCBu3fwj2UfGb+odq6BOo5un 4BSj2NhZ5JJmq7m0BoDk7KemWm+S4tDwxoDEk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GvLZHO0I7aJ/kPPSrK9uxU30XWBgCn0CRtoa5I3RQ/Q=; b=ZTKHoMsA0hUttnQMzrnH7I/+ADZw2oYazkz7OHXMsQ0Bn0yA0NRSSWRlk6k31JONdB jtfVDsHY3lJkrMu51XEizTc7SbPT3G7aLuRF4Vv+XmsMWy/y5gz8j5ViMoLkgpoGiwNV 5giQ0ccw5M/jv3jC0RqWHLh+1q096iXeloWSGn33GEeuY0AoYkgkOCOM+GKPvls6QlwX VMiHphhD8HyfhlfrRRuOmqBjMO1i48FawlVYMVVRiFwWxgkklqWzwfw3R4fqWV0rxCyJ 7RPMNqLpG2u+AWgYgwHQWZbfZiype8WvTe+tB3C/fZZD1bZZ1ZVnXl9Wlq9H2kOM25c0 V+Iw== X-Gm-Message-State: ANoB5pnbF2o8XYBKgDLajXa8u0vp6RwHjy852VxTjkxsCYRrMrvi+XiA UlSrLDbDhgTRtIswVU9AmURja0SSHQsyLA== X-Google-Smtp-Source: AA0mqf6irKmVprna8+JH+huX70gusO+qG+Z4+cVx4Qx0ki719Kc3dtlS8KjJSx8jOhv5HEqUt3WN8Q== X-Received: by 2002:a17:907:a50c:b0:7bc:98f6:35c4 with SMTP id vr12-20020a170907a50c00b007bc98f635c4mr10871935ejc.123.1669562781071; Sun, 27 Nov 2022 07:26:21 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:20 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 39/41] usb: gadget: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:34 -0500 Message-Id: <20221127152536.1556469-39-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/usb/gadget/ether.c | 97 -------------------------------------- drivers/usb/gadget/rndis.c | 9 ---- drivers/usb/gadget/rndis.h | 11 ----- 3 files changed, 117 deletions(-) diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 43aec7ffa702..85c971e4c43e 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c @@ -109,11 +109,7 @@ struct eth_dev { struct usb_request *tx_req, *rx_req; -#ifndef CONFIG_DM_ETH - struct eth_device *net; -#else struct udevice *net; -#endif struct net_device_stats stats; unsigned int tx_qlen; @@ -140,11 +136,7 @@ struct eth_dev { /*-------------------------------------------------------------------------*/ struct ether_priv { struct eth_dev ethdev; -#ifndef CONFIG_DM_ETH - struct eth_device netdev; -#else struct udevice *netdev; -#endif struct usb_gadget_driver eth_driver; }; @@ -1827,22 +1819,14 @@ static void rndis_control_ack_complete(struct usb_ep *ep, static char rndis_resp_buf[8] __attribute__((aligned(sizeof(__le32)))); -#ifndef CONFIG_DM_ETH -static int rndis_control_ack(struct eth_device *net) -#else static int rndis_control_ack(struct udevice *net) -#endif { struct ether_priv *priv; struct eth_dev *dev; int length; struct usb_request *resp; -#ifndef CONFIG_DM_ETH - priv = (struct ether_priv *)net->priv; -#else priv = dev_get_priv(net); -#endif dev = &priv->ethdev; resp = dev->stat_req; @@ -1989,9 +1973,7 @@ static int eth_bind(struct usb_gadget *gadget) int status = -ENOMEM; int gcnum; u8 tmp[7]; -#ifdef CONFIG_DM_ETH struct eth_pdata *pdata = dev_get_plat(l_priv->netdev); -#endif /* these flags are only ever cleared; compiler take note */ #ifndef CONFIG_USB_ETH_CDC @@ -2168,11 +2150,7 @@ autoconf_fail: /* network device setup */ -#ifndef CONFIG_DM_ETH - dev->net = &l_priv->netdev; -#else dev->net = l_priv->netdev; -#endif dev->cdc = cdc; dev->zlp = zlp; @@ -2189,13 +2167,8 @@ autoconf_fail: * host side code for the SAFE thing cares -- its original BLAN * thing didn't, Sharp never assigned those addresses on Zaurii. */ -#ifndef CONFIG_DM_ETH - get_ether_addr(dev_addr, dev->net->enetaddr); - memcpy(tmp, dev->net->enetaddr, sizeof(dev->net->enetaddr)); -#else get_ether_addr(dev_addr, pdata->enetaddr); memcpy(tmp, pdata->enetaddr, sizeof(pdata->enetaddr)); -#endif get_ether_addr(host_addr, dev->host_mac); @@ -2256,11 +2229,7 @@ autoconf_fail: status_ep ? " STATUS " : "", status_ep ? status_ep->name : "" ); -#ifndef CONFIG_DM_ETH - printf("MAC %pM\n", dev->net->enetaddr); -#else printf("MAC %pM\n", pdata->enetaddr); -#endif if (cdc || rndis) printf("HOST MAC %02x:%02x:%02x:%02x:%02x:%02x\n", @@ -2490,71 +2459,6 @@ static void _usb_eth_halt(struct ether_priv *priv) usb_gadget_release(0); } -#ifndef CONFIG_DM_ETH -static int usb_eth_init(struct eth_device *netdev, struct bd_info *bd) -{ - struct ether_priv *priv = (struct ether_priv *)netdev->priv; - - return _usb_eth_init(priv); -} - -static int usb_eth_send(struct eth_device *netdev, void *packet, int length) -{ - struct ether_priv *priv = (struct ether_priv *)netdev->priv; - - return _usb_eth_send(priv, packet, length); -} - -static int usb_eth_recv(struct eth_device *netdev) -{ - struct ether_priv *priv = (struct ether_priv *)netdev->priv; - struct eth_dev *dev = &priv->ethdev; - int ret; - - ret = _usb_eth_recv(priv); - if (ret) { - pr_err("error packet receive\n"); - return ret; - } - - if (!packet_received) - return 0; - - if (dev->rx_req) { - net_process_received_packet(net_rx_packets[0], - dev->rx_req->length); - } else { - pr_err("dev->rx_req invalid"); - } - packet_received = 0; - rx_submit(dev, dev->rx_req, 0); - - return 0; -} - -void usb_eth_halt(struct eth_device *netdev) -{ - struct ether_priv *priv = (struct ether_priv *)netdev->priv; - - _usb_eth_halt(priv); -} - -int usb_eth_initialize(struct bd_info *bi) -{ - struct eth_device *netdev = &l_priv->netdev; - - strlcpy(netdev->name, USB_NET_NAME, sizeof(netdev->name)); - - netdev->init = usb_eth_init; - netdev->send = usb_eth_send; - netdev->recv = usb_eth_recv; - netdev->halt = usb_eth_halt; - netdev->priv = l_priv; - - eth_register(netdev); - return 0; -} -#else static int usb_eth_start(struct udevice *dev) { struct ether_priv *priv = dev_get_priv(dev); @@ -2663,4 +2567,3 @@ U_BOOT_DRIVER(eth_usb) = { .plat_auto = sizeof(struct eth_pdata), .flags = DM_FLAG_ALLOC_PRIV_DMA, }; -#endif /* CONFIG_DM_ETH */ diff --git a/drivers/usb/gadget/rndis.c b/drivers/usb/gadget/rndis.c index 13c327ea38ad..d2a51829f96f 100644 --- a/drivers/usb/gadget/rndis.c +++ b/drivers/usb/gadget/rndis.c @@ -1115,11 +1115,7 @@ int rndis_msg_parser(u8 configNr, u8 *buf) return -ENOTSUPP; } -#ifndef CONFIG_DM_ETH -int rndis_register(int (*rndis_control_ack)(struct eth_device *)) -#else int rndis_register(int (*rndis_control_ack)(struct udevice *)) -#endif { u8 i; @@ -1147,13 +1143,8 @@ void rndis_deregister(int configNr) return; } -#ifndef CONFIG_DM_ETH -int rndis_set_param_dev(u8 configNr, struct eth_device *dev, int mtu, - struct net_device_stats *stats, u16 *cdc_filter) -#else int rndis_set_param_dev(u8 configNr, struct udevice *dev, int mtu, struct net_device_stats *stats, u16 *cdc_filter) -#endif { debug("%s: configNr = %d\n", __func__, configNr); if (!dev || !stats) diff --git a/drivers/usb/gadget/rndis.h b/drivers/usb/gadget/rndis.h index e827af0be4aa..77db55a563ff 100644 --- a/drivers/usb/gadget/rndis.h +++ b/drivers/usb/gadget/rndis.h @@ -226,13 +226,8 @@ typedef struct rndis_params { u32 vendorID; const char *vendorDescr; -#ifndef CONFIG_DM_ETH - struct eth_device *dev; - int (*ack)(struct eth_device *); -#else struct udevice *dev; int (*ack)(struct udevice *); -#endif struct list_head resp_queue; } rndis_params; @@ -240,15 +235,9 @@ typedef struct rndis_params { int rndis_msg_parser(u8 configNr, u8 *buf); enum rndis_state rndis_get_state(int configNr); void rndis_deregister(int configNr); -#ifndef CONFIG_DM_ETH -int rndis_register(int (*rndis_control_ack)(struct eth_device *)); -int rndis_set_param_dev(u8 configNr, struct eth_device *dev, int mtu, - struct net_device_stats *stats, u16 *cdc_filter); -#else int rndis_register(int (*rndis_control_ack)(struct udevice *)); int rndis_set_param_dev(u8 configNr, struct udevice *dev, int mtu, struct net_device_stats *stats, u16 *cdc_filter); -#endif int rndis_set_param_vendor(u8 configNr, u32 vendorID, const char *vendorDescr); int rndis_set_param_medium(u8 configNr, u32 medium, u32 speed); From patchwork Sun Nov 27 15:25:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709419 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=LCx/5SIj; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKt0X4Yf4z23nJ for ; Mon, 28 Nov 2022 02:33:16 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 62D2382F6A; Sun, 27 Nov 2022 16:29:32 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="LCx/5SIj"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 85299851CC; Sun, 27 Nov 2022 16:26:38 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 091FD8514A for ; Sun, 27 Nov 2022 16:26:25 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52a.google.com with SMTP id e13so12387089edj.7 for ; Sun, 27 Nov 2022 07:26:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=RzKGE+Y0DvKd5JwNkwQbyIZbtwGBms9XDyqF1z0Y6Fw=; b=LCx/5SIjgOOZwDyw7LI3tDvPXdfwa+3IXkrX2uqD0qB9xm4QikKj/VRpEFs91/M9eb LigZb0PuVNS0yX0/i84/s74CxBUIzJgwxpmaCyj/oi3gYbD14WWPtgQ5GHiMvso4diLL grA7+0ZDHdyBTE+E8JrURbt1xmFTeOdmR/dx4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RzKGE+Y0DvKd5JwNkwQbyIZbtwGBms9XDyqF1z0Y6Fw=; b=mi/Q89hG/F4pSa90SCUOo75KtLTxlcRnFuGsTr0lvxfUxNZXaRCEvsevepPsjq+wPt Eb8cXQ1tIqd7IYExLyDQgesWwQwPwyaYR2bvmleBaZ9lDoF9GFrlB/c/vfdoW09KDx/c 1v8UXr4lnLzwcMJ12UU70L8aM/NSaEzlFvP9GLjOA7uSPeNIGZdwNuZNi9Zc59iO4f5G 8QzNf/GGbXz504f9Fq443y1VJT0KJbIemCYSI7cgDyy8syv/Bhxbfq41XGEQ2U4WCQbw tgrlp41GeNBZ7s85sOza1iAp8nt/df6hWXoVpP9pGfKlfz6md/tk6CmA0holxv8VhKrH /ULA== X-Gm-Message-State: ANoB5pnCtUQ+jEPodG81OtBG1Uw90sdQnblfqHTyS7onOXgVgDqcVhqG GXeegjfyBT2Rsez3lCVpK1FuR/kH8bIQiA== X-Google-Smtp-Source: AA0mqf5WmIs39l841DrrIdtRICxN7hNT+P5Uz7m2loqJlWxLJF2B8CsTmbRouaMBpdwCjg8aLDtsCg== X-Received: by 2002:aa7:cc08:0:b0:461:8a43:e93 with SMTP id q8-20020aa7cc08000000b004618a430e93mr42383779edt.275.1669562782782; Sun, 27 Nov 2022 07:26:22 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:22 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 40/41] qe: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:35 -0500 Message-Id: <20221127152536.1556469-40-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-Mailman-Approved-At: Sun, 27 Nov 2022 16:29:30 +0100 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/qe/Makefile | 2 +- drivers/qe/uccf.c | 509 --------------- drivers/qe/uccf.h | 119 ---- drivers/qe/uec.c | 1436 ------------------------------------------ drivers/qe/uec.h | 692 -------------------- drivers/qe/uec_phy.c | 930 --------------------------- drivers/qe/uec_phy.h | 214 ------- 7 files changed, 1 insertion(+), 3901 deletions(-) delete mode 100644 drivers/qe/uccf.c delete mode 100644 drivers/qe/uccf.h delete mode 100644 drivers/qe/uec.c delete mode 100644 drivers/qe/uec.h delete mode 100644 drivers/qe/uec_phy.c delete mode 100644 drivers/qe/uec_phy.h diff --git a/drivers/qe/Makefile b/drivers/qe/Makefile index 0d31ed1a429b..12d0b459fba9 100644 --- a/drivers/qe/Makefile +++ b/drivers/qe/Makefile @@ -2,6 +2,6 @@ # # Copyright (C) 2006 Freescale Semiconductor, Inc. -obj-$(CONFIG_QE) += qe.o uccf.o uec.o uec_phy.o +obj-$(CONFIG_QE) += qe.o obj-$(CONFIG_U_QE) += qe.o obj-$(CONFIG_OF_LIBFDT) += fdt.o diff --git a/drivers/qe/uccf.c b/drivers/qe/uccf.c deleted file mode 100644 index d5d734439cf7..000000000000 --- a/drivers/qe/uccf.c +++ /dev/null @@ -1,509 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2006 Freescale Semiconductor, Inc. - * - * Dave Liu - * based on source code of Shlomi Gridish - */ - -#include -#include -#include -#include -#include -#include "uccf.h" -#include - -#if !defined(CONFIG_DM_ETH) -void ucc_fast_transmit_on_demand(struct ucc_fast_priv *uccf) -{ - out_be16(&uccf->uf_regs->utodr, UCC_FAST_TOD); -} - -u32 ucc_fast_get_qe_cr_subblock(int ucc_num) -{ - switch (ucc_num) { - case 0: - return QE_CR_SUBBLOCK_UCCFAST1; - case 1: - return QE_CR_SUBBLOCK_UCCFAST2; - case 2: - return QE_CR_SUBBLOCK_UCCFAST3; - case 3: - return QE_CR_SUBBLOCK_UCCFAST4; - case 4: - return QE_CR_SUBBLOCK_UCCFAST5; - case 5: - return QE_CR_SUBBLOCK_UCCFAST6; - case 6: - return QE_CR_SUBBLOCK_UCCFAST7; - case 7: - return QE_CR_SUBBLOCK_UCCFAST8; - default: - return QE_CR_SUBBLOCK_INVALID; - } -} - -static void ucc_get_cmxucr_reg(int ucc_num, u32 **p_cmxucr, - u8 *reg_num, u8 *shift) -{ - switch (ucc_num) { - case 0: /* UCC1 */ - *p_cmxucr = &qe_immr->qmx.cmxucr1; - *reg_num = 1; - *shift = 16; - break; - case 2: /* UCC3 */ - *p_cmxucr = &qe_immr->qmx.cmxucr1; - *reg_num = 1; - *shift = 0; - break; - case 4: /* UCC5 */ - *p_cmxucr = &qe_immr->qmx.cmxucr2; - *reg_num = 2; - *shift = 16; - break; - case 6: /* UCC7 */ - *p_cmxucr = &qe_immr->qmx.cmxucr2; - *reg_num = 2; - *shift = 0; - break; - case 1: /* UCC2 */ - *p_cmxucr = &qe_immr->qmx.cmxucr3; - *reg_num = 3; - *shift = 16; - break; - case 3: /* UCC4 */ - *p_cmxucr = &qe_immr->qmx.cmxucr3; - *reg_num = 3; - *shift = 0; - break; - case 5: /* UCC6 */ - *p_cmxucr = &qe_immr->qmx.cmxucr4; - *reg_num = 4; - *shift = 16; - break; - case 7: /* UCC8 */ - *p_cmxucr = &qe_immr->qmx.cmxucr4; - *reg_num = 4; - *shift = 0; - break; - default: - break; - } -} - -static int ucc_set_clk_src(int ucc_num, qe_clock_e clock, comm_dir_e mode) -{ - u32 *p_cmxucr = NULL; - u8 reg_num = 0; - u8 shift = 0; - u32 clk_bits; - u32 clk_mask; - int source = -1; - - /* check if the UCC number is in range. */ - if ((ucc_num > UCC_MAX_NUM - 1) || ucc_num < 0) - return -EINVAL; - - if (!(mode == COMM_DIR_RX || mode == COMM_DIR_TX)) { - printf("%s: bad comm mode type passed\n", __func__); - return -EINVAL; - } - - ucc_get_cmxucr_reg(ucc_num, &p_cmxucr, ®_num, &shift); - - switch (reg_num) { - case 1: - switch (clock) { - case QE_BRG1: - source = 1; - break; - case QE_BRG2: - source = 2; - break; - case QE_BRG7: - source = 3; - break; - case QE_BRG8: - source = 4; - break; - case QE_CLK9: - source = 5; - break; - case QE_CLK10: - source = 6; - break; - case QE_CLK11: - source = 7; - break; - case QE_CLK12: - source = 8; - break; - case QE_CLK15: - source = 9; - break; - case QE_CLK16: - source = 10; - break; - default: - source = -1; - break; - } - break; - case 2: - switch (clock) { - case QE_BRG5: - source = 1; - break; - case QE_BRG6: - source = 2; - break; - case QE_BRG7: - source = 3; - break; - case QE_BRG8: - source = 4; - break; - case QE_CLK13: - source = 5; - break; - case QE_CLK14: - source = 6; - break; - case QE_CLK19: - source = 7; - break; - case QE_CLK20: - source = 8; - break; - case QE_CLK15: - source = 9; - break; - case QE_CLK16: - source = 10; - break; - default: - source = -1; - break; - } - break; - case 3: - switch (clock) { - case QE_BRG9: - source = 1; - break; - case QE_BRG10: - source = 2; - break; - case QE_BRG15: - source = 3; - break; - case QE_BRG16: - source = 4; - break; - case QE_CLK3: - source = 5; - break; - case QE_CLK4: - source = 6; - break; - case QE_CLK17: - source = 7; - break; - case QE_CLK18: - source = 8; - break; - case QE_CLK7: - source = 9; - break; - case QE_CLK8: - source = 10; - break; - case QE_CLK16: - source = 11; - break; - default: - source = -1; - break; - } - break; - case 4: - switch (clock) { - case QE_BRG13: - source = 1; - break; - case QE_BRG14: - source = 2; - break; - case QE_BRG15: - source = 3; - break; - case QE_BRG16: - source = 4; - break; - case QE_CLK5: - source = 5; - break; - case QE_CLK6: - source = 6; - break; - case QE_CLK21: - source = 7; - break; - case QE_CLK22: - source = 8; - break; - case QE_CLK7: - source = 9; - break; - case QE_CLK8: - source = 10; - break; - case QE_CLK16: - source = 11; - break; - default: - source = -1; - break; - } - break; - default: - source = -1; - break; - } - - if (source == -1) { - printf("%s: Bad combination of clock and UCC\n", __func__); - return -ENOENT; - } - - clk_bits = (u32)source; - clk_mask = QE_CMXUCR_TX_CLK_SRC_MASK; - if (mode == COMM_DIR_RX) { - clk_bits <<= 4; /* Rx field is 4 bits to left of Tx field */ - clk_mask <<= 4; /* Rx field is 4 bits to left of Tx field */ - } - clk_bits <<= shift; - clk_mask <<= shift; - - out_be32(p_cmxucr, (in_be32(p_cmxucr) & ~clk_mask) | clk_bits); - - return 0; -} - -static uint ucc_get_reg_baseaddr(int ucc_num) -{ - uint base = 0; - - /* check if the UCC number is in range */ - if ((ucc_num > UCC_MAX_NUM - 1) || ucc_num < 0) { - printf("%s: the UCC num not in ranges\n", __func__); - return 0; - } - - switch (ucc_num) { - case 0: - base = 0x00002000; - break; - case 1: - base = 0x00003000; - break; - case 2: - base = 0x00002200; - break; - case 3: - base = 0x00003200; - break; - case 4: - base = 0x00002400; - break; - case 5: - base = 0x00003400; - break; - case 6: - base = 0x00002600; - break; - case 7: - base = 0x00003600; - break; - default: - break; - } - - base = (uint)qe_immr + base; - return base; -} - -void ucc_fast_enable(struct ucc_fast_priv *uccf, comm_dir_e mode) -{ - ucc_fast_t *uf_regs; - u32 gumr; - - uf_regs = uccf->uf_regs; - - /* Enable reception and/or transmission on this UCC. */ - gumr = in_be32(&uf_regs->gumr); - if (mode & COMM_DIR_TX) { - gumr |= UCC_FAST_GUMR_ENT; - uccf->enabled_tx = 1; - } - if (mode & COMM_DIR_RX) { - gumr |= UCC_FAST_GUMR_ENR; - uccf->enabled_rx = 1; - } - out_be32(&uf_regs->gumr, gumr); -} - -void ucc_fast_disable(struct ucc_fast_priv *uccf, comm_dir_e mode) -{ - ucc_fast_t *uf_regs; - u32 gumr; - - uf_regs = uccf->uf_regs; - - /* Disable reception and/or transmission on this UCC. */ - gumr = in_be32(&uf_regs->gumr); - if (mode & COMM_DIR_TX) { - gumr &= ~UCC_FAST_GUMR_ENT; - uccf->enabled_tx = 0; - } - if (mode & COMM_DIR_RX) { - gumr &= ~UCC_FAST_GUMR_ENR; - uccf->enabled_rx = 0; - } - out_be32(&uf_regs->gumr, gumr); -} - -int ucc_fast_init(struct ucc_fast_inf *uf_info, - struct ucc_fast_priv **uccf_ret) -{ - struct ucc_fast_priv *uccf; - ucc_fast_t *uf_regs; - - if (!uf_info) - return -EINVAL; - - if (uf_info->ucc_num < 0 || (uf_info->ucc_num > UCC_MAX_NUM - 1)) { - printf("%s: Illagal UCC number!\n", __func__); - return -EINVAL; - } - - uccf = (struct ucc_fast_priv *)malloc(sizeof(struct ucc_fast_priv)); - if (!uccf) { - printf("%s: No memory for UCC fast data structure!\n", - __func__); - return -ENOMEM; - } - memset(uccf, 0, sizeof(struct ucc_fast_priv)); - - /* Save fast UCC structure */ - uccf->uf_info = uf_info; - uccf->uf_regs = (ucc_fast_t *)ucc_get_reg_baseaddr(uf_info->ucc_num); - - if (!uccf->uf_regs) { - printf("%s: No memory map for UCC fast controller!\n", - __func__); - return -ENOMEM; - } - - uccf->enabled_tx = 0; - uccf->enabled_rx = 0; - - uf_regs = uccf->uf_regs; - uccf->p_ucce = (u32 *)&uf_regs->ucce; - uccf->p_uccm = (u32 *)&uf_regs->uccm; - - /* Init GUEMR register, UCC both Rx and Tx is Fast protocol */ - out_8(&uf_regs->guemr, UCC_GUEMR_SET_RESERVED3 | UCC_GUEMR_MODE_FAST_RX - | UCC_GUEMR_MODE_FAST_TX); - - /* Set GUMR, disable UCC both Rx and Tx, Ethernet protocol */ - out_be32(&uf_regs->gumr, UCC_FAST_GUMR_ETH); - - /* Set the Giga ethernet VFIFO stuff */ - if (uf_info->eth_type == GIGA_ETH) { - /* Allocate memory for Tx Virtual Fifo */ - uccf->ucc_fast_tx_virtual_fifo_base_offset = - qe_muram_alloc(UCC_GETH_UTFS_GIGA_INIT, - UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT); - - /* Allocate memory for Rx Virtual Fifo */ - uccf->ucc_fast_rx_virtual_fifo_base_offset = - qe_muram_alloc(UCC_GETH_URFS_GIGA_INIT + - UCC_FAST_RX_VIRTUAL_FIFO_SIZE_PAD, - UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT); - - /* utfb, urfb are offsets from MURAM base */ - out_be32(&uf_regs->utfb, - uccf->ucc_fast_tx_virtual_fifo_base_offset); - out_be32(&uf_regs->urfb, - uccf->ucc_fast_rx_virtual_fifo_base_offset); - - /* Set Virtual Fifo registers */ - out_be16(&uf_regs->urfs, UCC_GETH_URFS_GIGA_INIT); - out_be16(&uf_regs->urfet, UCC_GETH_URFET_GIGA_INIT); - out_be16(&uf_regs->urfset, UCC_GETH_URFSET_GIGA_INIT); - out_be16(&uf_regs->utfs, UCC_GETH_UTFS_GIGA_INIT); - out_be16(&uf_regs->utfet, UCC_GETH_UTFET_GIGA_INIT); - out_be16(&uf_regs->utftt, UCC_GETH_UTFTT_GIGA_INIT); - } - - /* Set the Fast ethernet VFIFO stuff */ - if (uf_info->eth_type == FAST_ETH) { - /* Allocate memory for Tx Virtual Fifo */ - uccf->ucc_fast_tx_virtual_fifo_base_offset = - qe_muram_alloc(UCC_GETH_UTFS_INIT, - UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT); - - /* Allocate memory for Rx Virtual Fifo */ - uccf->ucc_fast_rx_virtual_fifo_base_offset = - qe_muram_alloc(UCC_GETH_URFS_INIT + - UCC_FAST_RX_VIRTUAL_FIFO_SIZE_PAD, - UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT); - - /* utfb, urfb are offsets from MURAM base */ - out_be32(&uf_regs->utfb, - uccf->ucc_fast_tx_virtual_fifo_base_offset); - out_be32(&uf_regs->urfb, - uccf->ucc_fast_rx_virtual_fifo_base_offset); - - /* Set Virtual Fifo registers */ - out_be16(&uf_regs->urfs, UCC_GETH_URFS_INIT); - out_be16(&uf_regs->urfet, UCC_GETH_URFET_INIT); - out_be16(&uf_regs->urfset, UCC_GETH_URFSET_INIT); - out_be16(&uf_regs->utfs, UCC_GETH_UTFS_INIT); - out_be16(&uf_regs->utfet, UCC_GETH_UTFET_INIT); - out_be16(&uf_regs->utftt, UCC_GETH_UTFTT_INIT); - } - - /* Rx clock routing */ - if (uf_info->rx_clock != QE_CLK_NONE) { - if (ucc_set_clk_src(uf_info->ucc_num, - uf_info->rx_clock, COMM_DIR_RX)) { - printf("%s: Illegal value for parameter 'RxClock'.\n", - __func__); - return -EINVAL; - } - } - - /* Tx clock routing */ - if (uf_info->tx_clock != QE_CLK_NONE) { - if (ucc_set_clk_src(uf_info->ucc_num, - uf_info->tx_clock, COMM_DIR_TX)) { - printf("%s: Illegal value for parameter 'TxClock'.\n", - __func__); - return -EINVAL; - } - } - - /* Clear interrupt mask register to disable all of interrupts */ - out_be32(&uf_regs->uccm, 0x0); - - /* Writing '1' to clear all of envents */ - out_be32(&uf_regs->ucce, 0xffffffff); - - *uccf_ret = uccf; - return 0; -} -#endif diff --git a/drivers/qe/uccf.h b/drivers/qe/uccf.h deleted file mode 100644 index 99f8458edf67..000000000000 --- a/drivers/qe/uccf.h +++ /dev/null @@ -1,119 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2006 Freescale Semiconductor, Inc. - * - * Dave Liu - * based on source code of Shlomi Gridish - */ - -#ifndef __UCCF_H__ -#define __UCCF_H__ - -#include "common.h" -#include "linux/immap_qe.h" -#include - -/* Fast or Giga ethernet */ -enum enet_type { - FAST_ETH, - GIGA_ETH, -}; - -/* General UCC Extended Mode Register */ -#define UCC_GUEMR_MODE_MASK_RX 0x02 -#define UCC_GUEMR_MODE_MASK_TX 0x01 -#define UCC_GUEMR_MODE_FAST_RX 0x02 -#define UCC_GUEMR_MODE_FAST_TX 0x01 -#define UCC_GUEMR_MODE_SLOW_RX 0x00 -#define UCC_GUEMR_MODE_SLOW_TX 0x00 -/* Bit 3 must be set 1 */ -#define UCC_GUEMR_SET_RESERVED3 0x10 - -/* General UCC FAST Mode Register */ -#define UCC_FAST_GUMR_TCI 0x20000000 -#define UCC_FAST_GUMR_TRX 0x10000000 -#define UCC_FAST_GUMR_TTX 0x08000000 -#define UCC_FAST_GUMR_CDP 0x04000000 -#define UCC_FAST_GUMR_CTSP 0x02000000 -#define UCC_FAST_GUMR_CDS 0x01000000 -#define UCC_FAST_GUMR_CTSS 0x00800000 -#define UCC_FAST_GUMR_TXSY 0x00020000 -#define UCC_FAST_GUMR_RSYN 0x00010000 -#define UCC_FAST_GUMR_RTSM 0x00002000 -#define UCC_FAST_GUMR_REVD 0x00000400 -#define UCC_FAST_GUMR_ENR 0x00000020 -#define UCC_FAST_GUMR_ENT 0x00000010 - -/* GUMR [MODE] bit maps */ -#define UCC_FAST_GUMR_HDLC 0x00000000 -#define UCC_FAST_GUMR_QMC 0x00000002 -#define UCC_FAST_GUMR_UART 0x00000004 -#define UCC_FAST_GUMR_BISYNC 0x00000008 -#define UCC_FAST_GUMR_ATM 0x0000000a -#define UCC_FAST_GUMR_ETH 0x0000000c - -/* Transmit On Demand (UTORD) */ -#define UCC_SLOW_TOD 0x8000 -#define UCC_FAST_TOD 0x8000 - -/* Fast Ethernet (10/100 Mbps) */ -/* Rx virtual FIFO size */ -#define UCC_GETH_URFS_INIT 512 -/* 1/2 urfs */ -#define UCC_GETH_URFET_INIT 256 -/* 3/4 urfs */ -#define UCC_GETH_URFSET_INIT 384 -/* Tx virtual FIFO size */ -#define UCC_GETH_UTFS_INIT 512 -/* 1/2 utfs */ -#define UCC_GETH_UTFET_INIT 256 -#define UCC_GETH_UTFTT_INIT 128 - -/* Gigabit Ethernet (1000 Mbps) */ -/* Rx virtual FIFO size */ -#define UCC_GETH_URFS_GIGA_INIT 4096/*2048*/ -/* 1/2 urfs */ -#define UCC_GETH_URFET_GIGA_INIT 2048/*1024*/ -/* 3/4 urfs */ -#define UCC_GETH_URFSET_GIGA_INIT 3072/*1536*/ -/* Tx virtual FIFO size */ -#define UCC_GETH_UTFS_GIGA_INIT 8192/*2048*/ -/* 1/2 utfs */ -#define UCC_GETH_UTFET_GIGA_INIT 4096/*1024*/ -#define UCC_GETH_UTFTT_GIGA_INIT 0x400/*0x40*/ - -/* UCC fast alignment */ -#define UCC_FAST_RX_ALIGN 4 -#define UCC_FAST_MRBLR_ALIGNMENT 4 -#define UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT 8 - -/* Sizes */ -#define UCC_FAST_RX_VIRTUAL_FIFO_SIZE_PAD 8 - -/* UCC fast structure. */ -struct ucc_fast_inf { - int ucc_num; - qe_clock_e rx_clock; - qe_clock_e tx_clock; - enum enet_type eth_type; -}; - -struct ucc_fast_priv { - struct ucc_fast_inf *uf_info; - ucc_fast_t *uf_regs; /* a pointer to memory map of UCC regs */ - u32 *p_ucce; /* a pointer to the event register */ - u32 *p_uccm; /* a pointer to the mask register */ - int enabled_tx; /* whether UCC is enabled for Tx (ENT) */ - int enabled_rx; /* whether UCC is enabled for Rx (ENR) */ - u32 ucc_fast_tx_virtual_fifo_base_offset; - u32 ucc_fast_rx_virtual_fifo_base_offset; -}; - -void ucc_fast_transmit_on_demand(struct ucc_fast_priv *uccf); -u32 ucc_fast_get_qe_cr_subblock(int ucc_num); -void ucc_fast_enable(struct ucc_fast_priv *uccf, comm_dir_e mode); -void ucc_fast_disable(struct ucc_fast_priv *uccf, comm_dir_e mode); -int ucc_fast_init(struct ucc_fast_inf *uf_info, - struct ucc_fast_priv **uccf_ret); - -#endif /* __UCCF_H__ */ diff --git a/drivers/qe/uec.c b/drivers/qe/uec.c deleted file mode 100644 index 310887964352..000000000000 --- a/drivers/qe/uec.c +++ /dev/null @@ -1,1436 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2006-2011 Freescale Semiconductor, Inc. - * - * Dave Liu - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include "uccf.h" -#include "uec.h" -#include "uec_phy.h" -#include "miiphy.h" -#include -#include - -#if !defined(CONFIG_DM_ETH) -/* Default UTBIPAR SMI address */ -#ifndef CONFIG_UTBIPAR_INIT_TBIPA -#define CONFIG_UTBIPAR_INIT_TBIPA 0x1F -#endif - -static struct uec_inf uec_info[] = { -#ifdef CONFIG_UEC_ETH1 - STD_UEC_INFO(1), /* UEC1 */ -#endif -#ifdef CONFIG_UEC_ETH2 - STD_UEC_INFO(2), /* UEC2 */ -#endif -#ifdef CONFIG_UEC_ETH3 - STD_UEC_INFO(3), /* UEC3 */ -#endif -#ifdef CONFIG_UEC_ETH4 - STD_UEC_INFO(4), /* UEC4 */ -#endif -#ifdef CONFIG_UEC_ETH5 - STD_UEC_INFO(5), /* UEC5 */ -#endif -#ifdef CONFIG_UEC_ETH6 - STD_UEC_INFO(6), /* UEC6 */ -#endif -#ifdef CONFIG_UEC_ETH7 - STD_UEC_INFO(7), /* UEC7 */ -#endif -#ifdef CONFIG_UEC_ETH8 - STD_UEC_INFO(8), /* UEC8 */ -#endif -}; - -#define MAXCONTROLLERS (8) - -static struct eth_device *devlist[MAXCONTROLLERS]; - -static int uec_mac_enable(struct uec_priv *uec, comm_dir_e mode) -{ - uec_t *uec_regs; - u32 maccfg1; - - if (!uec) { - printf("%s: uec not initial\n", __func__); - return -EINVAL; - } - uec_regs = uec->uec_regs; - - maccfg1 = in_be32(&uec_regs->maccfg1); - - if (mode & COMM_DIR_TX) { - maccfg1 |= MACCFG1_ENABLE_TX; - out_be32(&uec_regs->maccfg1, maccfg1); - uec->mac_tx_enabled = 1; - } - - if (mode & COMM_DIR_RX) { - maccfg1 |= MACCFG1_ENABLE_RX; - out_be32(&uec_regs->maccfg1, maccfg1); - uec->mac_rx_enabled = 1; - } - - return 0; -} - -static int uec_mac_disable(struct uec_priv *uec, comm_dir_e mode) -{ - uec_t *uec_regs; - u32 maccfg1; - - if (!uec) { - printf("%s: uec not initial\n", __func__); - return -EINVAL; - } - uec_regs = uec->uec_regs; - - maccfg1 = in_be32(&uec_regs->maccfg1); - - if (mode & COMM_DIR_TX) { - maccfg1 &= ~MACCFG1_ENABLE_TX; - out_be32(&uec_regs->maccfg1, maccfg1); - uec->mac_tx_enabled = 0; - } - - if (mode & COMM_DIR_RX) { - maccfg1 &= ~MACCFG1_ENABLE_RX; - out_be32(&uec_regs->maccfg1, maccfg1); - uec->mac_rx_enabled = 0; - } - - return 0; -} - -static int uec_graceful_stop_tx(struct uec_priv *uec) -{ - ucc_fast_t *uf_regs; - u32 cecr_subblock; - u32 ucce; - - if (!uec || !uec->uccf) { - printf("%s: No handle passed.\n", __func__); - return -EINVAL; - } - - uf_regs = uec->uccf->uf_regs; - - /* Clear the grace stop event */ - out_be32(&uf_regs->ucce, UCCE_GRA); - - /* Issue host command */ - cecr_subblock = - ucc_fast_get_qe_cr_subblock(uec->uec_info->uf_info.ucc_num); - qe_issue_cmd(QE_GRACEFUL_STOP_TX, cecr_subblock, - (u8)QE_CR_PROTOCOL_ETHERNET, 0); - - /* Wait for command to complete */ - do { - ucce = in_be32(&uf_regs->ucce); - } while (!(ucce & UCCE_GRA)); - - uec->grace_stopped_tx = 1; - - return 0; -} - -static int uec_graceful_stop_rx(struct uec_priv *uec) -{ - u32 cecr_subblock; - u8 ack; - - if (!uec) { - printf("%s: No handle passed.\n", __func__); - return -EINVAL; - } - - if (!uec->p_rx_glbl_pram) { - printf("%s: No init rx global parameter\n", __func__); - return -EINVAL; - } - - /* Clear acknowledge bit */ - ack = uec->p_rx_glbl_pram->rxgstpack; - ack &= ~GRACEFUL_STOP_ACKNOWLEDGE_RX; - uec->p_rx_glbl_pram->rxgstpack = ack; - - /* Keep issuing cmd and checking ack bit until it is asserted */ - do { - /* Issue host command */ - cecr_subblock = - ucc_fast_get_qe_cr_subblock(uec->uec_info->uf_info.ucc_num); - qe_issue_cmd(QE_GRACEFUL_STOP_RX, cecr_subblock, - (u8)QE_CR_PROTOCOL_ETHERNET, 0); - ack = uec->p_rx_glbl_pram->rxgstpack; - } while (!(ack & GRACEFUL_STOP_ACKNOWLEDGE_RX)); - - uec->grace_stopped_rx = 1; - - return 0; -} - -static int uec_restart_tx(struct uec_priv *uec) -{ - u32 cecr_subblock; - - if (!uec || !uec->uec_info) { - printf("%s: No handle passed.\n", __func__); - return -EINVAL; - } - - cecr_subblock = - ucc_fast_get_qe_cr_subblock(uec->uec_info->uf_info.ucc_num); - qe_issue_cmd(QE_RESTART_TX, cecr_subblock, - (u8)QE_CR_PROTOCOL_ETHERNET, 0); - - uec->grace_stopped_tx = 0; - - return 0; -} - -static int uec_restart_rx(struct uec_priv *uec) -{ - u32 cecr_subblock; - - if (!uec || !uec->uec_info) { - printf("%s: No handle passed.\n", __func__); - return -EINVAL; - } - - cecr_subblock = - ucc_fast_get_qe_cr_subblock(uec->uec_info->uf_info.ucc_num); - qe_issue_cmd(QE_RESTART_RX, cecr_subblock, - (u8)QE_CR_PROTOCOL_ETHERNET, 0); - - uec->grace_stopped_rx = 0; - - return 0; -} - -static int uec_open(struct uec_priv *uec, comm_dir_e mode) -{ - struct ucc_fast_priv *uccf; - - if (!uec || !uec->uccf) { - printf("%s: No handle passed.\n", __func__); - return -EINVAL; - } - uccf = uec->uccf; - - /* check if the UCC number is in range. */ - if (uec->uec_info->uf_info.ucc_num >= UCC_MAX_NUM) { - printf("%s: ucc_num out of range.\n", __func__); - return -EINVAL; - } - - /* Enable MAC */ - uec_mac_enable(uec, mode); - - /* Enable UCC fast */ - ucc_fast_enable(uccf, mode); - - /* RISC microcode start */ - if ((mode & COMM_DIR_TX) && uec->grace_stopped_tx) - uec_restart_tx(uec); - if ((mode & COMM_DIR_RX) && uec->grace_stopped_rx) - uec_restart_rx(uec); - - return 0; -} - -static int uec_stop(struct uec_priv *uec, comm_dir_e mode) -{ - if (!uec || !uec->uccf) { - printf("%s: No handle passed.\n", __func__); - return -EINVAL; - } - - /* check if the UCC number is in range. */ - if (uec->uec_info->uf_info.ucc_num >= UCC_MAX_NUM) { - printf("%s: ucc_num out of range.\n", __func__); - return -EINVAL; - } - /* Stop any transmissions */ - if ((mode & COMM_DIR_TX) && !uec->grace_stopped_tx) - uec_graceful_stop_tx(uec); - - /* Stop any receptions */ - if ((mode & COMM_DIR_RX) && !uec->grace_stopped_rx) - uec_graceful_stop_rx(uec); - - /* Disable the UCC fast */ - ucc_fast_disable(uec->uccf, mode); - - /* Disable the MAC */ - uec_mac_disable(uec, mode); - - return 0; -} - -static int uec_set_mac_duplex(struct uec_priv *uec, int duplex) -{ - uec_t *uec_regs; - u32 maccfg2; - - if (!uec) { - printf("%s: uec not initial\n", __func__); - return -EINVAL; - } - uec_regs = uec->uec_regs; - - if (duplex == DUPLEX_HALF) { - maccfg2 = in_be32(&uec_regs->maccfg2); - maccfg2 &= ~MACCFG2_FDX; - out_be32(&uec_regs->maccfg2, maccfg2); - } - - if (duplex == DUPLEX_FULL) { - maccfg2 = in_be32(&uec_regs->maccfg2); - maccfg2 |= MACCFG2_FDX; - out_be32(&uec_regs->maccfg2, maccfg2); - } - - return 0; -} - -static int uec_set_mac_if_mode(struct uec_priv *uec, - phy_interface_t if_mode, int speed) -{ - phy_interface_t enet_if_mode; - uec_t *uec_regs; - u32 upsmr; - u32 maccfg2; - - if (!uec) { - printf("%s: uec not initial\n", __func__); - return -EINVAL; - } - - uec_regs = uec->uec_regs; - enet_if_mode = if_mode; - - maccfg2 = in_be32(&uec_regs->maccfg2); - maccfg2 &= ~MACCFG2_INTERFACE_MODE_MASK; - - upsmr = in_be32(&uec->uccf->uf_regs->upsmr); - upsmr &= ~(UPSMR_RPM | UPSMR_TBIM | UPSMR_R10M | UPSMR_RMM); - - switch (speed) { - case SPEED_10: - maccfg2 |= MACCFG2_INTERFACE_MODE_NIBBLE; - switch (enet_if_mode) { - case PHY_INTERFACE_MODE_MII: - break; - case PHY_INTERFACE_MODE_RGMII: - upsmr |= (UPSMR_RPM | UPSMR_R10M); - break; - case PHY_INTERFACE_MODE_RMII: - upsmr |= (UPSMR_R10M | UPSMR_RMM); - break; - default: - return -EINVAL; - } - break; - case SPEED_100: - maccfg2 |= MACCFG2_INTERFACE_MODE_NIBBLE; - switch (enet_if_mode) { - case PHY_INTERFACE_MODE_MII: - break; - case PHY_INTERFACE_MODE_RGMII: - upsmr |= UPSMR_RPM; - break; - case PHY_INTERFACE_MODE_RMII: - upsmr |= UPSMR_RMM; - break; - default: - return -EINVAL; - } - break; - case SPEED_1000: - maccfg2 |= MACCFG2_INTERFACE_MODE_BYTE; - switch (enet_if_mode) { - case PHY_INTERFACE_MODE_GMII: - break; - case PHY_INTERFACE_MODE_TBI: - upsmr |= UPSMR_TBIM; - break; - case PHY_INTERFACE_MODE_RTBI: - upsmr |= (UPSMR_RPM | UPSMR_TBIM); - break; - case PHY_INTERFACE_MODE_RGMII_RXID: - case PHY_INTERFACE_MODE_RGMII_TXID: - case PHY_INTERFACE_MODE_RGMII_ID: - case PHY_INTERFACE_MODE_RGMII: - upsmr |= UPSMR_RPM; - break; - case PHY_INTERFACE_MODE_SGMII: - upsmr |= UPSMR_SGMM; - break; - default: - return -EINVAL; - } - break; - default: - return -EINVAL; - } - - out_be32(&uec_regs->maccfg2, maccfg2); - out_be32(&uec->uccf->uf_regs->upsmr, upsmr); - - return 0; -} - -static int init_mii_management_configuration(uec_mii_t *uec_mii_regs) -{ - uint timeout = 0x1000; - u32 miimcfg = 0; - - miimcfg = in_be32(&uec_mii_regs->miimcfg); - miimcfg |= MIIMCFG_MNGMNT_CLC_DIV_INIT_VALUE; - out_be32(&uec_mii_regs->miimcfg, miimcfg); - - /* Wait until the bus is free */ - while ((in_be32(&uec_mii_regs->miimcfg) & MIIMIND_BUSY) && timeout--) - ; - if (timeout <= 0) { - printf("%s: The MII Bus is stuck!", __func__); - return -ETIMEDOUT; - } - - return 0; -} - -static int init_phy(struct eth_device *dev) -{ - struct uec_priv *uec; - uec_mii_t *umii_regs; - struct uec_mii_info *mii_info; - struct phy_info *curphy; - int err; - - uec = (struct uec_priv *)dev->priv; - umii_regs = uec->uec_mii_regs; - - uec->oldlink = 0; - uec->oldspeed = 0; - uec->oldduplex = -1; - - mii_info = malloc(sizeof(*mii_info)); - if (!mii_info) { - printf("%s: Could not allocate mii_info", dev->name); - return -ENOMEM; - } - memset(mii_info, 0, sizeof(*mii_info)); - - if (uec->uec_info->uf_info.eth_type == GIGA_ETH) - mii_info->speed = SPEED_1000; - else - mii_info->speed = SPEED_100; - - mii_info->duplex = DUPLEX_FULL; - mii_info->pause = 0; - mii_info->link = 1; - - mii_info->advertising = (ADVERTISED_10baseT_Half | - ADVERTISED_10baseT_Full | - ADVERTISED_100baseT_Half | - ADVERTISED_100baseT_Full | - ADVERTISED_1000baseT_Full); - mii_info->autoneg = 1; - mii_info->mii_id = uec->uec_info->phy_address; - mii_info->dev = dev; - - mii_info->mdio_read = &uec_read_phy_reg; - mii_info->mdio_write = &uec_write_phy_reg; - - uec->mii_info = mii_info; - - qe_set_mii_clk_src(uec->uec_info->uf_info.ucc_num); - - if (init_mii_management_configuration(umii_regs)) { - printf("%s: The MII Bus is stuck!", dev->name); - err = -1; - goto bus_fail; - } - - /* get info for this PHY */ - curphy = uec_get_phy_info(uec->mii_info); - if (!curphy) { - printf("%s: No PHY found", dev->name); - err = -1; - goto no_phy; - } - - mii_info->phyinfo = curphy; - - /* Run the commands which initialize the PHY */ - if (curphy->init) { - err = curphy->init(uec->mii_info); - if (err) - goto phy_init_fail; - } - - return 0; - -phy_init_fail: -no_phy: -bus_fail: - free(mii_info); - return err; -} - -static void adjust_link(struct eth_device *dev) -{ - struct uec_priv *uec = (struct uec_priv *)dev->priv; - struct uec_mii_info *mii_info = uec->mii_info; - - if (mii_info->link) { - /* - * Now we make sure that we can be in full duplex mode. - * If not, we operate in half-duplex mode. - */ - if (mii_info->duplex != uec->oldduplex) { - if (!(mii_info->duplex)) { - uec_set_mac_duplex(uec, DUPLEX_HALF); - printf("%s: Half Duplex\n", dev->name); - } else { - uec_set_mac_duplex(uec, DUPLEX_FULL); - printf("%s: Full Duplex\n", dev->name); - } - uec->oldduplex = mii_info->duplex; - } - - if (mii_info->speed != uec->oldspeed) { - phy_interface_t mode = - uec->uec_info->enet_interface_type; - if (uec->uec_info->uf_info.eth_type == GIGA_ETH) { - switch (mii_info->speed) { - case SPEED_1000: - break; - case SPEED_100: - printf("switching to rgmii 100\n"); - mode = PHY_INTERFACE_MODE_RGMII; - break; - case SPEED_10: - printf("switching to rgmii 10\n"); - mode = PHY_INTERFACE_MODE_RGMII; - break; - default: - printf("%s: Ack,Speed(%d)is illegal\n", - dev->name, mii_info->speed); - break; - } - } - - /* change phy */ - change_phy_interface_mode(dev, mode, mii_info->speed); - /* change the MAC interface mode */ - uec_set_mac_if_mode(uec, mode, mii_info->speed); - - printf("%s: Speed %dBT\n", dev->name, mii_info->speed); - uec->oldspeed = mii_info->speed; - } - - if (!uec->oldlink) { - printf("%s: Link is up\n", dev->name); - uec->oldlink = 1; - } - - } else { /* if (mii_info->link) */ - if (uec->oldlink) { - printf("%s: Link is down\n", dev->name); - uec->oldlink = 0; - uec->oldspeed = 0; - uec->oldduplex = -1; - } - } -} - -static void phy_change(struct eth_device *dev) -{ - struct uec_priv *uec = (struct uec_priv *)dev->priv; - -#if defined(CONFIG_ARCH_P1021) || defined(CONFIG_ARCH_P1025) - ccsr_gur_t *gur = (void *)(CFG_SYS_MPC85xx_GUTS_ADDR); - - /* QE9 and QE12 need to be set for enabling QE MII management signals */ - setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE9); - setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE12); -#endif - - /* Update the link, speed, duplex */ - uec->mii_info->phyinfo->read_status(uec->mii_info); - -#if defined(CONFIG_ARCH_P1021) || defined(CONFIG_ARCH_P1025) - /* - * QE12 is muxed with LBCTL, it needs to be released for enabling - * LBCTL signal for LBC usage. - */ - clrbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE12); -#endif - - /* Adjust the interface according to speed */ - adjust_link(dev); -} - -#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) - -/* - * Find a device index from the devlist by name - * - * Returns: - * The index where the device is located, -1 on error - */ -static int uec_miiphy_find_dev_by_name(const char *devname) -{ - int i; - - for (i = 0; i < MAXCONTROLLERS; i++) { - if (strncmp(devname, devlist[i]->name, strlen(devname)) == 0) - break; - } - - /* If device cannot be found, returns -1 */ - if (i == MAXCONTROLLERS) { - debug("%s: device %s not found in devlist\n", __func__, - devname); - i = -1; - } - - return i; -} - -/* - * Read a MII PHY register. - * - * Returns: - * 0 on success - */ -static int uec_miiphy_read(struct mii_dev *bus, int addr, int devad, int reg) -{ - unsigned short value = 0; - int devindex = 0; - - if (!bus->name) { - debug("%s: NULL pointer given\n", __func__); - } else { - devindex = uec_miiphy_find_dev_by_name(bus->name); - if (devindex >= 0) - value = uec_read_phy_reg(devlist[devindex], addr, reg); - } - return value; -} - -/* - * Write a MII PHY register. - * - * Returns: - * 0 on success - */ -static int uec_miiphy_write(struct mii_dev *bus, int addr, int devad, int reg, - u16 value) -{ - int devindex = 0; - - if (!bus->name) { - debug("%s: NULL pointer given\n", __func__); - } else { - devindex = uec_miiphy_find_dev_by_name(bus->name); - if (devindex >= 0) - uec_write_phy_reg(devlist[devindex], addr, reg, value); - } - return 0; -} -#endif - -static int uec_set_mac_address(struct uec_priv *uec, u8 *mac_addr) -{ - uec_t *uec_regs; - u32 mac_addr1; - u32 mac_addr2; - - if (!uec) { - printf("%s: uec not initial\n", __func__); - return -EINVAL; - } - - uec_regs = uec->uec_regs; - - /* - * if a station address of 0x12345678ABCD, perform a write to - * MACSTNADDR1 of 0xCDAB7856, - * MACSTNADDR2 of 0x34120000 - */ - - mac_addr1 = (mac_addr[5] << 24) | (mac_addr[4] << 16) | - (mac_addr[3] << 8) | (mac_addr[2]); - out_be32(&uec_regs->macstnaddr1, mac_addr1); - - mac_addr2 = ((mac_addr[1] << 24) | (mac_addr[0] << 16)) & 0xffff0000; - out_be32(&uec_regs->macstnaddr2, mac_addr2); - - return 0; -} - -static int uec_convert_threads_num(enum uec_num_of_threads threads_num, - int *threads_num_ret) -{ - int num_threads_numerica; - - switch (threads_num) { - case UEC_NUM_OF_THREADS_1: - num_threads_numerica = 1; - break; - case UEC_NUM_OF_THREADS_2: - num_threads_numerica = 2; - break; - case UEC_NUM_OF_THREADS_4: - num_threads_numerica = 4; - break; - case UEC_NUM_OF_THREADS_6: - num_threads_numerica = 6; - break; - case UEC_NUM_OF_THREADS_8: - num_threads_numerica = 8; - break; - default: - printf("%s: Bad number of threads value.", - __func__); - return -EINVAL; - } - - *threads_num_ret = num_threads_numerica; - - return 0; -} - -static void uec_init_tx_parameter(struct uec_priv *uec, int num_threads_tx) -{ - struct uec_inf *uec_info; - u32 end_bd; - u8 bmrx = 0; - int i; - - uec_info = uec->uec_info; - - /* Alloc global Tx parameter RAM page */ - uec->tx_glbl_pram_offset = - qe_muram_alloc(sizeof(struct uec_tx_global_pram), - UEC_TX_GLOBAL_PRAM_ALIGNMENT); - uec->p_tx_glbl_pram = (struct uec_tx_global_pram *) - qe_muram_addr(uec->tx_glbl_pram_offset); - - /* Zero the global Tx prameter RAM */ - memset(uec->p_tx_glbl_pram, 0, sizeof(struct uec_tx_global_pram)); - - /* Init global Tx parameter RAM */ - - /* TEMODER, RMON statistics disable, one Tx queue */ - out_be16(&uec->p_tx_glbl_pram->temoder, TEMODER_INIT_VALUE); - - /* SQPTR */ - uec->send_q_mem_reg_offset = - qe_muram_alloc(sizeof(struct uec_send_queue_qd), - UEC_SEND_QUEUE_QUEUE_DESCRIPTOR_ALIGNMENT); - uec->p_send_q_mem_reg = (struct uec_send_queue_mem_region *) - qe_muram_addr(uec->send_q_mem_reg_offset); - out_be32(&uec->p_tx_glbl_pram->sqptr, uec->send_q_mem_reg_offset); - - /* Setup the table with TxBDs ring */ - end_bd = (u32)uec->p_tx_bd_ring + (uec_info->tx_bd_ring_len - 1) - * SIZEOFBD; - out_be32(&uec->p_send_q_mem_reg->sqqd[0].bd_ring_base, - (u32)(uec->p_tx_bd_ring)); - out_be32(&uec->p_send_q_mem_reg->sqqd[0].last_bd_completed_address, - end_bd); - - /* Scheduler Base Pointer, we have only one Tx queue, no need it */ - out_be32(&uec->p_tx_glbl_pram->schedulerbasepointer, 0); - - /* TxRMON Base Pointer, TxRMON disable, we don't need it */ - out_be32(&uec->p_tx_glbl_pram->txrmonbaseptr, 0); - - /* TSTATE, global snooping, big endian, the CSB bus selected */ - bmrx = BMR_INIT_VALUE; - out_be32(&uec->p_tx_glbl_pram->tstate, ((u32)(bmrx) << BMR_SHIFT)); - - /* IPH_Offset */ - for (i = 0; i < MAX_IPH_OFFSET_ENTRY; i++) - out_8(&uec->p_tx_glbl_pram->iphoffset[i], 0); - - /* VTAG table */ - for (i = 0; i < UEC_TX_VTAG_TABLE_ENTRY_MAX; i++) - out_be32(&uec->p_tx_glbl_pram->vtagtable[i], 0); - - /* TQPTR */ - uec->thread_dat_tx_offset = - qe_muram_alloc(num_threads_tx * - sizeof(struct uec_thread_data_tx) + - 32 * (num_threads_tx == 1), - UEC_THREAD_DATA_ALIGNMENT); - - uec->p_thread_data_tx = (struct uec_thread_data_tx *) - qe_muram_addr(uec->thread_dat_tx_offset); - out_be32(&uec->p_tx_glbl_pram->tqptr, uec->thread_dat_tx_offset); -} - -static void uec_init_rx_parameter(struct uec_priv *uec, int num_threads_rx) -{ - u8 bmrx = 0; - int i; - struct uec_82xx_add_filtering_pram *p_af_pram; - - /* Allocate global Rx parameter RAM page */ - uec->rx_glbl_pram_offset = - qe_muram_alloc(sizeof(struct uec_rx_global_pram), - UEC_RX_GLOBAL_PRAM_ALIGNMENT); - uec->p_rx_glbl_pram = (struct uec_rx_global_pram *) - qe_muram_addr(uec->rx_glbl_pram_offset); - - /* Zero Global Rx parameter RAM */ - memset(uec->p_rx_glbl_pram, 0, sizeof(struct uec_rx_global_pram)); - - /* Init global Rx parameter RAM */ - /* - * REMODER, Extended feature mode disable, VLAN disable, - * LossLess flow control disable, Receive firmware statisic disable, - * Extended address parsing mode disable, One Rx queues, - * Dynamic maximum/minimum frame length disable, IP checksum check - * disable, IP address alignment disable - */ - out_be32(&uec->p_rx_glbl_pram->remoder, REMODER_INIT_VALUE); - - /* RQPTR */ - uec->thread_dat_rx_offset = - qe_muram_alloc(num_threads_rx * - sizeof(struct uec_thread_data_rx), - UEC_THREAD_DATA_ALIGNMENT); - uec->p_thread_data_rx = (struct uec_thread_data_rx *) - qe_muram_addr(uec->thread_dat_rx_offset); - out_be32(&uec->p_rx_glbl_pram->rqptr, uec->thread_dat_rx_offset); - - /* Type_or_Len */ - out_be16(&uec->p_rx_glbl_pram->typeorlen, 3072); - - /* RxRMON base pointer, we don't need it */ - out_be32(&uec->p_rx_glbl_pram->rxrmonbaseptr, 0); - - /* IntCoalescingPTR, we don't need it, no interrupt */ - out_be32(&uec->p_rx_glbl_pram->intcoalescingptr, 0); - - /* RSTATE, global snooping, big endian, the CSB bus selected */ - bmrx = BMR_INIT_VALUE; - out_8(&uec->p_rx_glbl_pram->rstate, bmrx); - - /* MRBLR */ - out_be16(&uec->p_rx_glbl_pram->mrblr, MAX_RXBUF_LEN); - - /* RBDQPTR */ - uec->rx_bd_qs_tbl_offset = - qe_muram_alloc(sizeof(struct uec_rx_bd_queues_entry) + - sizeof(struct uec_rx_pref_bds), - UEC_RX_BD_QUEUES_ALIGNMENT); - uec->p_rx_bd_qs_tbl = (struct uec_rx_bd_queues_entry *) - qe_muram_addr(uec->rx_bd_qs_tbl_offset); - - /* Zero it */ - memset(uec->p_rx_bd_qs_tbl, 0, sizeof(struct uec_rx_bd_queues_entry) + - sizeof(struct uec_rx_pref_bds)); - out_be32(&uec->p_rx_glbl_pram->rbdqptr, uec->rx_bd_qs_tbl_offset); - out_be32(&uec->p_rx_bd_qs_tbl->externalbdbaseptr, - (u32)uec->p_rx_bd_ring); - - /* MFLR */ - out_be16(&uec->p_rx_glbl_pram->mflr, MAX_FRAME_LEN); - /* MINFLR */ - out_be16(&uec->p_rx_glbl_pram->minflr, MIN_FRAME_LEN); - /* MAXD1 */ - out_be16(&uec->p_rx_glbl_pram->maxd1, MAX_DMA1_LEN); - /* MAXD2 */ - out_be16(&uec->p_rx_glbl_pram->maxd2, MAX_DMA2_LEN); - /* ECAM_PTR */ - out_be32(&uec->p_rx_glbl_pram->ecamptr, 0); - /* L2QT */ - out_be32(&uec->p_rx_glbl_pram->l2qt, 0); - /* L3QT */ - for (i = 0; i < 8; i++) - out_be32(&uec->p_rx_glbl_pram->l3qt[i], 0); - - /* VLAN_TYPE */ - out_be16(&uec->p_rx_glbl_pram->vlantype, 0x8100); - /* TCI */ - out_be16(&uec->p_rx_glbl_pram->vlantci, 0); - - /* Clear PQ2 style address filtering hash table */ - p_af_pram = (struct uec_82xx_add_filtering_pram *) - uec->p_rx_glbl_pram->addressfiltering; - - p_af_pram->iaddr_h = 0; - p_af_pram->iaddr_l = 0; - p_af_pram->gaddr_h = 0; - p_af_pram->gaddr_l = 0; -} - -static int uec_issue_init_enet_rxtx_cmd(struct uec_priv *uec, - int thread_tx, int thread_rx) -{ - struct uec_init_cmd_pram *p_init_enet_param; - u32 init_enet_param_offset; - struct uec_inf *uec_info; - struct ucc_fast_inf *uf_info; - int i; - int snum; - u32 off; - u32 entry_val; - u32 command; - u32 cecr_subblock; - - uec_info = uec->uec_info; - uf_info = &uec_info->uf_info; - - /* Allocate init enet command parameter */ - uec->init_enet_param_offset = - qe_muram_alloc(sizeof(struct uec_init_cmd_pram), 4); - init_enet_param_offset = uec->init_enet_param_offset; - uec->p_init_enet_param = (struct uec_init_cmd_pram *) - qe_muram_addr(uec->init_enet_param_offset); - - /* Zero init enet command struct */ - memset((void *)uec->p_init_enet_param, 0, - sizeof(struct uec_init_cmd_pram)); - - /* Init the command struct */ - p_init_enet_param = uec->p_init_enet_param; - p_init_enet_param->resinit0 = ENET_INIT_PARAM_MAGIC_RES_INIT0; - p_init_enet_param->resinit1 = ENET_INIT_PARAM_MAGIC_RES_INIT1; - p_init_enet_param->resinit2 = ENET_INIT_PARAM_MAGIC_RES_INIT2; - p_init_enet_param->resinit3 = ENET_INIT_PARAM_MAGIC_RES_INIT3; - p_init_enet_param->resinit4 = ENET_INIT_PARAM_MAGIC_RES_INIT4; - p_init_enet_param->largestexternallookupkeysize = 0; - - p_init_enet_param->rgftgfrxglobal |= ((u32)uec_info->num_threads_rx) - << ENET_INIT_PARAM_RGF_SHIFT; - p_init_enet_param->rgftgfrxglobal |= ((u32)uec_info->num_threads_tx) - << ENET_INIT_PARAM_TGF_SHIFT; - - /* Init Rx global parameter pointer */ - p_init_enet_param->rgftgfrxglobal |= uec->rx_glbl_pram_offset | - (u32)uec_info->risc_rx; - - /* Init Rx threads */ - for (i = 0; i < (thread_rx + 1); i++) { - snum = qe_get_snum(); - if (snum < 0) { - printf("%s can not get snum\n", __func__); - return -ENOMEM; - } - - if (i == 0) { - off = 0; - } else { - off = qe_muram_alloc(sizeof(struct uec_thread_rx_pram), - UEC_THREAD_RX_PRAM_ALIGNMENT); - } - - entry_val = ((u32)snum << ENET_INIT_PARAM_SNUM_SHIFT) | - off | (u32)uec_info->risc_rx; - p_init_enet_param->rxthread[i] = entry_val; - } - - /* Init Tx global parameter pointer */ - p_init_enet_param->txglobal = uec->tx_glbl_pram_offset | - (u32)uec_info->risc_tx; - - /* Init Tx threads */ - for (i = 0; i < thread_tx; i++) { - snum = qe_get_snum(); - if (snum < 0) { - printf("%s can not get snum\n", __func__); - return -ENOMEM; - } - - off = qe_muram_alloc(sizeof(struct uec_thread_tx_pram), - UEC_THREAD_TX_PRAM_ALIGNMENT); - - entry_val = ((u32)snum << ENET_INIT_PARAM_SNUM_SHIFT) | - off | (u32)uec_info->risc_tx; - p_init_enet_param->txthread[i] = entry_val; - } - - __asm__ __volatile__("sync"); - - /* Issue QE command */ - command = QE_INIT_TX_RX; - cecr_subblock = ucc_fast_get_qe_cr_subblock(uf_info->ucc_num); - qe_issue_cmd(command, cecr_subblock, (u8)QE_CR_PROTOCOL_ETHERNET, - init_enet_param_offset); - - return 0; -} - -static int uec_startup(struct uec_priv *uec) -{ - struct uec_inf *uec_info; - struct ucc_fast_inf *uf_info; - struct ucc_fast_priv *uccf; - ucc_fast_t *uf_regs; - uec_t *uec_regs; - int num_threads_tx; - int num_threads_rx; - u32 utbipar; - u32 length; - u32 align; - struct buffer_descriptor *bd; - u8 *buf; - int i; - - if (!uec || !uec->uec_info) { - printf("%s: uec or uec_info not initial\n", __func__); - return -EINVAL; - } - - uec_info = uec->uec_info; - uf_info = &uec_info->uf_info; - - /* Check if Rx BD ring len is illegal */ - if (uec_info->rx_bd_ring_len < UEC_RX_BD_RING_SIZE_MIN || - (uec_info->rx_bd_ring_len % UEC_RX_BD_RING_SIZE_ALIGNMENT)) { - printf("%s: Rx BD ring len must be multiple of 4, and > 8.\n", - __func__); - return -EINVAL; - } - - /* Check if Tx BD ring len is illegal */ - if (uec_info->tx_bd_ring_len < UEC_TX_BD_RING_SIZE_MIN) { - printf("%s: Tx BD ring length must not be smaller than 2.\n", - __func__); - return -EINVAL; - } - - /* Check if MRBLR is illegal */ - if (MAX_RXBUF_LEN == 0 || MAX_RXBUF_LEN % UEC_MRBLR_ALIGNMENT) { - printf("%s: max rx buffer length must be mutliple of 128.\n", - __func__); - return -EINVAL; - } - - /* Both Rx and Tx are stopped */ - uec->grace_stopped_rx = 1; - uec->grace_stopped_tx = 1; - - /* Init UCC fast */ - if (ucc_fast_init(uf_info, &uccf)) { - printf("%s: failed to init ucc fast\n", __func__); - return -ENOMEM; - } - - /* Save uccf */ - uec->uccf = uccf; - - /* Convert the Tx threads number */ - if (uec_convert_threads_num(uec_info->num_threads_tx, - &num_threads_tx)) { - return -EINVAL; - } - - /* Convert the Rx threads number */ - if (uec_convert_threads_num(uec_info->num_threads_rx, - &num_threads_rx)) { - return -EINVAL; - } - - uf_regs = uccf->uf_regs; - - /* UEC register is following UCC fast registers */ - uec_regs = (uec_t *)(&uf_regs->ucc_eth); - - /* Save the UEC register pointer to UEC private struct */ - uec->uec_regs = uec_regs; - - /* Init UPSMR, enable hardware statistics (UCC) */ - out_be32(&uec->uccf->uf_regs->upsmr, UPSMR_INIT_VALUE); - - /* Init MACCFG1, flow control disable, disable Tx and Rx */ - out_be32(&uec_regs->maccfg1, MACCFG1_INIT_VALUE); - - /* Init MACCFG2, length check, MAC PAD and CRC enable */ - out_be32(&uec_regs->maccfg2, MACCFG2_INIT_VALUE); - - /* Setup MAC interface mode */ - uec_set_mac_if_mode(uec, uec_info->enet_interface_type, - uec_info->speed); - - /* Setup MII management base */ -#ifndef CONFIG_eTSEC_MDIO_BUS - uec->uec_mii_regs = (uec_mii_t *)(&uec_regs->miimcfg); -#else - uec->uec_mii_regs = (uec_mii_t *)CONFIG_MIIM_ADDRESS; -#endif - - /* Setup MII master clock source */ - qe_set_mii_clk_src(uec_info->uf_info.ucc_num); - - /* Setup UTBIPAR */ - utbipar = in_be32(&uec_regs->utbipar); - utbipar &= ~UTBIPAR_PHY_ADDRESS_MASK; - - /* Initialize UTBIPAR address to CONFIG_UTBIPAR_INIT_TBIPA for ALL UEC. - * This frees up the remaining SMI addresses for use. - */ - utbipar |= CONFIG_UTBIPAR_INIT_TBIPA << UTBIPAR_PHY_ADDRESS_SHIFT; - out_be32(&uec_regs->utbipar, utbipar); - - /* Configure the TBI for SGMII operation */ - if (uec->uec_info->enet_interface_type == PHY_INTERFACE_MODE_SGMII && - uec->uec_info->speed == SPEED_1000) { - uec_write_phy_reg(uec->dev, uec_regs->utbipar, - ENET_TBI_MII_ANA, TBIANA_SETTINGS); - - uec_write_phy_reg(uec->dev, uec_regs->utbipar, - ENET_TBI_MII_TBICON, TBICON_CLK_SELECT); - - uec_write_phy_reg(uec->dev, uec_regs->utbipar, - ENET_TBI_MII_CR, TBICR_SETTINGS); - } - - /* Allocate Tx BDs */ - length = ((uec_info->tx_bd_ring_len * SIZEOFBD) / - UEC_TX_BD_RING_SIZE_MEMORY_ALIGNMENT) * - UEC_TX_BD_RING_SIZE_MEMORY_ALIGNMENT; - if ((uec_info->tx_bd_ring_len * SIZEOFBD) % - UEC_TX_BD_RING_SIZE_MEMORY_ALIGNMENT) { - length += UEC_TX_BD_RING_SIZE_MEMORY_ALIGNMENT; - } - - align = UEC_TX_BD_RING_ALIGNMENT; - uec->tx_bd_ring_offset = (u32)malloc((u32)(length + align)); - if (uec->tx_bd_ring_offset != 0) { - uec->p_tx_bd_ring = (u8 *)((uec->tx_bd_ring_offset + align) - & ~(align - 1)); - } - - /* Zero all of Tx BDs */ - memset((void *)(uec->tx_bd_ring_offset), 0, length + align); - - /* Allocate Rx BDs */ - length = uec_info->rx_bd_ring_len * SIZEOFBD; - align = UEC_RX_BD_RING_ALIGNMENT; - uec->rx_bd_ring_offset = (u32)(malloc((u32)(length + align))); - if (uec->rx_bd_ring_offset != 0) { - uec->p_rx_bd_ring = (u8 *)((uec->rx_bd_ring_offset + align) - & ~(align - 1)); - } - - /* Zero all of Rx BDs */ - memset((void *)(uec->rx_bd_ring_offset), 0, length + align); - - /* Allocate Rx buffer */ - length = uec_info->rx_bd_ring_len * MAX_RXBUF_LEN; - align = UEC_RX_DATA_BUF_ALIGNMENT; - uec->rx_buf_offset = (u32)malloc(length + align); - if (uec->rx_buf_offset != 0) { - uec->p_rx_buf = (u8 *)((uec->rx_buf_offset + align) - & ~(align - 1)); - } - - /* Zero all of the Rx buffer */ - memset((void *)(uec->rx_buf_offset), 0, length + align); - - /* Init TxBD ring */ - bd = (struct buffer_descriptor *)uec->p_tx_bd_ring; - uec->tx_bd = bd; - - for (i = 0; i < uec_info->tx_bd_ring_len; i++) { - BD_DATA_CLEAR(bd); - BD_STATUS_SET(bd, 0); - BD_LENGTH_SET(bd, 0); - bd++; - } - BD_STATUS_SET((--bd), TX_BD_WRAP); - - /* Init RxBD ring */ - bd = (struct buffer_descriptor *)uec->p_rx_bd_ring; - uec->rx_bd = bd; - buf = uec->p_rx_buf; - for (i = 0; i < uec_info->rx_bd_ring_len; i++) { - BD_DATA_SET(bd, buf); - BD_LENGTH_SET(bd, 0); - BD_STATUS_SET(bd, RX_BD_EMPTY); - buf += MAX_RXBUF_LEN; - bd++; - } - BD_STATUS_SET((--bd), RX_BD_WRAP | RX_BD_EMPTY); - - /* Init global Tx parameter RAM */ - uec_init_tx_parameter(uec, num_threads_tx); - - /* Init global Rx parameter RAM */ - uec_init_rx_parameter(uec, num_threads_rx); - - /* Init ethernet Tx and Rx parameter command */ - if (uec_issue_init_enet_rxtx_cmd(uec, num_threads_tx, - num_threads_rx)) { - printf("%s issue init enet cmd failed\n", __func__); - return -ENOMEM; - } - - return 0; -} - -static int uec_init(struct eth_device *dev, struct bd_info *bd) -{ - struct uec_priv *uec; - int err, i; - struct phy_info *curphy; -#if defined(CONFIG_ARCH_P1021) || defined(CONFIG_ARCH_P1025) - ccsr_gur_t *gur = (void *)(CFG_SYS_MPC85xx_GUTS_ADDR); -#endif - - uec = (struct uec_priv *)dev->priv; - - if (!uec->the_first_run) { -#if defined(CONFIG_ARCH_P1021) || defined(CONFIG_ARCH_P1025) - /* - * QE9 and QE12 need to be set for enabling QE MII - * management signals - */ - setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE9); - setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE12); -#endif - - err = init_phy(dev); - if (err) { - printf("%s: Cannot initialize PHY, aborting.\n", - dev->name); - return err; - } - - curphy = uec->mii_info->phyinfo; - - if (curphy->config_aneg) { - err = curphy->config_aneg(uec->mii_info); - if (err) { - printf("%s: Can't negotiate PHY\n", dev->name); - return err; - } - } - - /* Give PHYs up to 5 sec to report a link */ - i = 50; - do { - err = curphy->read_status(uec->mii_info); - if (!(((i-- > 0) && !uec->mii_info->link) || err)) - break; - mdelay(100); - } while (1); - -#if defined(CONFIG_ARCH_P1021) || defined(CONFIG_ARCH_P1025) - /* QE12 needs to be released for enabling LBCTL signal*/ - clrbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE12); -#endif - - if (err || i <= 0) - printf("warning: %s: timeout on PHY link\n", dev->name); - - adjust_link(dev); - uec->the_first_run = 1; - } - - /* Set up the MAC address */ - if (dev->enetaddr[0] & 0x01) { - printf("%s: MacAddress is multcast address\n", - __func__); - return -1; - } - uec_set_mac_address(uec, dev->enetaddr); - - err = uec_open(uec, COMM_DIR_RX_AND_TX); - if (err) { - printf("%s: cannot enable UEC device\n", dev->name); - return -1; - } - - phy_change(dev); - - return uec->mii_info->link ? 0 : -1; -} - -static void uec_halt(struct eth_device *dev) -{ - struct uec_priv *uec = (struct uec_priv *)dev->priv; - - uec_stop(uec, COMM_DIR_RX_AND_TX); -} - -static int uec_send(struct eth_device *dev, void *buf, int len) -{ - struct uec_priv *uec; - struct ucc_fast_priv *uccf; - struct buffer_descriptor *bd; - u16 status; - int i; - int result = 0; - - uec = (struct uec_priv *)dev->priv; - uccf = uec->uccf; - bd = uec->tx_bd; - - /* Find an empty TxBD */ - for (i = 0; BD_STATUS(bd) & TX_BD_READY; i++) { - if (i > 0x100000) { - printf("%s: tx buffer not ready\n", dev->name); - return result; - } - } - - /* Init TxBD */ - BD_DATA_SET(bd, buf); - BD_LENGTH_SET(bd, len); - status = BD_STATUS(bd); - status &= BD_WRAP; - status |= (TX_BD_READY | TX_BD_LAST); - BD_STATUS_SET(bd, status); - - /* Tell UCC to transmit the buffer */ - ucc_fast_transmit_on_demand(uccf); - - /* Wait for buffer to be transmitted */ - for (i = 0; BD_STATUS(bd) & TX_BD_READY; i++) { - if (i > 0x100000) { - printf("%s: tx error\n", dev->name); - return result; - } - } - - /* Ok, the buffer be transimitted */ - BD_ADVANCE(bd, status, uec->p_tx_bd_ring); - uec->tx_bd = bd; - result = 1; - - return result; -} - -static int uec_recv(struct eth_device *dev) -{ - struct uec_priv *uec = dev->priv; - struct buffer_descriptor *bd; - u16 status; - u16 len; - u8 *data; - - bd = uec->rx_bd; - status = BD_STATUS(bd); - - while (!(status & RX_BD_EMPTY)) { - if (!(status & RX_BD_ERROR)) { - data = BD_DATA(bd); - len = BD_LENGTH(bd); - net_process_received_packet(data, len); - } else { - printf("%s: Rx error\n", dev->name); - } - status &= BD_CLEAN; - BD_LENGTH_SET(bd, 0); - BD_STATUS_SET(bd, status | RX_BD_EMPTY); - BD_ADVANCE(bd, status, uec->p_rx_bd_ring); - status = BD_STATUS(bd); - } - uec->rx_bd = bd; - - return 1; -} - -int uec_initialize(struct bd_info *bis, struct uec_inf *uec_info) -{ - struct eth_device *dev; - int i; - struct uec_priv *uec; - int err; - - dev = (struct eth_device *)malloc(sizeof(struct eth_device)); - if (!dev) - return 0; - memset(dev, 0, sizeof(struct eth_device)); - - /* Allocate the UEC private struct */ - uec = (struct uec_priv *)malloc(sizeof(struct uec_priv)); - if (!uec) - return -ENOMEM; - - memset(uec, 0, sizeof(struct uec_priv)); - - /* Adjust uec_info */ -#if (MAX_QE_RISC == 4) - uec_info->risc_tx = QE_RISC_ALLOCATION_FOUR_RISCS; - uec_info->risc_rx = QE_RISC_ALLOCATION_FOUR_RISCS; -#endif - - devlist[uec_info->uf_info.ucc_num] = dev; - - uec->uec_info = uec_info; - uec->dev = dev; - - sprintf(dev->name, "UEC%d", uec_info->uf_info.ucc_num); - dev->iobase = 0; - dev->priv = (void *)uec; - dev->init = uec_init; - dev->halt = uec_halt; - dev->send = uec_send; - dev->recv = uec_recv; - - /* Clear the ethnet address */ - for (i = 0; i < 6; i++) - dev->enetaddr[i] = 0; - - eth_register(dev); - - err = uec_startup(uec); - if (err) { - printf("%s: Cannot configure net device, aborting.", dev->name); - return err; - } - -#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) - int retval; - struct mii_dev *mdiodev = mdio_alloc(); - - if (!mdiodev) - return -ENOMEM; - strlcpy(mdiodev->name, dev->name, MDIO_NAME_LEN); - mdiodev->read = uec_miiphy_read; - mdiodev->write = uec_miiphy_write; - - retval = mdio_register(mdiodev); - if (retval < 0) - return retval; -#endif - - return 1; -} - -int uec_eth_init(struct bd_info *bis, struct uec_inf *uecs, int num) -{ - int i; - - for (i = 0; i < num; i++) - uec_initialize(bis, &uecs[i]); - - return 0; -} - -int uec_standard_init(struct bd_info *bis) -{ - return uec_eth_init(bis, uec_info, ARRAY_SIZE(uec_info)); -} -#endif diff --git a/drivers/qe/uec.h b/drivers/qe/uec.h deleted file mode 100644 index 63371e71bf74..000000000000 --- a/drivers/qe/uec.h +++ /dev/null @@ -1,692 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2006-2010 Freescale Semiconductor, Inc. - * - * Dave Liu - * based on source code of Shlomi Gridish - */ - -#ifndef __UEC_H__ -#define __UEC_H__ - -#include "uccf.h" -#include -#include - -#define MAX_TX_THREADS 8 -#define MAX_RX_THREADS 8 -#define MAX_TX_QUEUES 8 -#define MAX_RX_QUEUES 8 -#define MAX_PREFETCHED_BDS 4 -#define MAX_IPH_OFFSET_ENTRY 8 -#define MAX_ENET_INIT_PARAM_ENTRIES_RX 9 -#define MAX_ENET_INIT_PARAM_ENTRIES_TX 8 - -/* UEC UPSMR (Protocol Specific Mode Register) - */ -#define UPSMR_ECM 0x04000000 /* Enable CAM Miss */ -#define UPSMR_HSE 0x02000000 /* Hardware Statistics Enable */ -#define UPSMR_PRO 0x00400000 /* Promiscuous */ -#define UPSMR_CAP 0x00200000 /* CAM polarity */ -#define UPSMR_RSH 0x00100000 /* Receive Short Frames */ -#define UPSMR_RPM 0x00080000 /* Reduced Pin Mode interfaces */ -#define UPSMR_R10M 0x00040000 /* RGMII/RMII 10 Mode */ -#define UPSMR_RLPB 0x00020000 /* RMII Loopback Mode */ -#define UPSMR_TBIM 0x00010000 /* Ten-bit Interface Mode */ -#define UPSMR_RMM 0x00001000 /* RMII/RGMII Mode */ -#define UPSMR_CAM 0x00000400 /* CAM Address Matching */ -#define UPSMR_BRO 0x00000200 /* Broadcast Address */ -#define UPSMR_RES1 0x00002000 /* Reserved feild - must be 1 */ -#define UPSMR_SGMM 0x00000020 /* SGMII mode */ - -#define UPSMR_INIT_VALUE (UPSMR_HSE | UPSMR_RES1) - -/* UEC MACCFG1 (MAC Configuration 1 Register) - */ -#define MACCFG1_FLOW_RX 0x00000020 /* Flow Control Rx */ -#define MACCFG1_FLOW_TX 0x00000010 /* Flow Control Tx */ -#define MACCFG1_ENABLE_SYNCHED_RX 0x00000008 /* Enable Rx Sync */ -#define MACCFG1_ENABLE_RX 0x00000004 /* Enable Rx */ -#define MACCFG1_ENABLE_SYNCHED_TX 0x00000002 /* Enable Tx Sync */ -#define MACCFG1_ENABLE_TX 0x00000001 /* Enable Tx */ - -#define MACCFG1_INIT_VALUE (0) - -/* UEC MACCFG2 (MAC Configuration 2 Register) - */ -#define MACCFG2_PREL 0x00007000 -#define MACCFG2_PREL_SHIFT (31 - 19) -#define MACCFG2_PREL_MASK 0x0000f000 -#define MACCFG2_SRP 0x00000080 -#define MACCFG2_STP 0x00000040 -#define MACCFG2_RESERVED_1 0x00000020 /* must be set */ -#define MACCFG2_LC 0x00000010 /* Length Check */ -#define MACCFG2_MPE 0x00000008 -#define MACCFG2_FDX 0x00000001 /* Full Duplex */ -#define MACCFG2_FDX_MASK 0x00000001 -#define MACCFG2_PAD_CRC 0x00000004 -#define MACCFG2_CRC_EN 0x00000002 -#define MACCFG2_PAD_AND_CRC_MODE_NONE 0x00000000 -#define MACCFG2_PAD_AND_CRC_MODE_CRC_ONLY 0x00000002 -#define MACCFG2_PAD_AND_CRC_MODE_PAD_AND_CRC 0x00000004 -#define MACCFG2_INTERFACE_MODE_NIBBLE 0x00000100 -#define MACCFG2_INTERFACE_MODE_BYTE 0x00000200 -#define MACCFG2_INTERFACE_MODE_MASK 0x00000300 - -#define MACCFG2_INIT_VALUE (MACCFG2_PREL | MACCFG2_RESERVED_1 | \ - MACCFG2_LC | MACCFG2_PAD_CRC | MACCFG2_FDX) - -/* UEC Event Register */ -#define UCCE_MPD 0x80000000 -#define UCCE_SCAR 0x40000000 -#define UCCE_GRA 0x20000000 -#define UCCE_CBPR 0x10000000 -#define UCCE_BSY 0x08000000 -#define UCCE_RXC 0x04000000 -#define UCCE_TXC 0x02000000 -#define UCCE_TXE 0x01000000 -#define UCCE_TXB7 0x00800000 -#define UCCE_TXB6 0x00400000 -#define UCCE_TXB5 0x00200000 -#define UCCE_TXB4 0x00100000 -#define UCCE_TXB3 0x00080000 -#define UCCE_TXB2 0x00040000 -#define UCCE_TXB1 0x00020000 -#define UCCE_TXB0 0x00010000 -#define UCCE_RXB7 0x00008000 -#define UCCE_RXB6 0x00004000 -#define UCCE_RXB5 0x00002000 -#define UCCE_RXB4 0x00001000 -#define UCCE_RXB3 0x00000800 -#define UCCE_RXB2 0x00000400 -#define UCCE_RXB1 0x00000200 -#define UCCE_RXB0 0x00000100 -#define UCCE_RXF7 0x00000080 -#define UCCE_RXF6 0x00000040 -#define UCCE_RXF5 0x00000020 -#define UCCE_RXF4 0x00000010 -#define UCCE_RXF3 0x00000008 -#define UCCE_RXF2 0x00000004 -#define UCCE_RXF1 0x00000002 -#define UCCE_RXF0 0x00000001 - -#define UCCE_TXB (UCCE_TXB7 | UCCE_TXB6 | UCCE_TXB5 | UCCE_TXB4 | \ - UCCE_TXB3 | UCCE_TXB2 | UCCE_TXB1 | UCCE_TXB0) -#define UCCE_RXB (UCCE_RXB7 | UCCE_RXB6 | UCCE_RXB5 | UCCE_RXB4 | \ - UCCE_RXB3 | UCCE_RXB2 | UCCE_RXB1 | UCCE_RXB0) -#define UCCE_RXF (UCCE_RXF7 | UCCE_RXF6 | UCCE_RXF5 | UCCE_RXF4 | \ - UCCE_RXF3 | UCCE_RXF2 | UCCE_RXF1 | UCCE_RXF0) -#define UCCE_OTHER (UCCE_SCAR | UCCE_GRA | UCCE_CBPR | UCCE_BSY | \ - UCCE_RXC | UCCE_TXC | UCCE_TXE) - -/* UEC TEMODR Register */ -#define TEMODER_SCHEDULER_ENABLE 0x2000 -#define TEMODER_IP_CHECKSUM_GENERATE 0x0400 -#define TEMODER_PERFORMANCE_OPTIMIZATION_MODE1 0x0200 -#define TEMODER_RMON_STATISTICS 0x0100 -#define TEMODER_NUM_OF_QUEUES_SHIFT (15 - 15) - -#define TEMODER_INIT_VALUE 0xc000 - -/* UEC REMODR Register */ -#define REMODER_RX_RMON_STATISTICS_ENABLE 0x00001000 -#define REMODER_RX_EXTENDED_FEATURES 0x80000000 -#define REMODER_VLAN_OPERATION_TAGGED_SHIFT (31 - 9) -#define REMODER_VLAN_OPERATION_NON_TAGGED_SHIFT (31 - 10) -#define REMODER_RX_QOS_MODE_SHIFT (31 - 15) -#define REMODER_RMON_STATISTICS 0x00001000 -#define REMODER_RX_EXTENDED_FILTERING 0x00000800 -#define REMODER_NUM_OF_QUEUES_SHIFT (31 - 23) -#define REMODER_DYNAMIC_MAX_FRAME_LENGTH 0x00000008 -#define REMODER_DYNAMIC_MIN_FRAME_LENGTH 0x00000004 -#define REMODER_IP_CHECKSUM_CHECK 0x00000002 -#define REMODER_IP_ADDRESS_ALIGNMENT 0x00000001 - -#define REMODER_INIT_VALUE 0 - -/* BMRx - Bus Mode Register */ -#define BMR_GLB 0x20 -#define BMR_BO_BE 0x10 -#define BMR_DTB_SECONDARY_BUS 0x02 -#define BMR_BDB_SECONDARY_BUS 0x01 - -#define BMR_SHIFT 24 -#define BMR_INIT_VALUE (BMR_GLB | BMR_BO_BE) - -/* UEC UCCS (Ethernet Status Register) - */ -#define UCCS_BPR 0x02 -#define UCCS_PAU 0x02 -#define UCCS_MPD 0x01 - -/* UEC MIIMCFG (MII Management Configuration Register) - */ -#define MIIMCFG_RESET_MANAGEMENT 0x80000000 -#define MIIMCFG_NO_PREAMBLE 0x00000010 -#define MIIMCFG_CLOCK_DIVIDE_SHIFT (31 - 31) -#define MIIMCFG_CLOCK_DIVIDE_MASK 0x0000000f -#define MIIMCFG_MANAGEMENT_CLOCK_DIVIDE_BY_4 0x00000001 -#define MIIMCFG_MANAGEMENT_CLOCK_DIVIDE_BY_6 0x00000002 -#define MIIMCFG_MANAGEMENT_CLOCK_DIVIDE_BY_8 0x00000003 -#define MIIMCFG_MANAGEMENT_CLOCK_DIVIDE_BY_10 0x00000004 -#define MIIMCFG_MANAGEMENT_CLOCK_DIVIDE_BY_14 0x00000005 -#define MIIMCFG_MANAGEMENT_CLOCK_DIVIDE_BY_20 0x00000006 -#define MIIMCFG_MANAGEMENT_CLOCK_DIVIDE_BY_28 0x00000007 - -#define MIIMCFG_MNGMNT_CLC_DIV_INIT_VALUE \ - MIIMCFG_MANAGEMENT_CLOCK_DIVIDE_BY_10 - -/* UEC MIIMCOM (MII Management Command Register) - */ -#define MIIMCOM_SCAN_CYCLE 0x00000002 /* Scan cycle */ -#define MIIMCOM_READ_CYCLE 0x00000001 /* Read cycle */ - -/* UEC MIIMADD (MII Management Address Register) - */ -#define MIIMADD_PHY_ADDRESS_SHIFT (31 - 23) -#define MIIMADD_PHY_REGISTER_SHIFT (31 - 31) - -/* UEC MIIMCON (MII Management Control Register) - */ -#define MIIMCON_PHY_CONTROL_SHIFT (31 - 31) -#define MIIMCON_PHY_STATUS_SHIFT (31 - 31) - -/* UEC MIIMIND (MII Management Indicator Register) - */ -#define MIIMIND_NOT_VALID 0x00000004 -#define MIIMIND_SCAN 0x00000002 -#define MIIMIND_BUSY 0x00000001 - -/* UEC UTBIPAR (Ten Bit Interface Physical Address Register) - */ -#define UTBIPAR_PHY_ADDRESS_SHIFT (31 - 31) -#define UTBIPAR_PHY_ADDRESS_MASK 0x0000001f - -/* UEC UESCR (Ethernet Statistics Control Register) - */ -#define UESCR_AUTOZ 0x8000 -#define UESCR_CLRCNT 0x4000 -#define UESCR_MAXCOV_SHIFT (15 - 7) -#define UESCR_SCOV_SHIFT (15 - 15) - -/****** Tx data struct collection ******/ -/* Tx thread data, each Tx thread has one this struct. */ -struct uec_thread_data_tx { - u8 res0[136]; -} __packed; - -/* Tx thread parameter, each Tx thread has one this struct. */ -struct uec_thread_tx_pram { - u8 res0[64]; -} __packed; - -/* Send queue queue-descriptor, each Tx queue has one this QD */ -struct uec_send_queue_qd { - u32 bd_ring_base; /* pointer to BD ring base address */ - u8 res0[0x8]; - u32 last_bd_completed_address; /* last entry in BD ring */ - u8 res1[0x30]; -} __packed; - -/* Send queue memory region */ -struct uec_send_queue_mem_region { - struct uec_send_queue_qd sqqd[MAX_TX_QUEUES]; -} __packed; - -/* Scheduler struct */ -struct uec_scheduler { - u16 cpucount0; /* CPU packet counter */ - u16 cpucount1; /* CPU packet counter */ - u16 cecount0; /* QE packet counter */ - u16 cecount1; /* QE packet counter */ - u16 cpucount2; /* CPU packet counter */ - u16 cpucount3; /* CPU packet counter */ - u16 cecount2; /* QE packet counter */ - u16 cecount3; /* QE packet counter */ - u16 cpucount4; /* CPU packet counter */ - u16 cpucount5; /* CPU packet counter */ - u16 cecount4; /* QE packet counter */ - u16 cecount5; /* QE packet counter */ - u16 cpucount6; /* CPU packet counter */ - u16 cpucount7; /* CPU packet counter */ - u16 cecount6; /* QE packet counter */ - u16 cecount7; /* QE packet counter */ - u32 weightstatus[MAX_TX_QUEUES]; /* accumulated weight factor */ - u32 rtsrshadow; /* temporary variable handled by QE */ - u32 time; /* temporary variable handled by QE */ - u32 ttl; /* temporary variable handled by QE */ - u32 mblinterval; /* max burst length interval */ - u16 nortsrbytetime; /* normalized value of byte time in tsr units */ - u8 fracsiz; - u8 res0[1]; - u8 strictpriorityq; /* Strict Priority Mask register */ - u8 txasap; /* Transmit ASAP register */ - u8 extrabw; /* Extra BandWidth register */ - u8 oldwfqmask; /* temporary variable handled by QE */ - u8 weightfactor[MAX_TX_QUEUES]; /**< weight factor for queues */ - u32 minw; /* temporary variable handled by QE */ - u8 res1[0x70 - 0x64]; -} __packed; - -/* Tx firmware counters */ -struct uec_tx_firmware_statistics_pram { - u32 sicoltx; /* single collision */ - u32 mulcoltx; /* multiple collision */ - u32 latecoltxfr; /* late collision */ - u32 frabortduecol; /* frames aborted due to tx collision */ - u32 frlostinmactxer; /* frames lost due to internal MAC error tx */ - u32 carriersenseertx; /* carrier sense error */ - u32 frtxok; /* frames transmitted OK */ - u32 txfrexcessivedefer; - u32 txpkts256; /* total packets(including bad) 256~511 B */ - u32 txpkts512; /* total packets(including bad) 512~1023B */ - u32 txpkts1024; /* total packets(including bad) 1024~1518B */ - u32 txpktsjumbo; /* total packets(including bad) >1024 */ -} __packed; - -/* Tx global parameter table */ -struct uec_tx_global_pram { - u16 temoder; - u8 res0[0x38 - 0x02]; - u32 sqptr; - u32 schedulerbasepointer; - u32 txrmonbaseptr; - u32 tstate; - u8 iphoffset[MAX_IPH_OFFSET_ENTRY]; - u32 vtagtable[0x8]; - u32 tqptr; - u8 res2[0x80 - 0x74]; -} __packed; - -/****** Rx data struct collection ******/ -/* Rx thread data, each Rx thread has one this struct. */ -struct uec_thread_data_rx { - u8 res0[40]; -} __packed; - -/* Rx thread parameter, each Rx thread has one this struct. */ -struct uec_thread_rx_pram { - u8 res0[128]; -} __packed; - -/* Rx firmware counters */ -struct uec_rx_firmware_statistics_pram { - u32 frrxfcser; /* frames with crc error */ - u32 fraligner; /* frames with alignment error */ - u32 inrangelenrxer; /* in range length error */ - u32 outrangelenrxer; /* out of range length error */ - u32 frtoolong; /* frame too long */ - u32 runt; /* runt */ - u32 verylongevent; /* very long event */ - u32 symbolerror; /* symbol error */ - u32 dropbsy; /* drop because of BD not ready */ - u8 res0[0x8]; - u32 mismatchdrop; /* drop because of MAC filtering */ - u32 underpkts; /* total frames less than 64 octets */ - u32 pkts256; /* total frames(including bad)256~511 B */ - u32 pkts512; /* total frames(including bad)512~1023 B */ - u32 pkts1024; /* total frames(including bad)1024~1518 B */ - u32 pktsjumbo; /* total frames(including bad) >1024 B */ - u32 frlossinmacer; - u32 pausefr; /* pause frames */ - u8 res1[0x4]; - u32 removevlan; - u32 replacevlan; - u32 insertvlan; -} __packed; - -/* Rx interrupt coalescing entry, each Rx queue has one this entry. */ -struct uec_rx_interrupt_coalescing_entry { - u32 maxvalue; - u32 counter; -} __packed; - -struct uec_rx_interrupt_coalescing_table { - struct uec_rx_interrupt_coalescing_entry entry[MAX_RX_QUEUES]; -} __packed; - -/* RxBD queue entry, each Rx queue has one this entry. */ -struct uec_rx_bd_queues_entry { - u32 bdbaseptr; /* BD base pointer */ - u32 bdptr; /* BD pointer */ - u32 externalbdbaseptr; /* external BD base pointer */ - u32 externalbdptr; /* external BD pointer */ -} __packed; - -/* Rx global parameter table */ -struct uec_rx_global_pram { - u32 remoder; /* ethernet mode reg. */ - u32 rqptr; /* base pointer to the Rx Queues */ - u32 res0[0x1]; - u8 res1[0x20 - 0xc]; - u16 typeorlen; - u8 res2[0x1]; - u8 rxgstpack; /* ack on GRACEFUL STOP RX command */ - u32 rxrmonbaseptr; /* Rx RMON statistics base */ - u8 res3[0x30 - 0x28]; - u32 intcoalescingptr; /* Interrupt coalescing table pointer */ - u8 res4[0x36 - 0x34]; - u8 rstate; - u8 res5[0x46 - 0x37]; - u16 mrblr; /* max receive buffer length reg. */ - u32 rbdqptr; /* RxBD parameter table description */ - u16 mflr; /* max frame length reg. */ - u16 minflr; /* min frame length reg. */ - u16 maxd1; /* max dma1 length reg. */ - u16 maxd2; /* max dma2 length reg. */ - u32 ecamptr; /* external CAM address */ - u32 l2qt; /* VLAN priority mapping table. */ - u32 l3qt[0x8]; /* IP priority mapping table. */ - u16 vlantype; /* vlan type */ - u16 vlantci; /* default vlan tci */ - u8 addressfiltering[64];/* address filtering data structure */ - u32 exf_global_param; /* extended filtering global parameters */ - u8 res6[0x100 - 0xc4]; /* Initialize to zero */ -} __packed; - -#define GRACEFUL_STOP_ACKNOWLEDGE_RX 0x01 - -/****** UEC common ******/ -/* UCC statistics - hardware counters */ -struct uec_hardware_statistics { - u32 tx64; - u32 tx127; - u32 tx255; - u32 rx64; - u32 rx127; - u32 rx255; - u32 txok; - u16 txcf; - u32 tmca; - u32 tbca; - u32 rxfok; - u32 rxbok; - u32 rbyt; - u32 rmca; - u32 rbca; -} __packed; - -/* InitEnet command parameter */ -struct uec_init_cmd_pram { - u8 resinit0; - u8 resinit1; - u8 resinit2; - u8 resinit3; - u16 resinit4; - u8 res1[0x1]; - u8 largestexternallookupkeysize; - u32 rgftgfrxglobal; - u32 rxthread[MAX_ENET_INIT_PARAM_ENTRIES_RX]; /* rx threads */ - u8 res2[0x38 - 0x30]; - u32 txglobal; /* tx global */ - u32 txthread[MAX_ENET_INIT_PARAM_ENTRIES_TX]; /* tx threads */ - u8 res3[0x1]; -} __packed; - -#define ENET_INIT_PARAM_RGF_SHIFT (32 - 4) -#define ENET_INIT_PARAM_TGF_SHIFT (32 - 8) - -#define ENET_INIT_PARAM_RISC_MASK 0x0000003f -#define ENET_INIT_PARAM_PTR_MASK 0x00ffffc0 -#define ENET_INIT_PARAM_SNUM_MASK 0xff000000 -#define ENET_INIT_PARAM_SNUM_SHIFT 24 - -#define ENET_INIT_PARAM_MAGIC_RES_INIT0 0x06 -#define ENET_INIT_PARAM_MAGIC_RES_INIT1 0x30 -#define ENET_INIT_PARAM_MAGIC_RES_INIT2 0xff -#define ENET_INIT_PARAM_MAGIC_RES_INIT3 0x00 -#define ENET_INIT_PARAM_MAGIC_RES_INIT4 0x0400 - -/* structure representing 82xx Address Filtering Enet Address in PRAM */ -struct uec_82xx_enet_addr { - u8 res1[0x2]; - u16 h; /* address (MSB) */ - u16 m; /* address */ - u16 l; /* address (LSB) */ -} __packed; - -/* structure representing 82xx Address Filtering PRAM */ -struct uec_82xx_add_filtering_pram { - u32 iaddr_h; /* individual address filter, high */ - u32 iaddr_l; /* individual address filter, low */ - u32 gaddr_h; /* group address filter, high */ - u32 gaddr_l; /* group address filter, low */ - struct uec_82xx_enet_addr taddr; - struct uec_82xx_enet_addr paddr[4]; - u8 res0[0x40 - 0x38]; -} __packed; - -/* Buffer Descriptor */ -struct buffer_descriptor { - u16 status; - u16 len; - u32 data; -} __packed; - -#define SIZEOFBD sizeof(struct buffer_descriptor) - -/* Common BD flags */ -#define BD_WRAP 0x2000 -#define BD_INT 0x1000 -#define BD_LAST 0x0800 -#define BD_CLEAN 0x3000 - -/* TxBD status flags */ -#define TX_BD_READY 0x8000 -#define TX_BD_PADCRC 0x4000 -#define TX_BD_WRAP BD_WRAP -#define TX_BD_INT BD_INT -#define TX_BD_LAST BD_LAST -#define TX_BD_TXCRC 0x0400 -#define TX_BD_DEF 0x0200 -#define TX_BD_PP 0x0100 -#define TX_BD_LC 0x0080 -#define TX_BD_RL 0x0040 -#define TX_BD_RC 0x003C -#define TX_BD_UNDERRUN 0x0002 -#define TX_BD_TRUNC 0x0001 - -#define TX_BD_ERROR (TX_BD_UNDERRUN | TX_BD_TRUNC) - -/* RxBD status flags */ -#define RX_BD_EMPTY 0x8000 -#define RX_BD_OWNER 0x4000 -#define RX_BD_WRAP BD_WRAP -#define RX_BD_INT BD_INT -#define RX_BD_LAST BD_LAST -#define RX_BD_FIRST 0x0400 -#define RX_BD_CMR 0x0200 -#define RX_BD_MISS 0x0100 -#define RX_BD_BCAST 0x0080 -#define RX_BD_MCAST 0x0040 -#define RX_BD_LG 0x0020 -#define RX_BD_NO 0x0010 -#define RX_BD_SHORT 0x0008 -#define RX_BD_CRCERR 0x0004 -#define RX_BD_OVERRUN 0x0002 -#define RX_BD_IPCH 0x0001 - -#define RX_BD_ERROR (RX_BD_LG | RX_BD_NO | RX_BD_SHORT | \ - RX_BD_CRCERR | RX_BD_OVERRUN) - -/* BD access macros */ -#define BD_STATUS(_bd) (in_be16(&((_bd)->status))) -#define BD_STATUS_SET(_bd, _v) (out_be16(&((_bd)->status), _v)) -#define BD_LENGTH(_bd) (in_be16(&((_bd)->len))) -#define BD_LENGTH_SET(_bd, _v) (out_be16(&((_bd)->len), _v)) -#define BD_DATA_CLEAR(_bd) (out_be32(&((_bd)->data), 0)) -#define BD_DATA(_bd) ((u8 *)(((_bd)->data))) -#define BD_DATA_SET(_bd, _data) (out_be32(&((_bd)->data), (u32)_data)) -#define BD_ADVANCE(_bd, _status, _base) \ - (((_status) & BD_WRAP) ? (_bd) = \ - ((struct buffer_descriptor *)(_base)) : ++(_bd)) - -/* Rx Prefetched BDs */ -struct uec_rx_pref_bds { - struct buffer_descriptor bd[MAX_PREFETCHED_BDS]; /* prefetched bd */ -} __packed; - -/* Alignments */ -#define UEC_RX_GLOBAL_PRAM_ALIGNMENT 64 -#define UEC_TX_GLOBAL_PRAM_ALIGNMENT 64 -#define UEC_THREAD_RX_PRAM_ALIGNMENT 128 -#define UEC_THREAD_TX_PRAM_ALIGNMENT 64 -#define UEC_THREAD_DATA_ALIGNMENT 256 -#define UEC_SEND_QUEUE_QUEUE_DESCRIPTOR_ALIGNMENT 32 -#define UEC_SCHEDULER_ALIGNMENT 4 -#define UEC_TX_STATISTICS_ALIGNMENT 4 -#define UEC_RX_STATISTICS_ALIGNMENT 4 -#define UEC_RX_INTERRUPT_COALESCING_ALIGNMENT 4 -#define UEC_RX_BD_QUEUES_ALIGNMENT 8 -#define UEC_RX_PREFETCHED_BDS_ALIGNMENT 128 -#define UEC_RX_EXTENDED_FILTERING_GLOBAL_PARAMETERS_ALIGNMENT 4 -#define UEC_RX_BD_RING_ALIGNMENT 32 -#define UEC_TX_BD_RING_ALIGNMENT 32 -#define UEC_MRBLR_ALIGNMENT 128 -#define UEC_RX_BD_RING_SIZE_ALIGNMENT 4 -#define UEC_TX_BD_RING_SIZE_MEMORY_ALIGNMENT 32 -#define UEC_RX_DATA_BUF_ALIGNMENT 64 - -#define UEC_VLAN_PRIORITY_MAX 8 -#define UEC_IP_PRIORITY_MAX 64 -#define UEC_TX_VTAG_TABLE_ENTRY_MAX 8 -#define UEC_RX_BD_RING_SIZE_MIN 8 -#define UEC_TX_BD_RING_SIZE_MIN 2 - -/* TBI / MII Set Register */ -enum enet_tbi_mii_reg { - ENET_TBI_MII_CR = 0x00, - ENET_TBI_MII_SR = 0x01, - ENET_TBI_MII_ANA = 0x04, - ENET_TBI_MII_ANLPBPA = 0x05, - ENET_TBI_MII_ANEX = 0x06, - ENET_TBI_MII_ANNPT = 0x07, - ENET_TBI_MII_ANLPANP = 0x08, - ENET_TBI_MII_EXST = 0x0F, - ENET_TBI_MII_JD = 0x10, - ENET_TBI_MII_TBICON = 0x11 -}; - -/* TBI MDIO register bit fields*/ -#define TBICON_CLK_SELECT 0x0020 -#define TBIANA_ASYMMETRIC_PAUSE 0x0100 -#define TBIANA_SYMMETRIC_PAUSE 0x0080 -#define TBIANA_HALF_DUPLEX 0x0040 -#define TBIANA_FULL_DUPLEX 0x0020 -#define TBICR_PHY_RESET 0x8000 -#define TBICR_ANEG_ENABLE 0x1000 -#define TBICR_RESTART_ANEG 0x0200 -#define TBICR_FULL_DUPLEX 0x0100 -#define TBICR_SPEED1_SET 0x0040 - -#define TBIANA_SETTINGS ( \ - TBIANA_ASYMMETRIC_PAUSE \ - | TBIANA_SYMMETRIC_PAUSE \ - | TBIANA_FULL_DUPLEX \ - ) - -#define TBICR_SETTINGS ( \ - TBICR_PHY_RESET \ - | TBICR_ANEG_ENABLE \ - | TBICR_FULL_DUPLEX \ - | TBICR_SPEED1_SET \ - ) - -/* UEC number of threads */ -enum uec_num_of_threads { - UEC_NUM_OF_THREADS_1 = 0x1, /* 1 */ - UEC_NUM_OF_THREADS_2 = 0x2, /* 2 */ - UEC_NUM_OF_THREADS_4 = 0x0, /* 4 */ - UEC_NUM_OF_THREADS_6 = 0x3, /* 6 */ - UEC_NUM_OF_THREADS_8 = 0x4 /* 8 */ -}; - -/* UEC initialization info struct */ -#define STD_UEC_INFO(num) \ -{ \ - .uf_info = { \ - .ucc_num = CFG_SYS_UEC##num##_UCC_NUM,\ - .rx_clock = CFG_SYS_UEC##num##_RX_CLK, \ - .tx_clock = CFG_SYS_UEC##num##_TX_CLK, \ - .eth_type = CFG_SYS_UEC##num##_ETH_TYPE,\ - }, \ - .num_threads_tx = UEC_NUM_OF_THREADS_1, \ - .num_threads_rx = UEC_NUM_OF_THREADS_1, \ - .risc_tx = QE_RISC_ALLOCATION_RISC1_AND_RISC2, \ - .risc_rx = QE_RISC_ALLOCATION_RISC1_AND_RISC2, \ - .tx_bd_ring_len = 16, \ - .rx_bd_ring_len = 16, \ - .phy_address = CFG_SYS_UEC##num##_PHY_ADDR, \ - .enet_interface_type = CFG_SYS_UEC##num##_INTERFACE_TYPE, \ - .speed = CFG_SYS_UEC##num##_INTERFACE_SPEED, \ -} - -struct uec_inf { - struct ucc_fast_inf uf_info; - enum uec_num_of_threads num_threads_tx; - enum uec_num_of_threads num_threads_rx; - unsigned int risc_tx; - unsigned int risc_rx; - u16 rx_bd_ring_len; - u16 tx_bd_ring_len; - u8 phy_address; - phy_interface_t enet_interface_type; - int speed; -}; - -/* UEC driver initialized info */ -#define MAX_RXBUF_LEN 1536 -#define MAX_FRAME_LEN 1518 -#define MIN_FRAME_LEN 64 -#define MAX_DMA1_LEN 1520 -#define MAX_DMA2_LEN 1520 - -/* UEC driver private struct */ -struct uec_priv { - struct uec_inf *uec_info; - struct ucc_fast_priv *uccf; - struct eth_device *dev; - uec_t *uec_regs; - uec_mii_t *uec_mii_regs; - /* enet init command parameter */ - struct uec_init_cmd_pram *p_init_enet_param; - u32 init_enet_param_offset; - /* Rx and Tx parameter */ - struct uec_rx_global_pram *p_rx_glbl_pram; - u32 rx_glbl_pram_offset; - struct uec_tx_global_pram *p_tx_glbl_pram; - u32 tx_glbl_pram_offset; - struct uec_send_queue_mem_region *p_send_q_mem_reg; - u32 send_q_mem_reg_offset; - struct uec_thread_data_tx *p_thread_data_tx; - u32 thread_dat_tx_offset; - struct uec_thread_data_rx *p_thread_data_rx; - u32 thread_dat_rx_offset; - struct uec_rx_bd_queues_entry *p_rx_bd_qs_tbl; - u32 rx_bd_qs_tbl_offset; - /* BDs specific */ - u8 *p_tx_bd_ring; - u32 tx_bd_ring_offset; - u8 *p_rx_bd_ring; - u32 rx_bd_ring_offset; - u8 *p_rx_buf; - u32 rx_buf_offset; - struct buffer_descriptor *tx_bd; - struct buffer_descriptor *rx_bd; - /* Status */ - int mac_tx_enabled; - int mac_rx_enabled; - int grace_stopped_tx; - int grace_stopped_rx; - int the_first_run; - /* PHY specific */ - struct uec_mii_info *mii_info; - int oldspeed; - int oldduplex; - int oldlink; -}; - -int uec_initialize(struct bd_info *bis, struct uec_inf *uec_info); -int uec_eth_init(struct bd_info *bis, struct uec_inf *uecs, int num); -int uec_standard_init(struct bd_info *bis); -#endif /* __UEC_H__ */ diff --git a/drivers/qe/uec_phy.c b/drivers/qe/uec_phy.c deleted file mode 100644 index fcf06d103283..000000000000 --- a/drivers/qe/uec_phy.c +++ /dev/null @@ -1,930 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2005,2010-2011 Freescale Semiconductor, Inc. - * - * Author: Shlomi Gridish - * - * Description: UCC GETH Driver -- PHY handling - * Driver for UEC on QE - * Based on 8260_io/fcc_enet.c - */ - -#include -#include -#include -#include -#include -#include -#include -#include "uccf.h" -#include "uec.h" -#include "uec_phy.h" -#include "miiphy.h" -#include -#include - -#if !defined(CONFIG_DM_ETH) - -#define ugphy_printk(format, arg...) \ - printf(format "\n", ## arg) - -#define ugphy_dbg(format, arg...) \ - ugphy_printk(format, ## arg) -#define ugphy_err(format, arg...) \ - ugphy_printk(format, ## arg) -#define ugphy_info(format, arg...) \ - ugphy_printk(format, ## arg) -#define ugphy_warn(format, arg...) \ - ugphy_printk(format, ## arg) - -#ifdef UEC_VERBOSE_DEBUG -#define ugphy_vdbg ugphy_dbg -#else -#define ugphy_vdbg(ugeth, fmt, args...) do { } while (0) -#endif /* UEC_VERBOSE_DEBUG */ - -/* - * -------------------------------------------------------------------- - * Fixed PHY (PHY-less) support for Ethernet Ports. - * - * Copied from arch/powerpc/cpu/ppc4xx/4xx_enet.c - *-------------------------------------------------------------------- - * - * Some boards do not have a PHY for each ethernet port. These ports are known - * as Fixed PHY (or PHY-less) ports. For such ports, set the appropriate - * CFG_SYS_UECx_PHY_ADDR equal to CONFIG_FIXED_PHY_ADDR (an unused address) - * When the drver tries to identify the PHYs, CONFIG_FIXED_PHY will be returned - * and the driver will search CONFIG_SYS_FIXED_PHY_PORTS to find what network - * speed and duplex should be for the port. - * - * Example board header configuration file: - * #define CONFIG_FIXED_PHY 0xFFFFFFFF - * #define CONFIG_SYS_FIXED_PHY_ADDR 0x1E (pick an unused phy address) - * - * #define CFG_SYS_UEC1_PHY_ADDR CONFIG_SYS_FIXED_PHY_ADDR - * #define CFG_SYS_UEC2_PHY_ADDR 0x02 - * #define CFG_SYS_UEC3_PHY_ADDR CONFIG_SYS_FIXED_PHY_ADDR - * #define CFG_SYS_UEC4_PHY_ADDR 0x04 - * - * #define CONFIG_SYS_FIXED_PHY_PORT(name,speed,duplex) \ - * {name, speed, duplex}, - * - * #define CONFIG_SYS_FIXED_PHY_PORTS \ - * CONFIG_SYS_FIXED_PHY_PORT("UEC0",SPEED_100,DUPLEX_FULL) \ - * CONFIG_SYS_FIXED_PHY_PORT("UEC2",SPEED_100,DUPLEX_HALF) - */ - -#ifndef CONFIG_FIXED_PHY -#define CONFIG_FIXED_PHY 0xFFFFFFFF /* Fixed PHY (PHY-less) */ -#endif - -#ifndef CONFIG_SYS_FIXED_PHY_PORTS -#define CONFIG_SYS_FIXED_PHY_PORTS /* default is an empty array */ -#endif - -struct fixed_phy_port { - char name[16]; /* ethernet port name */ - unsigned int speed; /* specified speed 10,100 or 1000 */ - unsigned int duplex; /* specified duplex FULL or HALF */ -}; - -static const struct fixed_phy_port fixed_phy_port[] = { - CONFIG_SYS_FIXED_PHY_PORTS /* defined in board configuration file */ -}; - -/* - * ------------------------------------------------------------------- - * BitBang MII support for ethernet ports - * - * Based from MPC8560ADS implementation - *-------------------------------------------------------------------- - * - * Example board header file to define bitbang ethernet ports: - * - * #define CONFIG_SYS_BITBANG_PHY_PORT(name) name, - * #define CONFIG_SYS_BITBANG_PHY_PORTS CONFIG_SYS_BITBANG_PHY_PORT("UEC0") - */ -#ifndef CONFIG_SYS_BITBANG_PHY_PORTS -#define CONFIG_SYS_BITBANG_PHY_PORTS /* default is an empty array */ -#endif - -#if defined(CONFIG_BITBANGMII) -static const char * const bitbang_phy_port[] = { - CONFIG_SYS_BITBANG_PHY_PORTS /* defined in board configuration file */ -}; -#endif /* CONFIG_BITBANGMII */ - -static void config_genmii_advert(struct uec_mii_info *mii_info); -static void genmii_setup_forced(struct uec_mii_info *mii_info); -static void genmii_restart_aneg(struct uec_mii_info *mii_info); -static int gbit_config_aneg(struct uec_mii_info *mii_info); -static int genmii_config_aneg(struct uec_mii_info *mii_info); -static int genmii_update_link(struct uec_mii_info *mii_info); -static int genmii_read_status(struct uec_mii_info *mii_info); -static u16 uec_phy_read(struct uec_mii_info *mii_info, u16 regnum); -static void uec_phy_write(struct uec_mii_info *mii_info, u16 regnum, - u16 val); - -/* - * Write value to the PHY for this device to the register at regnum, - * waiting until the write is done before it returns. All PHY - * configuration has to be done through the TSEC1 MIIM regs - */ -void uec_write_phy_reg(struct eth_device *dev, int mii_id, int regnum, - int value) -{ - struct uec_priv *ugeth = (struct uec_priv *)dev->priv; - uec_mii_t *ug_regs; - enum enet_tbi_mii_reg mii_reg = (enum enet_tbi_mii_reg)regnum; - u32 tmp_reg; - -#if defined(CONFIG_BITBANGMII) - u32 i = 0; - - for (i = 0; i < ARRAY_SIZE(bitbang_phy_port); i++) { - if (strncmp(dev->name, bitbang_phy_port[i], - sizeof(dev->name)) == 0) { - (void)bb_miiphy_write(NULL, mii_id, regnum, value); - return; - } - } -#endif /* CONFIG_BITBANGMII */ - - ug_regs = ugeth->uec_mii_regs; - - /* Stop the MII management read cycle */ - out_be32 (&ug_regs->miimcom, 0); - /* Setting up the MII Management Address Register */ - tmp_reg = ((u32)mii_id << MIIMADD_PHY_ADDRESS_SHIFT) | mii_reg; - out_be32 (&ug_regs->miimadd, tmp_reg); - - /* Setting up the MII Management Control Register with the value */ - out_be32 (&ug_regs->miimcon, (u32)value); - sync(); - - /* Wait till MII management write is complete */ - while ((in_be32 (&ug_regs->miimind)) & MIIMIND_BUSY) - ; -} - -/* - * Reads from register regnum in the PHY for device dev, - * returning the value. Clears miimcom first. All PHY - * configuration has to be done through the TSEC1 MIIM regs - */ -int uec_read_phy_reg(struct eth_device *dev, int mii_id, int regnum) -{ - struct uec_priv *ugeth = (struct uec_priv *)dev->priv; - uec_mii_t *ug_regs; - enum enet_tbi_mii_reg mii_reg = (enum enet_tbi_mii_reg)regnum; - u32 tmp_reg; - u16 value; - -#if defined(CONFIG_BITBANGMII) - u32 i = 0; - - for (i = 0; i < ARRAY_SIZE(bitbang_phy_port); i++) { - if (strncmp(dev->name, bitbang_phy_port[i], - sizeof(dev->name)) == 0) { - (void)bb_miiphy_read(NULL, mii_id, regnum, &value); - return value; - } - } -#endif /* CONFIG_BITBANGMII */ - - ug_regs = ugeth->uec_mii_regs; - - /* Setting up the MII Management Address Register */ - tmp_reg = ((u32)mii_id << MIIMADD_PHY_ADDRESS_SHIFT) | mii_reg; - out_be32 (&ug_regs->miimadd, tmp_reg); - - /* clear MII management command cycle */ - out_be32 (&ug_regs->miimcom, 0); - sync(); - - /* Perform an MII management read cycle */ - out_be32 (&ug_regs->miimcom, MIIMCOM_READ_CYCLE); - - /* Wait till MII management write is complete */ - while ((in_be32 (&ug_regs->miimind)) & - (MIIMIND_NOT_VALID | MIIMIND_BUSY)) - ; - - /* Read MII management status */ - value = (u16)in_be32 (&ug_regs->miimstat); - if (value == 0xffff) - ugphy_vdbg - ("read wrong value : mii_id %d,mii_reg %d, base %08x", - mii_id, mii_reg, (u32)&ug_regs->miimcfg); - - return value; -} - -void mii_clear_phy_interrupt(struct uec_mii_info *mii_info) -{ - if (mii_info->phyinfo->ack_interrupt) - mii_info->phyinfo->ack_interrupt(mii_info); -} - -void mii_configure_phy_interrupt(struct uec_mii_info *mii_info, - u32 interrupts) -{ - mii_info->interrupts = interrupts; - if (mii_info->phyinfo->config_intr) - mii_info->phyinfo->config_intr(mii_info); -} - -/* Writes MII_ADVERTISE with the appropriate values, after - * sanitizing advertise to make sure only supported features - * are advertised - */ -static void config_genmii_advert(struct uec_mii_info *mii_info) -{ - u32 advertise; - u16 adv; - - /* Only allow advertising what this PHY supports */ - mii_info->advertising &= mii_info->phyinfo->features; - advertise = mii_info->advertising; - - /* Setup standard advertisement */ - adv = uec_phy_read(mii_info, MII_ADVERTISE); - adv &= ~(ADVERTISE_ALL | ADVERTISE_100BASE4); - if (advertise & ADVERTISED_10baseT_Half) - adv |= ADVERTISE_10HALF; - if (advertise & ADVERTISED_10baseT_Full) - adv |= ADVERTISE_10FULL; - if (advertise & ADVERTISED_100baseT_Half) - adv |= ADVERTISE_100HALF; - if (advertise & ADVERTISED_100baseT_Full) - adv |= ADVERTISE_100FULL; - uec_phy_write(mii_info, MII_ADVERTISE, adv); -} - -static void genmii_setup_forced(struct uec_mii_info *mii_info) -{ - u16 ctrl; - u32 features = mii_info->phyinfo->features; - - ctrl = uec_phy_read(mii_info, MII_BMCR); - - ctrl &= ~(BMCR_FULLDPLX | BMCR_SPEED100 | - BMCR_SPEED1000 | BMCR_ANENABLE); - ctrl |= BMCR_RESET; - - switch (mii_info->speed) { - case SPEED_1000: - if (features & (SUPPORTED_1000baseT_Half - | SUPPORTED_1000baseT_Full)) { - ctrl |= BMCR_SPEED1000; - break; - } - mii_info->speed = SPEED_100; - case SPEED_100: - if (features & (SUPPORTED_100baseT_Half - | SUPPORTED_100baseT_Full)) { - ctrl |= BMCR_SPEED100; - break; - } - mii_info->speed = SPEED_10; - case SPEED_10: - if (features & (SUPPORTED_10baseT_Half - | SUPPORTED_10baseT_Full)) - break; - default: /* Unsupported speed! */ - ugphy_err("%s: Bad speed!", mii_info->dev->name); - break; - } - - uec_phy_write(mii_info, MII_BMCR, ctrl); -} - -/* Enable and Restart Autonegotiation */ -static void genmii_restart_aneg(struct uec_mii_info *mii_info) -{ - u16 ctl; - - ctl = uec_phy_read(mii_info, MII_BMCR); - ctl |= (BMCR_ANENABLE | BMCR_ANRESTART); - uec_phy_write(mii_info, MII_BMCR, ctl); -} - -static int gbit_config_aneg(struct uec_mii_info *mii_info) -{ - u16 adv; - u32 advertise; - - if (mii_info->autoneg) { - /* Configure the ADVERTISE register */ - config_genmii_advert(mii_info); - advertise = mii_info->advertising; - - adv = uec_phy_read(mii_info, MII_CTRL1000); - adv &= ~(ADVERTISE_1000FULL | - ADVERTISE_1000HALF); - if (advertise & SUPPORTED_1000baseT_Half) - adv |= ADVERTISE_1000HALF; - if (advertise & SUPPORTED_1000baseT_Full) - adv |= ADVERTISE_1000FULL; - uec_phy_write(mii_info, MII_CTRL1000, adv); - - /* Start/Restart aneg */ - genmii_restart_aneg(mii_info); - } else { - genmii_setup_forced(mii_info); - } - - return 0; -} - -static int marvell_config_aneg(struct uec_mii_info *mii_info) -{ - /* - * The Marvell PHY has an errata which requires - * that certain registers get written in order - * to restart autonegotiation - */ - uec_phy_write(mii_info, MII_BMCR, BMCR_RESET); - - uec_phy_write(mii_info, 0x1d, 0x1f); - uec_phy_write(mii_info, 0x1e, 0x200c); - uec_phy_write(mii_info, 0x1d, 0x5); - uec_phy_write(mii_info, 0x1e, 0); - uec_phy_write(mii_info, 0x1e, 0x100); - - gbit_config_aneg(mii_info); - - return 0; -} - -static int genmii_config_aneg(struct uec_mii_info *mii_info) -{ - if (mii_info->autoneg) { - /* - * Speed up the common case, if link is already up, speed and - * duplex match, skip auto neg as it already matches - */ - if (!genmii_read_status(mii_info) && mii_info->link) - if (mii_info->duplex == DUPLEX_FULL && - mii_info->speed == SPEED_100) - if (mii_info->advertising & - ADVERTISED_100baseT_Full) - return 0; - - config_genmii_advert(mii_info); - genmii_restart_aneg(mii_info); - } else { - genmii_setup_forced(mii_info); - } - - return 0; -} - -static int genmii_update_link(struct uec_mii_info *mii_info) -{ - u16 status; - - /* Status is read once to clear old link state */ - uec_phy_read(mii_info, MII_BMSR); - - /* - * Wait if the link is up, and autonegotiation is in progress - * (ie - we're capable and it's not done) - */ - status = uec_phy_read(mii_info, MII_BMSR); - if ((status & BMSR_LSTATUS) && (status & BMSR_ANEGCAPABLE) && - !(status & BMSR_ANEGCOMPLETE)) { - int i = 0; - - while (!(status & BMSR_ANEGCOMPLETE)) { - /* - * Timeout reached ? - */ - if (i > UGETH_AN_TIMEOUT) { - mii_info->link = 0; - return 0; - } - - i++; - udelay(1000); /* 1 ms */ - status = uec_phy_read(mii_info, MII_BMSR); - } - mii_info->link = 1; - } else { - if (status & BMSR_LSTATUS) - mii_info->link = 1; - else - mii_info->link = 0; - } - - return 0; -} - -static int genmii_read_status(struct uec_mii_info *mii_info) -{ - u16 status; - int err; - - /* Update the link, but return if there was an error */ - err = genmii_update_link(mii_info); - if (err) - return err; - - if (mii_info->autoneg) { - status = uec_phy_read(mii_info, MII_STAT1000); - - if (status & (LPA_1000FULL | LPA_1000HALF)) { - mii_info->speed = SPEED_1000; - if (status & LPA_1000FULL) - mii_info->duplex = DUPLEX_FULL; - else - mii_info->duplex = DUPLEX_HALF; - } else { - status = uec_phy_read(mii_info, MII_LPA); - - if (status & (LPA_10FULL | LPA_100FULL)) - mii_info->duplex = DUPLEX_FULL; - else - mii_info->duplex = DUPLEX_HALF; - if (status & (LPA_100FULL | LPA_100HALF)) - mii_info->speed = SPEED_100; - else - mii_info->speed = SPEED_10; - } - mii_info->pause = 0; - } - /* On non-aneg, we assume what we put in BMCR is the speed, - * though magic-aneg shouldn't prevent this case from occurring - */ - - return 0; -} - -static int bcm_init(struct uec_mii_info *mii_info) -{ - struct eth_device *edev = mii_info->dev; - struct uec_priv *uec = edev->priv; - - gbit_config_aneg(mii_info); - - if (uec->uec_info->enet_interface_type == - PHY_INTERFACE_MODE_RGMII_RXID && - uec->uec_info->speed == SPEED_1000) { - u16 val; - int cnt = 50; - - /* Wait for aneg to complete. */ - do - val = uec_phy_read(mii_info, MII_BMSR); - while (--cnt && !(val & BMSR_ANEGCOMPLETE)); - - /* Set RDX clk delay. */ - uec_phy_write(mii_info, 0x18, 0x7 | (7 << 12)); - - val = uec_phy_read(mii_info, 0x18); - /* Set RDX-RXC skew. */ - val |= (1 << 8); - val |= (7 | (7 << 12)); - /* Write bits 14:0. */ - val |= (1 << 15); - uec_phy_write(mii_info, 0x18, val); - } - - return 0; -} - -static int uec_marvell_init(struct uec_mii_info *mii_info) -{ - struct eth_device *edev = mii_info->dev; - struct uec_priv *uec = edev->priv; - phy_interface_t iface = uec->uec_info->enet_interface_type; - int speed = uec->uec_info->speed; - - if (speed == SPEED_1000 && - (iface == PHY_INTERFACE_MODE_RGMII_ID || - iface == PHY_INTERFACE_MODE_RGMII_RXID || - iface == PHY_INTERFACE_MODE_RGMII_TXID)) { - int temp; - - temp = uec_phy_read(mii_info, MII_M1111_PHY_EXT_CR); - if (iface == PHY_INTERFACE_MODE_RGMII_ID) { - temp |= MII_M1111_RX_DELAY | MII_M1111_TX_DELAY; - } else if (iface == PHY_INTERFACE_MODE_RGMII_RXID) { - temp &= ~MII_M1111_TX_DELAY; - temp |= MII_M1111_RX_DELAY; - } else if (iface == PHY_INTERFACE_MODE_RGMII_TXID) { - temp &= ~MII_M1111_RX_DELAY; - temp |= MII_M1111_TX_DELAY; - } - uec_phy_write(mii_info, MII_M1111_PHY_EXT_CR, temp); - - temp = uec_phy_read(mii_info, MII_M1111_PHY_EXT_SR); - temp &= ~MII_M1111_HWCFG_MODE_MASK; - temp |= MII_M1111_HWCFG_MODE_RGMII; - uec_phy_write(mii_info, MII_M1111_PHY_EXT_SR, temp); - - uec_phy_write(mii_info, MII_BMCR, BMCR_RESET); - } - - return 0; -} - -static int marvell_read_status(struct uec_mii_info *mii_info) -{ - u16 status; - int err; - - /* Update the link, but return if there was an error */ - err = genmii_update_link(mii_info); - if (err) - return err; - - /* - * If the link is up, read the speed and duplex - * If we aren't autonegotiating, assume speeds - * are as set - */ - if (mii_info->autoneg && mii_info->link) { - int speed; - - status = uec_phy_read(mii_info, MII_M1011_PHY_SPEC_STATUS); - - /* Get the duplexity */ - if (status & MII_M1011_PHY_SPEC_STATUS_FULLDUPLEX) - mii_info->duplex = DUPLEX_FULL; - else - mii_info->duplex = DUPLEX_HALF; - - /* Get the speed */ - speed = status & MII_M1011_PHY_SPEC_STATUS_SPD_MASK; - switch (speed) { - case MII_M1011_PHY_SPEC_STATUS_1000: - mii_info->speed = SPEED_1000; - break; - case MII_M1011_PHY_SPEC_STATUS_100: - mii_info->speed = SPEED_100; - break; - default: - mii_info->speed = SPEED_10; - break; - } - mii_info->pause = 0; - } - - return 0; -} - -static int marvell_ack_interrupt(struct uec_mii_info *mii_info) -{ - /* Clear the interrupts by reading the reg */ - uec_phy_read(mii_info, MII_M1011_IEVENT); - - return 0; -} - -static int marvell_config_intr(struct uec_mii_info *mii_info) -{ - if (mii_info->interrupts == MII_INTERRUPT_ENABLED) - uec_phy_write(mii_info, MII_M1011_IMASK, MII_M1011_IMASK_INIT); - else - uec_phy_write(mii_info, MII_M1011_IMASK, - MII_M1011_IMASK_CLEAR); - - return 0; -} - -static int dm9161_init(struct uec_mii_info *mii_info) -{ - /* Reset the PHY */ - uec_phy_write(mii_info, MII_BMCR, uec_phy_read(mii_info, MII_BMCR) | - BMCR_RESET); - /* PHY and MAC connect */ - uec_phy_write(mii_info, MII_BMCR, uec_phy_read(mii_info, MII_BMCR) & - ~BMCR_ISOLATE); - - uec_phy_write(mii_info, MII_DM9161_SCR, MII_DM9161_SCR_INIT); - - config_genmii_advert(mii_info); - /* Start/restart aneg */ - genmii_config_aneg(mii_info); - - return 0; -} - -static int dm9161_config_aneg(struct uec_mii_info *mii_info) -{ - return 0; -} - -static int dm9161_read_status(struct uec_mii_info *mii_info) -{ - u16 status; - int err; - - /* Update the link, but return if there was an error */ - err = genmii_update_link(mii_info); - if (err) - return err; - /* - * If the link is up, read the speed and duplex - * If we aren't autonegotiating assume speeds are as set - */ - if (mii_info->autoneg && mii_info->link) { - status = uec_phy_read(mii_info, MII_DM9161_SCSR); - if (status & (MII_DM9161_SCSR_100F | MII_DM9161_SCSR_100H)) - mii_info->speed = SPEED_100; - else - mii_info->speed = SPEED_10; - - if (status & (MII_DM9161_SCSR_100F | MII_DM9161_SCSR_10F)) - mii_info->duplex = DUPLEX_FULL; - else - mii_info->duplex = DUPLEX_HALF; - } - - return 0; -} - -static int dm9161_ack_interrupt(struct uec_mii_info *mii_info) -{ - /* Clear the interrupt by reading the reg */ - uec_phy_read(mii_info, MII_DM9161_INTR); - - return 0; -} - -static int dm9161_config_intr(struct uec_mii_info *mii_info) -{ - if (mii_info->interrupts == MII_INTERRUPT_ENABLED) - uec_phy_write(mii_info, MII_DM9161_INTR, MII_DM9161_INTR_INIT); - else - uec_phy_write(mii_info, MII_DM9161_INTR, MII_DM9161_INTR_STOP); - - return 0; -} - -static void dm9161_close(struct uec_mii_info *mii_info) -{ -} - -static int fixed_phy_aneg(struct uec_mii_info *mii_info) -{ - mii_info->autoneg = 0; /* Turn off auto negotiation for fixed phy */ - return 0; -} - -static int fixed_phy_read_status(struct uec_mii_info *mii_info) -{ - int i = 0; - - for (i = 0; i < ARRAY_SIZE(fixed_phy_port); i++) { - if (strncmp(mii_info->dev->name, fixed_phy_port[i].name, - strlen(mii_info->dev->name)) == 0) { - mii_info->speed = fixed_phy_port[i].speed; - mii_info->duplex = fixed_phy_port[i].duplex; - mii_info->link = 1; /* Link is always UP */ - mii_info->pause = 0; - break; - } - } - return 0; -} - -static int smsc_config_aneg(struct uec_mii_info *mii_info) -{ - return 0; -} - -static int smsc_read_status(struct uec_mii_info *mii_info) -{ - u16 status; - int err; - - /* Update the link, but return if there was an error */ - err = genmii_update_link(mii_info); - if (err) - return err; - - /* - * If the link is up, read the speed and duplex - * If we aren't autonegotiating, assume speeds - * are as set - */ - if (mii_info->autoneg && mii_info->link) { - int val; - - status = uec_phy_read(mii_info, 0x1f); - val = (status & 0x1c) >> 2; - - switch (val) { - case 1: - mii_info->duplex = DUPLEX_HALF; - mii_info->speed = SPEED_10; - break; - case 5: - mii_info->duplex = DUPLEX_FULL; - mii_info->speed = SPEED_10; - break; - case 2: - mii_info->duplex = DUPLEX_HALF; - mii_info->speed = SPEED_100; - break; - case 6: - mii_info->duplex = DUPLEX_FULL; - mii_info->speed = SPEED_100; - break; - } - mii_info->pause = 0; - } - - return 0; -} - -static struct phy_info phy_info_dm9161 = { - .phy_id = 0x0181b880, - .phy_id_mask = 0x0ffffff0, - .name = "Davicom DM9161E", - .init = dm9161_init, - .config_aneg = dm9161_config_aneg, - .read_status = dm9161_read_status, - .close = dm9161_close, -}; - -static struct phy_info phy_info_dm9161a = { - .phy_id = 0x0181b8a0, - .phy_id_mask = 0x0ffffff0, - .name = "Davicom DM9161A", - .features = MII_BASIC_FEATURES, - .init = dm9161_init, - .config_aneg = dm9161_config_aneg, - .read_status = dm9161_read_status, - .ack_interrupt = dm9161_ack_interrupt, - .config_intr = dm9161_config_intr, - .close = dm9161_close, -}; - -static struct phy_info phy_info_marvell = { - .phy_id = 0x01410c00, - .phy_id_mask = 0xffffff00, - .name = "Marvell 88E11x1", - .features = MII_GBIT_FEATURES, - .init = &uec_marvell_init, - .config_aneg = &marvell_config_aneg, - .read_status = &marvell_read_status, - .ack_interrupt = &marvell_ack_interrupt, - .config_intr = &marvell_config_intr, -}; - -static struct phy_info phy_info_bcm5481 = { - .phy_id = 0x0143bca0, - .phy_id_mask = 0xffffff0, - .name = "Broadcom 5481", - .features = MII_GBIT_FEATURES, - .read_status = genmii_read_status, - .init = bcm_init, -}; - -static struct phy_info phy_info_fixedphy = { - .phy_id = CONFIG_FIXED_PHY, - .phy_id_mask = CONFIG_FIXED_PHY, - .name = "Fixed PHY", - .config_aneg = fixed_phy_aneg, - .read_status = fixed_phy_read_status, -}; - -static struct phy_info phy_info_smsclan8700 = { - .phy_id = 0x0007c0c0, - .phy_id_mask = 0xfffffff0, - .name = "SMSC LAN8700", - .features = MII_BASIC_FEATURES, - .config_aneg = smsc_config_aneg, - .read_status = smsc_read_status, -}; - -static struct phy_info phy_info_genmii = { - .phy_id = 0x00000000, - .phy_id_mask = 0x00000000, - .name = "Generic MII", - .features = MII_BASIC_FEATURES, - .config_aneg = genmii_config_aneg, - .read_status = genmii_read_status, -}; - -static struct phy_info *phy_info[] = { - &phy_info_dm9161, - &phy_info_dm9161a, - &phy_info_marvell, - &phy_info_bcm5481, - &phy_info_smsclan8700, - &phy_info_fixedphy, - &phy_info_genmii, - NULL -}; - -static u16 uec_phy_read(struct uec_mii_info *mii_info, u16 regnum) -{ - return mii_info->mdio_read(mii_info->dev, mii_info->mii_id, regnum); -} - -static void uec_phy_write(struct uec_mii_info *mii_info, u16 regnum, u16 val) -{ - mii_info->mdio_write(mii_info->dev, mii_info->mii_id, regnum, val); -} - -/* Use the PHY ID registers to determine what type of PHY is attached - * to device dev. return a struct phy_info structure describing that PHY - */ -struct phy_info *uec_get_phy_info(struct uec_mii_info *mii_info) -{ - u16 phy_reg; - u32 phy_ID; - int i; - struct phy_info *info = NULL; - - /* Grab the bits from PHYIR1, and put them in the upper half */ - phy_reg = uec_phy_read(mii_info, MII_PHYSID1); - phy_ID = (phy_reg & 0xffff) << 16; - - /* Grab the bits from PHYIR2, and put them in the lower half */ - phy_reg = uec_phy_read(mii_info, MII_PHYSID2); - phy_ID |= (phy_reg & 0xffff); - - /* loop through all the known PHY types, and find one that */ - /* matches the ID we read from the PHY. */ - for (i = 0; phy_info[i]; i++) - if (phy_info[i]->phy_id == - (phy_ID & phy_info[i]->phy_id_mask)) { - info = phy_info[i]; - break; - } - - /* This shouldn't happen, as we have generic PHY support */ - if (!info) { - ugphy_info("UEC: PHY id %x is not supported!", phy_ID); - return NULL; - } - ugphy_info("UEC: PHY is %s (%x)", info->name, phy_ID); - - return info; -} - -void marvell_phy_interface_mode(struct eth_device *dev, phy_interface_t type, - int speed) -{ - struct uec_priv *uec = (struct uec_priv *)dev->priv; - struct uec_mii_info *mii_info; - u16 status; - - if (!uec->mii_info) { - printf("%s: the PHY not initialized\n", __func__); - return; - } - mii_info = uec->mii_info; - - if (type == PHY_INTERFACE_MODE_RGMII) { - if (speed == SPEED_100) { - uec_phy_write(mii_info, 0x00, 0x9140); - uec_phy_write(mii_info, 0x1d, 0x001f); - uec_phy_write(mii_info, 0x1e, 0x200c); - uec_phy_write(mii_info, 0x1d, 0x0005); - uec_phy_write(mii_info, 0x1e, 0x0000); - uec_phy_write(mii_info, 0x1e, 0x0100); - uec_phy_write(mii_info, 0x09, 0x0e00); - uec_phy_write(mii_info, 0x04, 0x01e1); - uec_phy_write(mii_info, 0x00, 0x9140); - uec_phy_write(mii_info, 0x00, 0x1000); - mdelay(100); - uec_phy_write(mii_info, 0x00, 0x2900); - uec_phy_write(mii_info, 0x14, 0x0cd2); - uec_phy_write(mii_info, 0x00, 0xa100); - uec_phy_write(mii_info, 0x09, 0x0000); - uec_phy_write(mii_info, 0x1b, 0x800b); - uec_phy_write(mii_info, 0x04, 0x05e1); - uec_phy_write(mii_info, 0x00, 0xa100); - uec_phy_write(mii_info, 0x00, 0x2100); - mdelay(1000); - } else if (speed == SPEED_10) { - uec_phy_write(mii_info, 0x14, 0x8e40); - uec_phy_write(mii_info, 0x1b, 0x800b); - uec_phy_write(mii_info, 0x14, 0x0c82); - uec_phy_write(mii_info, 0x00, 0x8100); - mdelay(1000); - } - } - - /* handle 88e1111 rev.B2 erratum 5.6 */ - if (mii_info->autoneg) { - status = uec_phy_read(mii_info, MII_BMCR); - uec_phy_write(mii_info, MII_BMCR, status | BMCR_ANENABLE); - } - /* now the B2 will correctly report autoneg completion status */ -} - -void change_phy_interface_mode(struct eth_device *dev, - phy_interface_t type, int speed) -{ -#ifdef CONFIG_PHY_MODE_NEED_CHANGE - marvell_phy_interface_mode(dev, type, speed); -#endif -} -#endif diff --git a/drivers/qe/uec_phy.h b/drivers/qe/uec_phy.h deleted file mode 100644 index 7fd0e2c54401..000000000000 --- a/drivers/qe/uec_phy.h +++ /dev/null @@ -1,214 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2005, 2011 Freescale Semiconductor, Inc. - * - * Author: Shlomi Gridish - * - * Description: UCC ethernet driver -- PHY handling - * Driver for UEC on QE - * Based on 8260_io/fcc_enet.c - */ -#ifndef __UEC_PHY_H__ -#define __UEC_PHY_H__ - -#include - -#define MII_end ((u32)-2) -#define MII_read ((u32)-1) - -#define MIIMIND_BUSY 0x00000001 -#define MIIMIND_NOTVALID 0x00000004 - -#define UGETH_AN_TIMEOUT 2000 - -/* Cicada Extended Control Register 1 */ -#define MII_CIS8201_EXT_CON1 0x17 -#define MII_CIS8201_EXTCON1_INIT 0x0000 - -/* Cicada Interrupt Mask Register */ -#define MII_CIS8201_IMASK 0x19 -#define MII_CIS8201_IMASK_IEN 0x8000 -#define MII_CIS8201_IMASK_SPEED 0x4000 -#define MII_CIS8201_IMASK_LINK 0x2000 -#define MII_CIS8201_IMASK_DUPLEX 0x1000 -#define MII_CIS8201_IMASK_MASK 0xf000 - -/* Cicada Interrupt Status Register */ -#define MII_CIS8201_ISTAT 0x1a -#define MII_CIS8201_ISTAT_STATUS 0x8000 -#define MII_CIS8201_ISTAT_SPEED 0x4000 -#define MII_CIS8201_ISTAT_LINK 0x2000 -#define MII_CIS8201_ISTAT_DUPLEX 0x1000 - -/* Cicada Auxiliary Control/Status Register */ -#define MII_CIS8201_AUX_CONSTAT 0x1c -#define MII_CIS8201_AUXCONSTAT_INIT 0x0004 -#define MII_CIS8201_AUXCONSTAT_DUPLEX 0x0020 -#define MII_CIS8201_AUXCONSTAT_SPEED 0x0018 -#define MII_CIS8201_AUXCONSTAT_GBIT 0x0010 -#define MII_CIS8201_AUXCONSTAT_100 0x0008 - -/* 88E1011 PHY Status Register */ -#define MII_M1011_PHY_SPEC_STATUS 0x11 -#define MII_M1011_PHY_SPEC_STATUS_1000 0x8000 -#define MII_M1011_PHY_SPEC_STATUS_100 0x4000 -#define MII_M1011_PHY_SPEC_STATUS_SPD_MASK 0xc000 -#define MII_M1011_PHY_SPEC_STATUS_FULLDUPLEX 0x2000 -#define MII_M1011_PHY_SPEC_STATUS_RESOLVED 0x0800 -#define MII_M1011_PHY_SPEC_STATUS_LINK 0x0400 - -#define MII_M1011_IEVENT 0x13 -#define MII_M1011_IEVENT_CLEAR 0x0000 - -#define MII_M1011_IMASK 0x12 -#define MII_M1011_IMASK_INIT 0x6400 -#define MII_M1011_IMASK_CLEAR 0x0000 - -/* 88E1111 PHY Register */ -#define MII_M1111_PHY_EXT_CR 0x14 -#define MII_M1111_RX_DELAY 0x80 -#define MII_M1111_TX_DELAY 0x2 -#define MII_M1111_PHY_EXT_SR 0x1b -#define MII_M1111_HWCFG_MODE_MASK 0xf -#define MII_M1111_HWCFG_MODE_RGMII 0xb - -#define MII_DM9161_SCR 0x10 -#define MII_DM9161_SCR_INIT 0x0610 -#define MII_DM9161_SCR_RMII_INIT 0x0710 - -/* DM9161 Specified Configuration and Status Register */ -#define MII_DM9161_SCSR 0x11 -#define MII_DM9161_SCSR_100F 0x8000 -#define MII_DM9161_SCSR_100H 0x4000 -#define MII_DM9161_SCSR_10F 0x2000 -#define MII_DM9161_SCSR_10H 0x1000 - -/* DM9161 Interrupt Register */ -#define MII_DM9161_INTR 0x15 -#define MII_DM9161_INTR_PEND 0x8000 -#define MII_DM9161_INTR_DPLX_MASK 0x0800 -#define MII_DM9161_INTR_SPD_MASK 0x0400 -#define MII_DM9161_INTR_LINK_MASK 0x0200 -#define MII_DM9161_INTR_MASK 0x0100 -#define MII_DM9161_INTR_DPLX_CHANGE 0x0010 -#define MII_DM9161_INTR_SPD_CHANGE 0x0008 -#define MII_DM9161_INTR_LINK_CHANGE 0x0004 -#define MII_DM9161_INTR_INIT 0x0000 -#define MII_DM9161_INTR_STOP \ - (MII_DM9161_INTR_DPLX_MASK | MII_DM9161_INTR_SPD_MASK | \ - MII_DM9161_INTR_LINK_MASK | MII_DM9161_INTR_MASK) - -/* DM9161 10BT Configuration/Status */ -#define MII_DM9161_10BTCSR 0x12 -#define MII_DM9161_10BTCSR_INIT 0x7800 - -#define MII_BASIC_FEATURES (SUPPORTED_10baseT_Half | \ - SUPPORTED_10baseT_Full | \ - SUPPORTED_100baseT_Half | \ - SUPPORTED_100baseT_Full | \ - SUPPORTED_Autoneg | \ - SUPPORTED_TP | \ - SUPPORTED_MII) - -#define MII_GBIT_FEATURES (MII_BASIC_FEATURES | \ - SUPPORTED_1000baseT_Half | \ - SUPPORTED_1000baseT_Full) - -#define MII_READ_COMMAND 0x00000001 - -#define MII_INTERRUPT_DISABLED 0x0 -#define MII_INTERRUPT_ENABLED 0x1 - -#define SPEED_10 10 -#define SPEED_100 100 -#define SPEED_1000 1000 - -/* Duplex, half or full. */ -#define DUPLEX_HALF 0x00 -#define DUPLEX_FULL 0x01 - -/* Taken from mii_if_info and sungem_phy.h */ -struct uec_mii_info { - /* Information about the PHY type */ - /* And management functions */ - struct phy_info *phyinfo; - - struct eth_device *dev; - - /* forced speed & duplex (no autoneg) - * partner speed & duplex & pause (autoneg) - */ - int speed; - int duplex; - int pause; - - /* The most recently read link state */ - int link; - - /* Enabled Interrupts */ - u32 interrupts; - - u32 advertising; - int autoneg; - int mii_id; - - /* private data pointer */ - /* For use by PHYs to maintain extra state */ - void *priv; - - /* Provided by ethernet driver */ - int (*mdio_read)(struct eth_device *dev, int mii_id, int reg); - void (*mdio_write)(struct eth_device *dev, int mii_id, int reg, - int val); -}; - -/* struct phy_info: a structure which defines attributes for a PHY - * - * id will contain a number which represents the PHY. During - * startup, the driver will poll the PHY to find out what its - * UID--as defined by registers 2 and 3--is. The 32-bit result - * gotten from the PHY will be ANDed with phy_id_mask to - * discard any bits which may change based on revision numbers - * unimportant to functionality - * - * There are 6 commands which take a ugeth_mii_info structure. - * Each PHY must declare config_aneg, and read_status. - */ -struct phy_info { - u32 phy_id; - char *name; - unsigned int phy_id_mask; - u32 features; - - /* Called to initialize the PHY */ - int (*init)(struct uec_mii_info *mii_info); - - /* Called to suspend the PHY for power */ - int (*suspend)(struct uec_mii_info *mii_info); - - /* Reconfigures autonegotiation (or disables it) */ - int (*config_aneg)(struct uec_mii_info *mii_info); - - /* Determines the negotiated speed and duplex */ - int (*read_status)(struct uec_mii_info *mii_info); - - /* Clears any pending interrupts */ - int (*ack_interrupt)(struct uec_mii_info *mii_info); - - /* Enables or disables interrupts */ - int (*config_intr)(struct uec_mii_info *mii_info); - - /* Clears up any memory if needed */ - void (*close)(struct uec_mii_info *mii_info); -}; - -struct phy_info *uec_get_phy_info(struct uec_mii_info *mii_info); -void uec_write_phy_reg(struct eth_device *dev, int mii_id, int regnum, - int value); -int uec_read_phy_reg(struct eth_device *dev, int mii_id, int regnum); -void mii_clear_phy_interrupt(struct uec_mii_info *mii_info); -void mii_configure_phy_interrupt(struct uec_mii_info *mii_info, - u32 interrupts); -void change_phy_interface_mode(struct eth_device *dev, - phy_interface_t type, int speed); -#endif /* __UEC_PHY_H__ */ From patchwork Sun Nov 27 15:25:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 1709418 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256 header.s=google header.b=aKH0Csq2; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NKt0H58H2z23nJ for ; Mon, 28 Nov 2022 02:33:03 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7418485299; Sun, 27 Nov 2022 16:27:30 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="aKH0Csq2"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0E116851B2; Sun, 27 Nov 2022 16:26:30 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id CCD4384F27 for ; Sun, 27 Nov 2022 16:26:24 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ed1-x52e.google.com with SMTP id r26so10298392edc.10 for ; Sun, 27 Nov 2022 07:26:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ezBIxqD4a5kMk2B7cA7Ehuo0Ta7v54LpCvTWNy1pRM4=; b=aKH0Csq23pvDLazpZ87vd2yPtnF/Mizn2JRbNqLJ9ncM0TyihWW0vBDa56eeLTlWXD 1acIXVA6HJwxlY5s3AoxQdBBsMwK07wLbFt1APDrbeVhlp0Dpkmwceac6YHUSHElSu+N Waeb6Wjjxui/tg62+K9Ax2+s96/znqyEjghNY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ezBIxqD4a5kMk2B7cA7Ehuo0Ta7v54LpCvTWNy1pRM4=; b=vEMWoGVc2+q68Mjp6QOq0Q3EG/vQHLs+nQwjyZyNkYslX9VOXtV+U3dHjMnL6q5IUJ TqO39+tt6avC5wZSO2Y/jVaTCs0mdpVlPzk9NujxFzsjIcYuaBhT/uOdY2JhxtoAgCgo Jm7MGYbxUVS1T6ge79em1i1K8qhrgMFVxgfZZzQYpI6vhVwzr412o6FJSI5pxZ4tVnRr eVSrnMwXDgu/qClZ/+736adxMH+otVU1tUaBDBQ71QGHURzxPUvZ41aSybiLCpuAF3m8 axOY4lfkos7Thwtt6HVa1XWxdf5X14//R9UrNj9LkFXlXwqCwcS3kBvCPRHmC0rVu+k1 RwGQ== X-Gm-Message-State: ANoB5pnh6wladoMh/9/UJ/T/TAyke36aY01of6y81H6nF7rzorDWu5Ml QjnqwN+S5DUr9SeSp4KrLcSMLJK3Rfhxgw== X-Google-Smtp-Source: AA0mqf55xaRCBeYO2cGpMK//6r9C++1SWW2OPPWRbqwt2ru5d0O0M4hHqCd0B7Kp7yV2FnmGuu3Xkw== X-Received: by 2002:aa7:d912:0:b0:46b:2b37:ffa9 with SMTP id a18-20020aa7d912000000b0046b2b37ffa9mr1467863edr.79.1669562783938; Sun, 27 Nov 2022 07:26:23 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:23 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 41/41] net: Remove eth_legacy.c Date: Sun, 27 Nov 2022 10:25:36 -0500 Message-Id: <20221127152536.1556469-41-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean As there are no more non-DM_ETH cases for networking, remove this legacy file and update the Makefile to match current usage. Signed-off-by: Tom Rini --- boot/bootm.c | 3 - cmd/net.c | 2 - cmd/usb.c | 10 -- drivers/net/Kconfig | 4 + include/net.h | 71 -------- net/Makefile | 10 +- net/eth_internal.h | 4 - net/eth_legacy.c | 426 -------------------------------------------- 8 files changed, 7 insertions(+), 523 deletions(-) delete mode 100644 net/eth_legacy.c diff --git a/boot/bootm.c b/boot/bootm.c index a4c0870c0fea..15fce8ad95e0 100644 --- a/boot/bootm.c +++ b/boot/bootm.c @@ -475,9 +475,6 @@ ulong bootm_disable_interrupts(void) #ifdef CONFIG_NETCONSOLE /* Stop the ethernet stack if NetConsole could have left it up */ eth_halt(); -# ifndef CONFIG_DM_ETH - eth_unregister(eth_get_dev()); -# endif #endif #if defined(CONFIG_CMD_USB) diff --git a/cmd/net.c b/cmd/net.c index addcad3ac140..2360d9e66a9e 100644 --- a/cmd/net.c +++ b/cmd/net.c @@ -523,7 +523,6 @@ U_BOOT_CMD( #endif /* CONFIG_CMD_LINK_LOCAL */ -#ifdef CONFIG_DM_ETH static int do_net_list(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { const struct udevice *current = eth_get_dev(); @@ -566,7 +565,6 @@ U_BOOT_CMD( "NET sub-system", "list - list available devices\n" ); -#endif // CONFIG_DM_ETH #if defined(CONFIG_CMD_NCSI) static int do_ncsi(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) diff --git a/cmd/usb.c b/cmd/usb.c index 2ba056982c38..73addb04c498 100644 --- a/cmd/usb.c +++ b/cmd/usb.c @@ -591,16 +591,6 @@ static void do_usb_start(void) drv_usb_kbd_init(); # endif #endif /* !CONFIG_DM_USB */ -#ifdef CONFIG_USB_HOST_ETHER -# ifdef CONFIG_DM_ETH -# ifndef CONFIG_DM_USB -# error "You must use CONFIG_DM_USB if you want to use CONFIG_USB_HOST_ETHER with CONFIG_DM_ETH" -# endif -# else - /* try to recognize ethernet devices immediately */ - usb_ether_curr_dev = usb_host_eth_scan(1); -# endif -#endif } #ifdef CONFIG_DM_USB diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 38699ad2beb4..90822a2f09f0 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -15,6 +15,10 @@ config DM_ETH This is currently implemented in net/eth-uclass.c Look in include/net.h for details. +config SPL_DM_ETH + depends on SPL_NET + def_bool y + config DM_MDIO bool "Enable Driver Model for MDIO devices" depends on PHYLIB diff --git a/include/net.h b/include/net.h index 32364ed0ced9..220b67c210a6 100644 --- a/include/net.h +++ b/include/net.h @@ -101,7 +101,6 @@ enum eth_state_t { ETH_STATE_ACTIVE }; -#ifdef CONFIG_DM_ETH /** * struct eth_pdata - Platform data for Ethernet MAC controllers * @@ -180,76 +179,6 @@ unsigned char *eth_get_ethaddr(void); /* get the current device MAC */ int eth_is_active(struct udevice *dev); /* Test device for active state */ int eth_init_state_only(void); /* Set active state */ void eth_halt_state_only(void); /* Set passive state */ -#endif - -#ifndef CONFIG_DM_ETH -struct eth_device { -#define ETH_NAME_LEN 20 - char name[ETH_NAME_LEN]; - unsigned char enetaddr[ARP_HLEN]; - phys_addr_t iobase; - int state; - - int (*init)(struct eth_device *eth, struct bd_info *bd); - int (*send)(struct eth_device *, void *packet, int length); - int (*recv)(struct eth_device *); - void (*halt)(struct eth_device *); - int (*mcast)(struct eth_device *, const u8 *enetaddr, int join); - int (*write_hwaddr)(struct eth_device *eth); - struct eth_device *next; - int index; - void *priv; -}; - -int eth_register(struct eth_device *dev);/* Register network device */ -int eth_unregister(struct eth_device *dev);/* Remove network device */ - -extern struct eth_device *eth_current; - -static __always_inline struct eth_device *eth_get_dev(void) -{ - return eth_current; -} -struct eth_device *eth_get_dev_by_name(const char *devname); -struct eth_device *eth_get_dev_by_index(int index); /* get dev @ index */ - -/* get the current device MAC */ -static inline unsigned char *eth_get_ethaddr(void) -{ - if (eth_current) - return eth_current->enetaddr; - return NULL; -} - -/* Used only when NetConsole is enabled */ -int eth_is_active(struct eth_device *dev); /* Test device for active state */ -/* Set active state */ -static __always_inline int eth_init_state_only(void) -{ - eth_get_dev()->state = ETH_STATE_ACTIVE; - - return 0; -} -/* Set passive state */ -static __always_inline void eth_halt_state_only(void) -{ - eth_get_dev()->state = ETH_STATE_PASSIVE; -} - -/* - * Set the hardware address for an ethernet interface based on 'eth%daddr' - * environment variable (or just 'ethaddr' if eth_number is 0). - * Args: - * base_name - base name for device (normally "eth") - * eth_number - value of %d (0 for first device of this type) - * Returns: - * 0 is success, non-zero is error status from driver. - */ -int eth_write_hwaddr(struct eth_device *dev, const char *base_name, - int eth_number); - -int usb_eth_initialize(struct bd_info *bi); -#endif int eth_initialize(void); /* Initialize network subsystem */ void eth_try_another(int first_restart); /* Change the device */ diff --git a/net/Makefile b/net/Makefile index 6c812502d3ea..272c7d3b2edf 100644 --- a/net/Makefile +++ b/net/Makefile @@ -10,17 +10,13 @@ obj-$(CONFIG_CMD_BOOTP) += bootp.o obj-$(CONFIG_CMD_CDP) += cdp.o obj-$(CONFIG_CMD_DNS) += dns.o obj-$(CONFIG_DM_DSA) += dsa-uclass.o -ifdef CONFIG_DM_ETH -obj-$(CONFIG_NET) += eth-uclass.o +obj-$(CONFIG_$(SPL_)DM_ETH) += eth-uclass.o obj-$(CONFIG_$(SPL_TPL_)BOOTDEV_ETH) += eth_bootdev.o -else -obj-$(CONFIG_NET) += eth_legacy.o -endif obj-$(CONFIG_DM_MDIO) += mdio-uclass.o obj-$(CONFIG_DM_MDIO_MUX) += mdio-mux-uclass.o -obj-$(CONFIG_NET) += eth_common.o +obj-$(CONFIG_$(SPL_)DM_ETH) += eth_common.o obj-$(CONFIG_CMD_LINK_LOCAL) += link_local.o -obj-$(CONFIG_NET) += net.o +obj-$(CONFIG_$(SPL_)DM_ETH) += net.o obj-$(CONFIG_CMD_NFS) += nfs.o obj-$(CONFIG_CMD_PING) += ping.o obj-$(CONFIG_CMD_PCAP) += pcap.o diff --git a/net/eth_internal.h b/net/eth_internal.h index 042e58a99ae2..0b829a8d3883 100644 --- a/net/eth_internal.h +++ b/net/eth_internal.h @@ -29,11 +29,7 @@ int eth_env_set_enetaddr_by_index(const char *base_name, int index, int eth_mac_skip(int index); void eth_current_changed(void); -#ifdef CONFIG_DM_ETH void eth_set_dev(struct udevice *dev); -#else -void eth_set_dev(struct eth_device *dev); -#endif void eth_set_current_to_next(void); #endif diff --git a/net/eth_legacy.c b/net/eth_legacy.c deleted file mode 100644 index 0b282d918bec..000000000000 --- a/net/eth_legacy.c +++ /dev/null @@ -1,426 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2001-2015 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * Joe Hershberger, National Instruments - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "eth_internal.h" - -DECLARE_GLOBAL_DATA_PTR; - -/* - * CPU and board-specific Ethernet initializations. Aliased function - * signals caller to move on - */ -static int __def_eth_init(struct bd_info *bis) -{ - return -1; -} -int cpu_eth_init(struct bd_info *bis) __attribute__((weak, alias("__def_eth_init"))); -int board_eth_init(struct bd_info *bis) __attribute__((weak, alias("__def_eth_init"))); - -#ifdef CONFIG_API -static struct { - uchar data[PKTSIZE]; - int length; -} eth_rcv_bufs[PKTBUFSRX]; - -static unsigned int eth_rcv_current, eth_rcv_last; -#endif - -static struct eth_device *eth_devices; -struct eth_device *eth_current; - -void eth_set_current_to_next(void) -{ - eth_current = eth_current->next; -} - -void eth_set_dev(struct eth_device *dev) -{ - eth_current = dev; -} - -struct eth_device *eth_get_dev_by_name(const char *devname) -{ - struct eth_device *dev, *target_dev; - - BUG_ON(devname == NULL); - - if (!eth_devices) - return NULL; - - dev = eth_devices; - target_dev = NULL; - do { - if (strcmp(devname, dev->name) == 0) { - target_dev = dev; - break; - } - dev = dev->next; - } while (dev != eth_devices); - - return target_dev; -} - -struct eth_device *eth_get_dev_by_index(int index) -{ - struct eth_device *dev, *target_dev; - - if (!eth_devices) - return NULL; - - dev = eth_devices; - target_dev = NULL; - do { - if (dev->index == index) { - target_dev = dev; - break; - } - dev = dev->next; - } while (dev != eth_devices); - - return target_dev; -} - -int eth_get_dev_index(void) -{ - if (!eth_current) - return -1; - - return eth_current->index; -} - -static int on_ethaddr(const char *name, const char *value, enum env_op op, - int flags) -{ - int index; - struct eth_device *dev; - - if (!eth_devices) - return 0; - - /* look for an index after "eth" */ - index = dectoul(name + 3, NULL); - - dev = eth_devices; - do { - if (dev->index == index) { - switch (op) { - case env_op_create: - case env_op_overwrite: - string_to_enetaddr(value, dev->enetaddr); - eth_write_hwaddr(dev, "eth", dev->index); - break; - case env_op_delete: - memset(dev->enetaddr, 0, ARP_HLEN); - } - } - dev = dev->next; - } while (dev != eth_devices); - - return 0; -} -U_BOOT_ENV_CALLBACK(ethaddr, on_ethaddr); - -int eth_write_hwaddr(struct eth_device *dev, const char *base_name, - int eth_number) -{ - unsigned char env_enetaddr[ARP_HLEN]; - int ret = 0; - - eth_env_get_enetaddr_by_index(base_name, eth_number, env_enetaddr); - - if (!is_zero_ethaddr(env_enetaddr)) { - if (!is_zero_ethaddr(dev->enetaddr) && - memcmp(dev->enetaddr, env_enetaddr, ARP_HLEN)) { - printf("\nWarning: %s MAC addresses don't match:\n", - dev->name); - printf("Address in SROM is %pM\n", - dev->enetaddr); - printf("Address in environment is %pM\n", - env_enetaddr); - } - - memcpy(dev->enetaddr, env_enetaddr, ARP_HLEN); - } else if (is_valid_ethaddr(dev->enetaddr)) { - eth_env_set_enetaddr_by_index(base_name, eth_number, - dev->enetaddr); - } else if (is_zero_ethaddr(dev->enetaddr)) { -#ifdef CONFIG_NET_RANDOM_ETHADDR - net_random_ethaddr(dev->enetaddr); - printf("\nWarning: %s (eth%d) using random MAC address - %pM\n", - dev->name, eth_number, dev->enetaddr); - eth_env_set_enetaddr_by_index("eth", eth_number, - dev->enetaddr); -#else - printf("\nError: %s address not set.\n", - dev->name); - return -EINVAL; -#endif - } - - if (dev->write_hwaddr && !eth_mac_skip(eth_number)) { - if (!is_valid_ethaddr(dev->enetaddr)) { - printf("\nError: %s address %pM illegal value\n", - dev->name, dev->enetaddr); - return -EINVAL; - } - - ret = dev->write_hwaddr(dev); - if (ret) - printf("\nWarning: %s failed to set MAC address\n", - dev->name); - } - - return ret; -} - -int eth_register(struct eth_device *dev) -{ - struct eth_device *d; - static int index; - - assert(strlen(dev->name) < sizeof(dev->name)); - - if (!eth_devices) { - eth_devices = dev; - eth_current = dev; - eth_current_changed(); - } else { - for (d = eth_devices; d->next != eth_devices; d = d->next) - ; - d->next = dev; - } - - dev->state = ETH_STATE_INIT; - dev->next = eth_devices; - dev->index = index++; - - return 0; -} - -int eth_unregister(struct eth_device *dev) -{ - struct eth_device *cur; - - /* No device */ - if (!eth_devices) - return -ENODEV; - - for (cur = eth_devices; cur->next != eth_devices && cur->next != dev; - cur = cur->next) - ; - - /* Device not found */ - if (cur->next != dev) - return -ENODEV; - - cur->next = dev->next; - - if (eth_devices == dev) - eth_devices = dev->next == eth_devices ? NULL : dev->next; - - if (eth_current == dev) { - eth_current = eth_devices; - eth_current_changed(); - } - - return 0; -} - -int eth_initialize(void) -{ - int num_devices = 0; - - eth_devices = NULL; - eth_current = NULL; - eth_common_init(); - /* - * If board-specific initialization exists, call it. - * If not, call a CPU-specific one - */ - if (board_eth_init != __def_eth_init) { - if (board_eth_init(gd->bd) < 0) - printf("Board Net Initialization Failed\n"); - } else if (cpu_eth_init != __def_eth_init) { - if (cpu_eth_init(gd->bd) < 0) - printf("CPU Net Initialization Failed\n"); - } else { - printf("Net Initialization Skipped\n"); - } - - if (!eth_devices) { - log_err("No ethernet found.\n"); - bootstage_error(BOOTSTAGE_ID_NET_ETH_START); - } else { - struct eth_device *dev = eth_devices; - char *ethprime = env_get("ethprime"); - - bootstage_mark(BOOTSTAGE_ID_NET_ETH_INIT); - do { - if (dev->index) - puts(", "); - - printf("%s", dev->name); - - if (ethprime && strcmp(dev->name, ethprime) == 0) { - eth_current = dev; - puts(" [PRIME]"); - } - - if (strchr(dev->name, ' ')) - puts("\nWarning: eth device name has a space!" - "\n"); - - eth_write_hwaddr(dev, "eth", dev->index); - - dev = dev->next; - num_devices++; - } while (dev != eth_devices); - - eth_current_changed(); - putc('\n'); - } - - return num_devices; -} - -/* Multicast. - * mcast_addr: multicast ipaddr from which multicast Mac is made - * join: 1=join, 0=leave. - */ -int eth_mcast_join(struct in_addr mcast_ip, int join) -{ - u8 mcast_mac[ARP_HLEN]; - if (!eth_current || !eth_current->mcast) - return -1; - mcast_mac[5] = htonl(mcast_ip.s_addr) & 0xff; - mcast_mac[4] = (htonl(mcast_ip.s_addr)>>8) & 0xff; - mcast_mac[3] = (htonl(mcast_ip.s_addr)>>16) & 0x7f; - mcast_mac[2] = 0x5e; - mcast_mac[1] = 0x0; - mcast_mac[0] = 0x1; - return eth_current->mcast(eth_current, mcast_mac, join); -} - -int eth_init(void) -{ - struct eth_device *old_current; - - if (!eth_current) { - log_err("No ethernet found.\n"); - return -ENODEV; - } - - old_current = eth_current; - do { - debug("Trying %s\n", eth_current->name); - - if (eth_current->init(eth_current, gd->bd) >= 0) { - eth_current->state = ETH_STATE_ACTIVE; - - return 0; - } - debug("FAIL\n"); - - eth_try_another(0); - } while (old_current != eth_current); - - return -ETIMEDOUT; -} - -void eth_halt(void) -{ - if (!eth_current) - return; - - eth_current->halt(eth_current); - - eth_current->state = ETH_STATE_PASSIVE; -} - -int eth_is_active(struct eth_device *dev) -{ - return dev && dev->state == ETH_STATE_ACTIVE; -} - -int eth_send(void *packet, int length) -{ - int ret; - - if (!eth_current) - return -ENODEV; - - ret = eth_current->send(eth_current, packet, length); -#if defined(CONFIG_CMD_PCAP) - if (ret >= 0) - pcap_post(packet, length, true); -#endif - return ret; -} - -int eth_rx(void) -{ - if (!eth_current) - return -ENODEV; - - return eth_current->recv(eth_current); -} - -#ifdef CONFIG_API -static void eth_save_packet(void *packet, int length) -{ - char *p = packet; - int i; - - if ((eth_rcv_last+1) % PKTBUFSRX == eth_rcv_current) - return; - - if (PKTSIZE < length) - return; - - for (i = 0; i < length; i++) - eth_rcv_bufs[eth_rcv_last].data[i] = p[i]; - - eth_rcv_bufs[eth_rcv_last].length = length; - eth_rcv_last = (eth_rcv_last + 1) % PKTBUFSRX; -} - -int eth_receive(void *packet, int length) -{ - char *p = packet; - void *pp = push_packet; - int i; - - if (eth_rcv_current == eth_rcv_last) { - push_packet = eth_save_packet; - eth_rx(); - push_packet = pp; - - if (eth_rcv_current == eth_rcv_last) - return -1; - } - - length = min(eth_rcv_bufs[eth_rcv_current].length, length); - - for (i = 0; i < length; i++) - p[i] = eth_rcv_bufs[eth_rcv_current].data[i]; - - eth_rcv_current = (eth_rcv_current + 1) % PKTBUFSRX; - return length; -} -#endif /* CONFIG_API */