From patchwork Wed Jan 17 23:33:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 124906 Delivered-To: patch@linaro.org Received: by 10.46.62.1 with SMTP id l1csp229582lja; Wed, 17 Jan 2018 15:33:25 -0800 (PST) X-Google-Smtp-Source: ACJfBotarjdFYPZ9oaeH/tV1FKhcMOnV/uayDKOBNcKjm6t7+3Mh4Ix7jKDpfJSq4xRJFzIy3uAJ X-Received: by 10.80.214.215 with SMTP id l23mr5217201edj.44.1516232005832; Wed, 17 Jan 2018 15:33:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516232005; cv=none; d=google.com; s=arc-20160816; b=iZK/jlVlDBuHq8JtUb3DREnYD8ZivqOpeMs/menUBWZ6AlCbcVBxTCj4cn07dQV62V cA3Ds/VDHmlJf7JqWhr6F36mJ3X3RtR3AxnSdo36kb7gPLfWV5A3R4SKwD1oJ+D3yBYh wgG2oK8FVMtCcc8XwKBVFABCo2VT6vi2ql9wHY5FvQGrPA1iKV+IGazl4Xbt3txrjvpz OaL/N5Nc17306JZUfgYEBEERj4MNwZnqE2YiKTGesxPB2HYR7n2Ekf5M8zjZyOGTJJuo 90m/LsvPLebmqqhvogx5BmJtWx2mB72nTUjkObLTZI3hHCjTEGNiVIm9hMPI4gP0tQVn r70g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from :arc-authentication-results; bh=Hp0HFqR6EjyIsQOI9YP0qrJXmAkkGidWRbq6W0HlBqw=; b=EYS4h3DHHSQwyn6wwF+I4/boUdHKU7/bvOBhgu6MleyOT4ewgjmzrJ7FsCbSEKI937 BxW2udJ9Tl03Uexc6WJv60AcgqCAD1ewDl2Ro3CRmP6WgFSV8+rKBlTM+Ec8VaVGWIYI cJeU0nq+lIn0vruiOyHtecbT0bmIL1JjH+THTR7GUehvQyeNAPjOBfIQ92/4TrMgvnQF t6E4+8PoECE4JtxMhm+VLsYA7XIntVqtTVXDUNsdg5X/LW6qoeGAi/NH3EdeWZ4r0zMB lSC+ukYT5gY4uD6M5oVi04NOIyzNH/1Ap035UrA2oT3vQmEyI8sLGfeIdISYFpOAmY/8 oTRw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de Return-Path: Received: from lists.denx.de (dione.denx.de. [81.169.180.215]) by mx.google.com with ESMTP id y33si293941edy.458.2018.01.17.15.33.25; Wed, 17 Jan 2018 15:33:25 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) client-ip=81.169.180.215; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by lists.denx.de (Postfix, from userid 105) id 1BE66C21E45; Wed, 17 Jan 2018 23:33:23 +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=none 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 2F1C8C21C51; Wed, 17 Jan 2018 23:33:21 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B4E8FC21C51; Wed, 17 Jan 2018 23:33:19 +0000 (UTC) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by lists.denx.de (Postfix) with ESMTPS id 60FBDC21C93 for ; Wed, 17 Jan 2018 23:33:19 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id B4C52AFFD; Wed, 17 Jan 2018 23:33:18 +0000 (UTC) From: Alexander Graf To: u-boot@lists.denx.de Date: Thu, 18 Jan 2018 00:33:15 +0100 Message-Id: <20180117233317.37302-1-agraf@suse.de> X-Mailer: git-send-email 2.12.3 Subject: [U-Boot] [PATCH v2 0/2] Rpi: Add support for second sd host controller 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" The Raspberry Pi (bcm283x SoC) family contains 2 IP blocks to drive SD peripherals: A pretty standard SDHCI one called iProc and a home grown one called "sdhost". When driving U-Boot by the same device tree that we use for Linux, we end up in situations where only the "sdhost" device is available for use. In those situations, current U-Boot can simply not drive the SD card, because the device tree disables the SDHCI device. This patch set also adds a full pinctrl driver for pinmuxing the SD devices properly to their respective pins. This is necessary because the RPi firmware doesn't mux the SD pins according to the device tree but instead expects the payload (usually Linux, U-Boot for us) to do that. With this patch set, I can successfully use U-Boot on a RPi3 Compute Module with CONFIG_OF_BOARD=y and a device tree generated by the RPi firmware (plus a few overlays in config.txt for vc4, serial, etc). v1 -> v2: - Introduce real pinctrl driver - Checkpatch fixes - Remove hand written pinctrl support Alexander Graf (2): bcm283x: Add pinctrl driver mmc: Add bcm2835 sdhost controller MAINTAINERS | 2 + arch/arm/mach-bcm283x/include/mach/gpio.h | 2 - board/raspberrypi/rpi/rpi.c | 5 +- configs/rpi_0_w_defconfig | 4 + configs/rpi_2_defconfig | 4 + configs/rpi_3_32b_defconfig | 4 + configs/rpi_3_defconfig | 4 + configs/rpi_defconfig | 4 + drivers/gpio/bcm2835_gpio.c | 29 +- drivers/mmc/Kconfig | 14 + drivers/mmc/Makefile | 1 + drivers/mmc/bcm2835_sdhost.c | 994 +++++++++++++++++++++++++++++ drivers/pinctrl/Kconfig | 1 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/broadcom/Kconfig | 7 + drivers/pinctrl/broadcom/Makefile | 7 + drivers/pinctrl/broadcom/pinctrl-bcm283x.c | 150 +++++ 17 files changed, 1210 insertions(+), 23 deletions(-) create mode 100644 drivers/mmc/bcm2835_sdhost.c create mode 100644 drivers/pinctrl/broadcom/Kconfig create mode 100644 drivers/pinctrl/broadcom/Makefile create mode 100644 drivers/pinctrl/broadcom/pinctrl-bcm283x.c