From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F593C43331 for ; Wed, 1 Apr 2020 13:03:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CEDD3206E9 for ; Wed, 1 Apr 2020 13:03:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=lunn.ch header.i=@lunn.ch header.b="SlosnrE3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732696AbgDANDa (ORCPT ); Wed, 1 Apr 2020 09:03:30 -0400 Received: from vps0.lunn.ch ([185.16.172.187]:42922 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732252AbgDAND3 (ORCPT ); Wed, 1 Apr 2020 09:03:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lunn.ch; s=20171124; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=Z/JNN9vM8sF4KKrmVuUlEJ1vAbgLDA51EFwdX+f8al0=; b=SlosnrE3NMyvDUAatcrwmsKITZ LBHaBzg22lmqWMIo5T9+kqCOc9MgqaBdmR/WaLqCKK9SwAFbzK/NuFslIl9eXnv75FRaWVWIeWAh4 yga5OcvnSQedgZj75O2CG62piaDwgtbD4I8uD8Vc07w8jXIYKhkZ1Vm5TEUyAfMMSOTw=; Received: from andrew by vps0.lunn.ch with local (Exim 4.93) (envelope-from ) id 1jJd1d-000QAr-9i; Wed, 01 Apr 2020 15:03:21 +0200 Date: Wed, 1 Apr 2020 15:03:21 +0200 From: Andrew Lunn To: Ioana Ciornei Cc: Baruch Siach , Russell King , "netdev@vger.kernel.org" , Shmuel Hazan , Florian Fainelli , Heiner Kallweit Subject: Re: [PATCH] net: phy: marvell10g: add firmware load support Message-ID: <20200401130321.GA71179@lunn.ch> References: <16e4a15e359012fc485d22c7e413a129029fbd0f.1585676858.git.baruch@tkos.co.il> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Ioana > This is typically the case for Aquantia PHYs. The Aquantia is just odd. I would never use it as a generic example. If i remember correctly, its 'firmware' is actually made up of multiple parts, only part of which is actual firmware. It has provisioning, which can be used to set register values. This potentially invalidates the driver, which makes assumptions about reset values of registers. And is contains board specific data, like eye configuration. As i understand it, Aquantia customises the firmware for the specific PHY on each board design. For a general purpose OS like Linux, this will have to change before we support firmware upload. We need generic firmware, which is the same everywhere, and then PHY specific blobs for things like the eye configuration. This basic idea has been around a long time in the WiFi world. The Atheros WiFi chipsets needed a board specific blod which contains calibration data, path losses on the board, in order that the transmit power could be tuned to prevent it sending too much power out the aerial. Andrew