From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH v12 0/6] ARM: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs Date: Sun, 11 May 2014 09:46:51 +0200 Message-ID: <1399794417-9291-1-git-send-email-hdegoede@redhat.com> Reply-To: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: List-Post: , List-Help: , List-Archive: Sender: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org List-Subscribe: , List-Unsubscribe: , To: Chris Ball , Ulf Hansson , Maxime Ripard Cc: =?UTF-8?q?David=20Lanzend=C3=B6rfer?= , linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree , linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org List-Id: devicetree@vger.kernel.org Hi All, Here is v12 of the sunxi-mmc patch-set David Lanzend=C3=B6rfer and I have b= een working on, the mmc driver itself is unchanged from v11. New this version a= re some dts patch changes, see below. The first patch in this series is the patch adding the actual mmc driver an= d should go in through the mmc tree. All the other patches are devicetree patches adding / using the new fixed reg_vcc3v3 supply to all sunxi board files, and should go upstream through Maxime's sunxi-dts tree. Changes since v1: -Using mmc_of_parse instead of diy dt parsing -Adding nodes for all mmc controller to the dtsi files, including sofar unused controllers -Using generic GPIO slot library for WP/CD -Adding additional MMC device nodes into DTSI files Changes since v2: -Add missing Signed-off-by tags -Stop using __raw_readl / __raw_writel so that barriers are properly used -Adding missing new lines -Adding missing patch for automatic reparenting of clocks Changes since v3: -Move clk_enable / disable into host_init / exit (Hans) -Fix hang on boot caused by irq storm (Hans) Changes since v4: -moving sunxi-mci.{c/h} to sunxi-mmc.{c/h} -removing camel cases from the defines in sunxi-mmc.h -moving defines out of the struct definition since this is bad coding style -adding documentation for the device tree binding Changes since v5: -adding host initialization for when the sdio irq is enabled (just to make sure having a defined state at all time) -add mmc support fixup: set pullup on cd pins -fixup: Don't set MMC_CAP_NEEDS_POLL / MMC_CAP_4_BIT_DATA Changes since v6: -fixing copyright info in sunxi-mmc.* -s/__SUNXI_MCI_H__/__SUNXI_MMC_H__/g -s/SDXC_RESPONSE_/SDXC_RESP_/g -s/define/definitions <- Comment from Priit Laes Changes since v7: -Merge sunxi-mmc.h into sunxi-mmc.c -Various style fixes / cleanups based on Maxime's review -sun6i support -Fix a race condition in interrupt / tasklet interaction -Split the dts patches into 3 per platform: 1) Add mmc nodes to the dtsi 2) Add mmc pinmux to the dtsi 3) Add mmc nodes to the various board files -Moved setting of bus-width and cd gpio polarity from .dtsi to the board-fi= les -Added sun6i dts patches Changes since v8: -Don't claim MMC_CAP_SDIO_IRQ by default, sdio-irq support appears to not always be reliable. Can be re-added to the caps on a per board basis through dts -Added EXPORT_SYMBOL(clk_sunxi_mmc_phase_control) -Moved bus-width and cd-inverted dts attributes for sun6i from dtsi to dts -Squashed patches adding sun6i-a31-m9.dts and mmc support for m9 together -Added a patch enabling the sdio wifi on the cubietruck in dts Changes since v9: -Drop the sun5i and sun6i dts pinmux patches as those have already been accepted -Rename the mmc clock for the controller from "mod" to "mmc" so as to not confuse it with a regular mod0 clock -Rename pinmux for the reference design card-detect pin from cd_pin_a to cd_pin_reference_design Changes since v10: -Dropped all dts and clk patches, as they are all accepted now -Cleanup some somewhat weird names (leftovers from the android code): s/mci_readl/mmc_readl/ s/mci_writel/mmc_write/ s/smc_host/host/ -Switched to mmc_regulator_get_supply API and added fixed regulator nodes t= o all board files (introducing new dts patches) -Got rid of duplicate ios info -Stop checking card-detect before each request -Drop usleep after changing the clock rate -Drop incomplete / wrong voltage switching support -Drop the large comment with values copy/pasted from the spec -Move enable/disable clk + reset + irq calls from power up / down to probe / remove -Make sunxi_mmc_clk_set_rate / sunxi_mmc_oclk_onoff return an error -Use a threaded interrupt handler for sending an explicit stop on data erro= rs -Fix sunxi_mmc_send_manual_stop to properly stop ongoing SD_IO_RW_EXTENDED = cmds Changes since v11: -Instead of adding a reg_vmmc0 regulator add a fixed reg_vcc3v3 regulator, = as we may need it in other places too -Also add a vmmc-supply entry to thr non mmc0 nodes on the 2 boards which h= ave multiple sdcard slots. Regards, Hans --=20 You received this message because you are subscribed to the Google Groups "= linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout.