From patchwork Thu Feb 21 21:43:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Goldschmidt X-Patchwork-Id: 1046462 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) 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="lRlFDyqa"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 4457Jm6k1Rz9s71 for ; Fri, 22 Feb 2019 08:43:49 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 0A32BC21F5B; Thu, 21 Feb 2019 21:43:44 +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_H2, 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 E1ECEC21DFF; Thu, 21 Feb 2019 21:43:41 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id EEBA0C21DA6; Thu, 21 Feb 2019 21:43:40 +0000 (UTC) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by lists.denx.de (Postfix) with ESMTPS id E4631C21C6A for ; Thu, 21 Feb 2019 21:43:39 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id l5so121808wrw.6 for ; Thu, 21 Feb 2019 13:43:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=+3G6hblYjzmnCm9f94QLgIxvuIe2gAxTkKijBJgnkrI=; b=lRlFDyqaqGhwYX10WN3FI0idLAsZ+DVenDyI8HbpfcVDWhgDV5m6Fp0glNf3NQEPTV 9Qyk8MZCJZjKxy0/g9BAkFw79ceV+UGLqImAy7QNRDYd2NKMkBFRcosVUSHMNXm1aN4p fE9s8ICkaOXIKng2Dt2jqex0hN0zcTrWZqKa6VYYUMbxs3su8bu84bRXnWrnBAStkDvD K8EysJ+ZZZvHKVH4oNILCJYQRVF9yO62wrvP0U9v4LaKiUrL0V4qaNxBJexrJst11E/v MIgwBNc51+pxp+sB2WAT6AWYtC+OXrn/JRt/pGBM7vKC0SZCA1+jzcH4OjQ6ZaqEYrBn o+jw== 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; bh=+3G6hblYjzmnCm9f94QLgIxvuIe2gAxTkKijBJgnkrI=; b=RxiQdmUNKkifakmIhtNNlPgOVNfYU2zvK0V6b5uK6bN7R7jv78xIodzaV1e7sEgQcA pcqL9vHPiI7CAY04HOD6UKD8Xr4qeQypZfz0FHEtRKjqkWWo/sfLblgulX4CwsV+0rPt ZHQl8qcm81oWi+MjLDkzNhLf6YsY1IHvbuxuUNbrcQhVdEL+FCZ78rac66VdD7WZNBV9 /lI7Xop54gL6onw40b/u20DchUPeem1R6p3tC1Mvxlum9uDKNDa9LylrRbZibUooldAM 5zswUh8z8Z076X0qv1N9tSmzSsfjQJNYYOkuH9D50Z9/9pVKdAFL0dyIODvGH3SMU7y4 w/nQ== X-Gm-Message-State: AHQUAub3JBS6geDqo1VrGp3kFVnm+0E3iKwaoSP1zDmBBH39amvBCMbD 5Uyo7nQxy9Hx8ziKg2l3vKo= X-Google-Smtp-Source: AHgI3IbbY7ZhaxRHtoJOoRiiLsjtqOVGbeNepGlkvUWldIL4/TpATsO+CF4jo3Q0DWL1RVn7EPWTfg== X-Received: by 2002:adf:e5cc:: with SMTP id a12mr471929wrn.130.1550785419458; Thu, 21 Feb 2019 13:43:39 -0800 (PST) Received: from ubuntu.home ([2a02:8071:6a3:700:9065:254c:ff38:3288]) by smtp.gmail.com with ESMTPSA id m26sm4308wmg.13.2019.02.21.13.43.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Feb 2019 13:43:38 -0800 (PST) From: Simon Goldschmidt To: Marek Vasut , u-boot@lists.denx.de Date: Thu, 21 Feb 2019 22:43:24 +0100 Message-Id: <20190221214332.4246-1-simon.k.r.goldschmidt@gmail.com> X-Mailer: git-send-email 2.17.1 Cc: Tom Rini , Tien Fong Chee , Joe Hershberger , Miquel Raynal , Stefan Roese , Jagan Teki Subject: [U-Boot] [PATCH v2 0/8] arm: socfpga: implement proper peripheral reset handling 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: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" This series implements peripheral reset handling for socfpga gen5. It moves from enabling all peripherals during SPL startup to using the socfpga reset driver from all peripherals and enabling peripherals when they are used. As Linux cannot even handle this in 4.20, the reset driver implements a compatibility mode where it takes all peripherals out of reset before jumpint to the OS if an environment variable "socfpga_permodrst_ungate=1" is found. This is enabled by default for socfpga gen5 boards, but should be moved to default off in the near future once a Linux kernel supports reset handling for all drivers. Changes in v2: - cleanly merged Linux dts (moved change of SDR controller base address to a separate patch) - port DDR driver to DM UCLASS_RAM - don't change DDR calibration training driver (code got too big) - use reset.h code instead of socfpga_per_reset() - fix copy/paste issues - add .remove callback to release the resets - add .remove callback to release the resets - moved from Kernel option "OLD_SOCFPGA_KERNEL_COMPAT" to environment variable "socfpga_permodrst_ungate" - this patch is new in v2 - removed Kconfig option OLD_SOCFPGA_KERNEL_COMPAT since compatibility now uses an environment variable Simon Goldschmidt (8): arm: socfpga: gen5: sync devicetrees to Linux arm: socfpga: gen5: add reset & sdr node to SPL devicetrees arm: socfpga: move gen5 SDR driver to DM mtd: rawnand: denali: add reset handling spi: cadence_qspi: add reset handling reset: socfpga: add reset handling for old kernels arm: socfpga: gen5: deassert peripheral reset by default arm: socfpga: implement proper peripheral reset arch/arm/Kconfig | 2 + arch/arm/dts/socfpga.dtsi | 23 ++- arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi | 8 + arch/arm/dts/socfpga_cyclone5_dbm_soc1.dts | 8 + .../socfpga_cyclone5_de0_nano_soc-u-boot.dtsi | 8 + arch/arm/dts/socfpga_cyclone5_de10_nano.dts | 8 + arch/arm/dts/socfpga_cyclone5_de1_soc.dts | 8 + arch/arm/dts/socfpga_cyclone5_is1.dts | 8 + .../dts/socfpga_cyclone5_socdk-u-boot.dtsi | 8 + .../dts/socfpga_cyclone5_sockit-u-boot.dtsi | 8 + .../dts/socfpga_cyclone5_socrates-u-boot.dtsi | 8 + arch/arm/dts/socfpga_cyclone5_socrates.dts | 2 - arch/arm/dts/socfpga_cyclone5_sr1500.dts | 8 + .../socfpga_cyclone5_vining_fpga-u-boot.dtsi | 8 + .../mach-socfpga/include/mach/sdram_gen5.h | 4 - arch/arm/mach-socfpga/misc_gen5.c | 10 -- arch/arm/mach-socfpga/spl_gen5.c | 39 ++--- drivers/ddr/altera/Kconfig | 1 + drivers/ddr/altera/sdram_gen5.c | 143 ++++++++++++++++-- drivers/ddr/altera/sequencer.c | 9 +- drivers/ddr/altera/sequencer.h | 35 +++++ drivers/mtd/nand/raw/denali.h | 2 + drivers/mtd/nand/raw/denali_dt.c | 14 ++ drivers/reset/reset-socfpga.c | 34 +++++ drivers/spi/cadence_qspi.c | 16 ++ drivers/spi/cadence_qspi.h | 4 + include/configs/socfpga_common.h | 14 ++ 27 files changed, 374 insertions(+), 66 deletions(-)