From patchwork Tue Oct 29 21:07:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suneel Garapati X-Patchwork-Id: 1186290 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="uk0Bqpkn"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 472khj4ds3z9sCJ for ; Wed, 30 Oct 2019 08:08:35 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id DD049C21E13; Tue, 29 Oct 2019 21:08:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id C6328C21C51; Tue, 29 Oct 2019 21:08:27 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2DB09C21C51; Tue, 29 Oct 2019 21:08:27 +0000 (UTC) Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by lists.denx.de (Postfix) with ESMTPS id B8C3BC21BE5 for ; Tue, 29 Oct 2019 21:08:25 +0000 (UTC) Received: by mail-pg1-f195.google.com with SMTP id e10so10470295pgd.11 for ; Tue, 29 Oct 2019 14:08:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=LIYaSHlQvCJ2eot+PYfk8Tc/9xJ0lB1Q3nsEHKp5sHc=; b=uk0BqpknlsBc48ZxPCHvoKdkUoWGDZbX9nOS7n3vYlha/S/sE3sUYAa7n/ase0OqjM P1CXC8rufnTFGGqdTwkmzftSgRkDEP7CAmo2BfiUPuqiiCdEYnQ4Ki5/c6AVlScJ3vnp J5B1jtPmWmbOfG4B4U9H+T3dMFkIYhTMI+qg0Y8XMiHwNppoCEedFUbTPz3dzmyuK+0T kqtx/eIcEHEp9ylsa1l7ZdFLdjpm3aspkRi9mf2tJKdFFSMhM/iBp4w4sUSQRYctR2rr En0S9P8wXptR7cim/AcejrOt/rs/FB09HSKxpRl+y8f0rg5SXPxxfQfwRmU9XtXF4Viq Nhzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=LIYaSHlQvCJ2eot+PYfk8Tc/9xJ0lB1Q3nsEHKp5sHc=; b=OiNddZDBreCkWMzmOi1+VI1mmXKSiMIjEwvCR/1KNPPdv/VIM1NYBXHKbV2f4hNVfN bIrs+LJKSINUIqH8IJU6jr5i36Yq3DTRaZ/lWxcnnVe8+OHBm4ATGTC9p9Pbv+sliieP ca18pb3DXt2lcIbdLiLl75tdpf66xZZLC9+QoVvSHnxREFHnhHyy3bPDSlVLMvAoWR+7 sNOA7akWH6AfDlRJFZRbhKRgtAVY1QwA2odV1/33/AG4xhMnzUcRFnPtcUrhD9g0dc0+ DkYQA8wfc8dh32cArX4pxusUzc0jsypyT+L0kd+63X7bhRJUTUZUb+dgYWadumz5f9XO BYOw== X-Gm-Message-State: APjAAAVTkxdok62UelZXg8PsrdjMX+EsxDubsttIesTm161UU8NvSmyC +SvnEpRFNH3tnYoe1v1I0DP63c8Mpog= X-Google-Smtp-Source: APXvYqzgZ1IePuxo3CZnO9VsxV7FdyqHhid/vJa9kN3GMPg9jNlvUDwKSSI4iizWPBf3fvLT6ebyBg== X-Received: by 2002:a63:2348:: with SMTP id u8mr29927104pgm.422.1572383303422; Tue, 29 Oct 2019 14:08:23 -0700 (PDT) Received: from suneel.hsd1.ca.comcast.net ([2601:641:4000:c9c0:7044:5eef:7096:2413]) by smtp.gmail.com with ESMTPSA id q3sm131160pgj.54.2019.10.29.14.08.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Oct 2019 14:08:22 -0700 (PDT) From: Suneel Garapati To: u-boot Date: Tue, 29 Oct 2019 14:07:52 -0700 Message-Id: <20191029210821.1954-1-suneelglinux@gmail.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Cc: Tom Rini , Matthias Brugger , Joe Hershberger , Prasun Kapoor , Maen Suleiman , Chandrakala Chavva , Zi Shen Lim , Stefan Roese , Chris Packham Subject: [U-Boot] [RFC PATCH 00/29] arm: Introduce Marvell/Cavium OcteonTX X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" This series will add support for OcteonTX and OcteonTX2 processsor based platforms. The Marvell/Cavium Octeon-TX 64-bit ARM based SoCs include the CN80XX, CN81XX and CN83XX while Octeon-TX2 64-bit ARM based SoCs include support for CN96XX and CN95XX. These SoC's have peripheral drivers based on PCI ECAM. Patches [1 -10] Add requied changes to PCI framework - [6] Add support for multi-memory region range - [7] EA in bridges - [8] SR-IOV [12] Add driver model support for RTC DS1337 driver [15 - 17] AHCI changes [18 - 27] Add OcteonTX drivers [28 - 29] Add OcteonTX/TX2 board files and configurations Suneel Garapati (29): include: pci_ids: add vendor ID for Cavium include: pci: Increase max pci region limit fdtdec: add API to read pci bus-range property drivers: pci-uclass: fix incorrect argument in map_sysmem drivers: pci-uclass: make DT subnode parse optional drivers: pci-uclass: add multi entry support for pci regions drivers: pci-uclass: add support for Enhanced Allocation in Bridges drivers: pci-uclass: add support for Single-Root I/O Virtualizaiton drivers: pci-uclass: add VF map_bar support for Enhanced Allocation drivers: pci-uclass: Add support for Alternate-RoutingID capability include: arm: asm: io: add 64bit clrbits and setbits helpers drivers: rtc: ds1337: add driver model support arch: include: octeontx: add headers for OcteonTX arch: include: octeontx2: add headers for OcteonTX2 drivers: ata: ahci: update max id if it is more than available ports drivers: ata: ahci: fill upper 32bit buffer address in sg descriptor drivers: ata: ahci: add BAR index quirk for OcteonTX drivers: pci: add PCI controller driver for OcteonTX drivers: gpio: add GPIO controller driver for OcteonTX drivers: i2c: add I2C controller driver for OcteonTX drivers: spi: add SPI controller driver for OcteonTX drivers: mmc: remove static qualifier on mmc_power_init drivers: mmc: add MMC controller driver for OcteonTX drivers: mtd: nand: add NAND controller driver for OcteonTX drivers: net: add NIC controller driver for OcteonTX drivers: net: add NIC controller driver for OcteonTX2 drivers: watchdog: add reset support for OcteonTX octeontx: Add support for OcteonTX SoC platforms octeontx2: Add support for OcteonTX2 SoC platforms arch/arm/Kconfig | 22 + arch/arm/Makefile | 2 + arch/arm/include/asm/arch-octeontx/board.h | 121 + arch/arm/include/asm/arch-octeontx/clock.h | 25 + .../asm/arch-octeontx/csrs/csrs-mio_emm.h | 1193 ++ .../include/asm/arch-octeontx/csrs/csrs-xcv.h | 428 + arch/arm/include/asm/arch-octeontx/gpio.h | 6 + arch/arm/include/asm/arch-octeontx/smc.h | 20 + arch/arm/include/asm/arch-octeontx/soc.h | 31 + arch/arm/include/asm/arch-octeontx2/board.h | 123 + arch/arm/include/asm/arch-octeontx2/clock.h | 24 + .../asm/arch-octeontx2/csrs/csrs-cgx.h | 7835 ++++++++++++ .../asm/arch-octeontx2/csrs/csrs-lmt.h | 60 + .../asm/arch-octeontx2/csrs/csrs-mio_emm.h | 1193 ++ .../asm/arch-octeontx2/csrs/csrs-nix.h | 10482 ++++++++++++++++ .../asm/arch-octeontx2/csrs/csrs-npa.h | 2296 ++++ .../asm/arch-octeontx2/csrs/csrs-npc.h | 1930 +++ .../asm/arch-octeontx2/csrs/csrs-rvu.h | 2430 ++++ arch/arm/include/asm/arch-octeontx2/gpio.h | 6 + arch/arm/include/asm/arch-octeontx2/smc-id.h | 32 + arch/arm/include/asm/arch-octeontx2/smc.h | 18 + arch/arm/include/asm/arch-octeontx2/soc.h | 31 + arch/arm/include/asm/io.h | 8 + arch/arm/mach-octeontx/Kconfig | 23 + arch/arm/mach-octeontx/Makefile | 9 + arch/arm/mach-octeontx/clock.c | 35 + arch/arm/mach-octeontx/cpu.c | 76 + arch/arm/mach-octeontx/lowlevel_init.S | 33 + arch/arm/mach-octeontx2/Kconfig | 23 + arch/arm/mach-octeontx2/Makefile | 9 + arch/arm/mach-octeontx2/clock.c | 35 + arch/arm/mach-octeontx2/config.mk | 4 + arch/arm/mach-octeontx2/cpu.c | 72 + arch/arm/mach-octeontx2/lowlevel_init.S | 33 + board/Marvell/octeontx/Kconfig | 14 + board/Marvell/octeontx/MAINTAINERS | 9 + board/Marvell/octeontx/Makefile | 9 + board/Marvell/octeontx/board-fdt.c | 271 + board/Marvell/octeontx/board.c | 137 + board/Marvell/octeontx/smc.c | 30 + board/Marvell/octeontx/soc-utils.c | 53 + board/Marvell/octeontx2/Kconfig | 15 + board/Marvell/octeontx2/MAINTAINERS | 9 + board/Marvell/octeontx2/Makefile | 9 + board/Marvell/octeontx2/board-fdt.c | 155 + board/Marvell/octeontx2/board.c | 232 + board/Marvell/octeontx2/smc.c | 62 + board/Marvell/octeontx2/soc-utils.c | 49 + configs/octeontx2_95xx_defconfig | 105 + configs/octeontx2_96xx_defconfig | 131 + configs/octeontx_81xx_defconfig | 133 + configs/octeontx_83xx_defconfig | 130 + drivers/ata/ahci.c | 15 + drivers/gpio/Kconfig | 7 + drivers/gpio/Makefile | 1 + drivers/gpio/octeontx_gpio.c | 218 + drivers/i2c/Kconfig | 7 + drivers/i2c/Makefile | 1 + drivers/i2c/octeontx_i2c.c | 968 ++ drivers/mmc/Kconfig | 9 + drivers/mmc/Makefile | 1 + drivers/mmc/mmc.c | 2 +- drivers/mmc/octeontx_hsmmc.c | 3233 +++++ drivers/mmc/octeontx_hsmmc.h | 191 + drivers/mtd/nand/raw/Kconfig | 16 + drivers/mtd/nand/raw/Makefile | 2 + drivers/mtd/nand/raw/octeontx_bch.c | 424 + drivers/mtd/nand/raw/octeontx_bch.h | 142 + drivers/mtd/nand/raw/octeontx_bch_regs.h | 169 + drivers/mtd/nand/raw/octeontx_nand.c | 2261 ++++ drivers/net/Kconfig | 29 + drivers/net/Makefile | 4 + drivers/net/octeontx/Makefile | 9 + drivers/net/octeontx/bgx.c | 1546 +++ drivers/net/octeontx/bgx.h | 259 + drivers/net/octeontx/nic.h | 518 + drivers/net/octeontx/nic_main.c | 777 ++ drivers/net/octeontx/nic_reg.h | 252 + drivers/net/octeontx/nicvf_main.c | 575 + drivers/net/octeontx/nicvf_queues.c | 1141 ++ drivers/net/octeontx/nicvf_queues.h | 355 + drivers/net/octeontx/q_struct.h | 697 + drivers/net/octeontx/smi.c | 382 + drivers/net/octeontx/xcv.c | 129 + drivers/net/octeontx2/Makefile | 11 + drivers/net/octeontx2/cgx.c | 297 + drivers/net/octeontx2/cgx.h | 105 + drivers/net/octeontx2/cgx_intf.c | 421 + drivers/net/octeontx2/cgx_intf.h | 370 + drivers/net/octeontx2/lmt.h | 51 + drivers/net/octeontx2/nix.c | 824 ++ drivers/net/octeontx2/nix.h | 355 + drivers/net/octeontx2/nix_af.c | 1103 ++ drivers/net/octeontx2/npc.h | 92 + drivers/net/octeontx2/rvu.h | 127 + drivers/net/octeontx2/rvu_af.c | 172 + drivers/net/octeontx2/rvu_common.c | 74 + drivers/net/octeontx2/rvu_pf.c | 118 + drivers/pci/Kconfig | 17 + drivers/pci/Makefile | 1 + drivers/pci/pci-uclass.c | 211 +- drivers/pci/pci_octeontx.c | 538 + drivers/rtc/Kconfig | 7 + drivers/rtc/ds1337.c | 170 + drivers/spi/Kconfig | 6 + drivers/spi/Makefile | 1 + drivers/spi/octeontx_spi.c | 750 ++ drivers/watchdog/Kconfig | 10 + drivers/watchdog/Makefile | 1 + drivers/watchdog/octeontx_wdt.c | 76 + include/configs/octeontx2_95xx.h | 80 + include/configs/octeontx2_96xx.h | 90 + include/configs/octeontx_common.h | 98 + include/fdtdec.h | 12 + include/mmc.h | 1 + include/pci.h | 23 +- include/pci_ids.h | 2 + lib/fdtdec.c | 16 + 118 files changed, 50774 insertions(+), 17 deletions(-) create mode 100644 arch/arm/include/asm/arch-octeontx/board.h create mode 100644 arch/arm/include/asm/arch-octeontx/clock.h create mode 100644 arch/arm/include/asm/arch-octeontx/csrs/csrs-mio_emm.h create mode 100644 arch/arm/include/asm/arch-octeontx/csrs/csrs-xcv.h create mode 100644 arch/arm/include/asm/arch-octeontx/gpio.h create mode 100644 arch/arm/include/asm/arch-octeontx/smc.h create mode 100644 arch/arm/include/asm/arch-octeontx/soc.h create mode 100644 arch/arm/include/asm/arch-octeontx2/board.h create mode 100644 arch/arm/include/asm/arch-octeontx2/clock.h create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-cgx.h create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-lmt.h create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-mio_emm.h create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-nix.h create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-npa.h create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-npc.h create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-rvu.h create mode 100644 arch/arm/include/asm/arch-octeontx2/gpio.h create mode 100644 arch/arm/include/asm/arch-octeontx2/smc-id.h create mode 100644 arch/arm/include/asm/arch-octeontx2/smc.h create mode 100644 arch/arm/include/asm/arch-octeontx2/soc.h create mode 100644 arch/arm/mach-octeontx/Kconfig create mode 100644 arch/arm/mach-octeontx/Makefile create mode 100644 arch/arm/mach-octeontx/clock.c create mode 100644 arch/arm/mach-octeontx/cpu.c create mode 100644 arch/arm/mach-octeontx/lowlevel_init.S create mode 100644 arch/arm/mach-octeontx2/Kconfig create mode 100644 arch/arm/mach-octeontx2/Makefile create mode 100644 arch/arm/mach-octeontx2/clock.c create mode 100644 arch/arm/mach-octeontx2/config.mk create mode 100644 arch/arm/mach-octeontx2/cpu.c create mode 100644 arch/arm/mach-octeontx2/lowlevel_init.S create mode 100644 board/Marvell/octeontx/Kconfig create mode 100644 board/Marvell/octeontx/MAINTAINERS create mode 100644 board/Marvell/octeontx/Makefile create mode 100644 board/Marvell/octeontx/board-fdt.c create mode 100644 board/Marvell/octeontx/board.c create mode 100644 board/Marvell/octeontx/smc.c create mode 100644 board/Marvell/octeontx/soc-utils.c create mode 100644 board/Marvell/octeontx2/Kconfig create mode 100644 board/Marvell/octeontx2/MAINTAINERS create mode 100644 board/Marvell/octeontx2/Makefile create mode 100644 board/Marvell/octeontx2/board-fdt.c create mode 100644 board/Marvell/octeontx2/board.c create mode 100644 board/Marvell/octeontx2/smc.c create mode 100644 board/Marvell/octeontx2/soc-utils.c create mode 100644 configs/octeontx2_95xx_defconfig create mode 100644 configs/octeontx2_96xx_defconfig create mode 100644 configs/octeontx_81xx_defconfig create mode 100644 configs/octeontx_83xx_defconfig create mode 100644 drivers/gpio/octeontx_gpio.c create mode 100644 drivers/i2c/octeontx_i2c.c create mode 100644 drivers/mmc/octeontx_hsmmc.c create mode 100644 drivers/mmc/octeontx_hsmmc.h create mode 100644 drivers/mtd/nand/raw/octeontx_bch.c create mode 100644 drivers/mtd/nand/raw/octeontx_bch.h create mode 100644 drivers/mtd/nand/raw/octeontx_bch_regs.h create mode 100644 drivers/mtd/nand/raw/octeontx_nand.c create mode 100644 drivers/net/octeontx/Makefile create mode 100644 drivers/net/octeontx/bgx.c create mode 100644 drivers/net/octeontx/bgx.h create mode 100644 drivers/net/octeontx/nic.h create mode 100644 drivers/net/octeontx/nic_main.c create mode 100644 drivers/net/octeontx/nic_reg.h create mode 100644 drivers/net/octeontx/nicvf_main.c create mode 100644 drivers/net/octeontx/nicvf_queues.c create mode 100644 drivers/net/octeontx/nicvf_queues.h create mode 100644 drivers/net/octeontx/q_struct.h create mode 100644 drivers/net/octeontx/smi.c create mode 100644 drivers/net/octeontx/xcv.c create mode 100644 drivers/net/octeontx2/Makefile create mode 100644 drivers/net/octeontx2/cgx.c create mode 100644 drivers/net/octeontx2/cgx.h create mode 100644 drivers/net/octeontx2/cgx_intf.c create mode 100644 drivers/net/octeontx2/cgx_intf.h create mode 100644 drivers/net/octeontx2/lmt.h create mode 100644 drivers/net/octeontx2/nix.c create mode 100644 drivers/net/octeontx2/nix.h create mode 100644 drivers/net/octeontx2/nix_af.c create mode 100644 drivers/net/octeontx2/npc.h create mode 100644 drivers/net/octeontx2/rvu.h create mode 100644 drivers/net/octeontx2/rvu_af.c create mode 100644 drivers/net/octeontx2/rvu_common.c create mode 100644 drivers/net/octeontx2/rvu_pf.c create mode 100644 drivers/pci/pci_octeontx.c create mode 100644 drivers/spi/octeontx_spi.c create mode 100644 drivers/watchdog/octeontx_wdt.c create mode 100644 include/configs/octeontx2_95xx.h create mode 100644 include/configs/octeontx2_96xx.h create mode 100644 include/configs/octeontx_common.h