From patchwork Wed Jul 19 09:15:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?V2VpamllIEdhbyAo6auY5oOf5p2wKQ==?= X-Patchwork-Id: 1809725 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=mediatek.com header.i=@mediatek.com header.a=rsa-sha256 header.s=dk header.b=L+fAvf9F; 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 4R5VYG2rLWz1yY9 for ; Wed, 19 Jul 2023 19:16:00 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5ABF48466A; Wed, 19 Jul 2023 11:15:53 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=mediatek.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=mediatek.com header.i=@mediatek.com header.b="L+fAvf9F"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 612DF8468A; Wed, 19 Jul 2023 11:15:51 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RDNS_NONE,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.2 Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3317484460 for ; Wed, 19 Jul 2023 11:15:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=weijie.gao@mediatek.com X-UUID: d222df88261411ee9cb5633481061a41-20230719 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=Lnrt2vSsoszT+575ogyl++J88kCUNVqZeUnJ0cPSG9I=; b=L+fAvf9FE/o5uUanw+euLnSq3UB69ZYqdvDMBOGkSRfQwRxNdXHAfsNBhqwYSr3H9KGBCJN+h1vsXWOts3gwWVXMuTiyPfdd+B4KKaHumxJ5q+xVm3h+9aNJ6huRNAn6+7FoAEEzmmRrTcLXYIfcOAAWKsyQ5HTwV6mbCGLOUwY=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.28, REQID:1dd96b78-ac82-4c31-aae9-3184fbd9d535, IP:0, U RL:0,TC:0,Content:-25,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:-25 X-CID-META: VersionHash:176cd25, CLOUDID:139fcb87-44fb-401c-8de7-6a5572f1f5d5, B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:1,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO, DKR:0,DKP:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_ULS X-UUID: d222df88261411ee9cb5633481061a41-20230719 Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1453968471; Wed, 19 Jul 2023 17:15:36 +0800 Received: from mtkmbs11n1.mediatek.inc (172.21.101.185) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Wed, 19 Jul 2023 17:15:34 +0800 Received: from mcddlt001.gcn.mediatek.inc (10.19.240.15) by mtkmbs11n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Wed, 19 Jul 2023 17:15:34 +0800 From: Weijie Gao To: CC: GSS_MTK_Uboot_upstream , Daniel Golle , Frank Wunderlich , Weijie Gao Subject: [PATCH 00/29] Add support for MediaTek MT7988 SoC Date: Wed, 19 Jul 2023 17:15:28 +0800 Message-ID: X-Mailer: git-send-email 2.17.0 MIME-Version: 1.0 X-MTK: N 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.8 at phobos.denx.de X-Virus-Status: Clean This patch series add support for MediaTek MT7988 SoC with its reference boards and related drivers. This patch series add basic boot support on eMMC/SD/SPI-NOR/SPI-NAND for these boards. The clock, pinctrl drivers and the SoC initializaton code are also included. Product spec for MT7988: https://www.mediatek.com/products/broadband-wifi/mediatek-filogic-880 Weijie Gao (29): arm: mediatek: retrieve ram_base from dts node for armv8 platform board: mediatek: update config headers spi: mtk_spim: get spi clk rate only once spi: mtk_spim: clear IRQ enable bits serial: mtk: initial priv data before using reset: mediatek: check malloc return valaue before use i2c: mediatek: fix I2C usability for MT7981 arm: dts: enable i2c support for MediaTek MT7981 pwm: mtk: add support for MediaTek MT7988 SoC clk: mediatek: add clock driver support for MediaTek MT7988 SoC reset: mediatek: add reset definition for MediaTek MT7988 SoC pinctrl: mediatek: convert most definitions to const pinctrl: mediatek: fix the return value in driving configuration functions pinctrl: mediatek: add pinmux_set ops support pinctrl: mediatek: add pinctrl driver for MT7988 SoC net: mediatek: connect switch to PSE only when starting eth is requested net: mediatek: optimize the switch reset delay wait time net: mediatek: fix direct MDIO clause 45 access via SoC net: mediatek: add missing static qualifier net: mediatek: add support for SGMII 1Gbps auto-negotiation mode arm: dts: medaitek: convert gmac link mode to 2500base-x net: mediatek: add support for GMAC/USB3 PHY mux mode for MT7981 arm: dts: mediatek: add infracfg registers to support GMAC/USB3 Co-PHY net: mediatek: add USXGMII support net: mediatek: add support for NETSYS v3 net: mediatek: add support for MediaTek MT7988 SoC tools: mtk_image: use uint32_t for ghf header magic and version arm: mediatek: add support for MediaTek MT7988 SoC board: mediatek: add MT7988 reference boards arch/arm/dts/Makefile | 2 + arch/arm/dts/mt7622-bananapi-bpi-r64.dts | 4 +- arch/arm/dts/mt7622-rfb.dts | 4 +- arch/arm/dts/mt7629-rfb.dts | 4 +- arch/arm/dts/mt7981-emmc-rfb.dts | 9 +- arch/arm/dts/mt7981-rfb.dts | 9 +- arch/arm/dts/mt7981-sd-rfb.dts | 9 +- arch/arm/dts/mt7981.dtsi | 21 + arch/arm/dts/mt7986a-bpi-r3-sd.dts | 5 + arch/arm/dts/mt7986a-rfb.dts | 9 +- arch/arm/dts/mt7986a-sd-rfb.dts | 9 +- arch/arm/dts/mt7986b-rfb.dts | 9 +- arch/arm/dts/mt7986b-sd-rfb.dts | 9 +- arch/arm/dts/mt7988-rfb.dts | 182 +++ arch/arm/dts/mt7988-sd-rfb.dts | 134 ++ arch/arm/dts/mt7988-u-boot.dtsi | 25 + arch/arm/dts/mt7988.dtsi | 391 +++++ arch/arm/mach-mediatek/Kconfig | 13 +- arch/arm/mach-mediatek/Makefile | 1 + arch/arm/mach-mediatek/mt7622/init.c | 13 +- arch/arm/mach-mediatek/mt7981/init.c | 11 +- arch/arm/mach-mediatek/mt7986/init.c | 11 +- arch/arm/mach-mediatek/mt7988/Makefile | 4 + arch/arm/mach-mediatek/mt7988/init.c | 63 + arch/arm/mach-mediatek/mt7988/lowlevel_init.S | 30 + board/mediatek/mt7622/mt7622_rfb.c | 1 - board/mediatek/mt7988/MAINTAINERS | 7 + board/mediatek/mt7988/Makefile | 3 + board/mediatek/mt7988/mt7988_rfb.c | 10 + configs/mt7988_rfb_defconfig | 83 ++ configs/mt7988_sd_rfb_defconfig | 71 + drivers/clk/mediatek/Makefile | 1 + drivers/clk/mediatek/clk-mt7988.c | 1123 +++++++++++++++ drivers/i2c/mtk_i2c.c | 45 +- drivers/net/mtk_eth.c | 572 +++++++- drivers/net/mtk_eth.h | 69 + drivers/pinctrl/mediatek/Kconfig | 4 + drivers/pinctrl/mediatek/Makefile | 1 + drivers/pinctrl/mediatek/pinctrl-mt7622.c | 474 +++--- drivers/pinctrl/mediatek/pinctrl-mt7623.c | 650 ++++----- drivers/pinctrl/mediatek/pinctrl-mt7629.c | 174 +-- drivers/pinctrl/mediatek/pinctrl-mt7981.c | 270 ++-- drivers/pinctrl/mediatek/pinctrl-mt7986.c | 145 +- drivers/pinctrl/mediatek/pinctrl-mt7988.c | 1274 +++++++++++++++++ drivers/pinctrl/mediatek/pinctrl-mt8512.c | 24 +- drivers/pinctrl/mediatek/pinctrl-mt8516.c | 18 +- drivers/pinctrl/mediatek/pinctrl-mt8518.c | 20 +- drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 22 +- drivers/pinctrl/mediatek/pinctrl-mtk-common.h | 8 +- drivers/pwm/pwm-mtk.c | 7 + drivers/reset/reset-mediatek.c | 3 + drivers/serial/serial_mtk.c | 1 + drivers/spi/mtk_spim.c | 24 +- include/configs/mt7620.h | 3 +- include/configs/mt7621.h | 6 +- include/configs/mt7622.h | 10 - include/configs/mt7623.h | 8 - include/configs/mt7628.h | 5 +- include/configs/mt7629.h | 13 +- include/configs/mt7981.h | 9 - include/configs/mt7986.h | 9 - include/configs/mt7988.h | 14 + include/dt-bindings/clock/mt7988-clk.h | 349 +++++ include/dt-bindings/reset/mt7988-reset.h | 31 + tools/mtk_image.c | 10 +- tools/mtk_image.h | 6 +- 66 files changed, 5533 insertions(+), 1025 deletions(-) create mode 100644 arch/arm/dts/mt7988-rfb.dts create mode 100644 arch/arm/dts/mt7988-sd-rfb.dts create mode 100644 arch/arm/dts/mt7988-u-boot.dtsi create mode 100644 arch/arm/dts/mt7988.dtsi create mode 100644 arch/arm/mach-mediatek/mt7988/Makefile create mode 100644 arch/arm/mach-mediatek/mt7988/init.c create mode 100644 arch/arm/mach-mediatek/mt7988/lowlevel_init.S create mode 100644 board/mediatek/mt7988/MAINTAINERS create mode 100644 board/mediatek/mt7988/Makefile create mode 100644 board/mediatek/mt7988/mt7988_rfb.c create mode 100644 configs/mt7988_rfb_defconfig create mode 100644 configs/mt7988_sd_rfb_defconfig create mode 100644 drivers/clk/mediatek/clk-mt7988.c create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt7988.c create mode 100644 include/configs/mt7988.h create mode 100644 include/dt-bindings/clock/mt7988-clk.h create mode 100644 include/dt-bindings/reset/mt7988-reset.h