From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752302AbcHLJTp (ORCPT ); Fri, 12 Aug 2016 05:19:45 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:35724 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751230AbcHLJTn (ORCPT ); Fri, 12 Aug 2016 05:19:43 -0400 X-AuditID: cbfee68d-f79286d000007a9a-4d-57ad94acc484 Subject: Re: [PATCH v5 0/2] mmc: dw_mmc: host controller reset support To: Guodong Xu , heiko@sntech.de, shawn.lin@rock-chips.com, robh+dt@kernel.org, mark.rutland@arm.com, ulf.hansson@linaro.org References: <1470991886-22412-1-git-send-email-guodong.xu@linaro.org> Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mmc@vger.kernel.org From: Jaehoon Chung Message-id: <724bc267-1f6b-0211-4645-10cc49eedd48@samsung.com> Date: Fri, 12 Aug 2016 18:19:39 +0900 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-version: 1.0 In-reply-to: <1470991886-22412-1-git-send-email-guodong.xu@linaro.org> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrGIsWRmVeSWpSXmKPExsWyRsSkQHfNlLXhBv+vMlvMP3KO1eL/nR4g 8eg1q8Wmx9dYLS7vmsNmceR/P6PF0usXmSxa9x5ht7jzZD2rxfG14Q5cHmvmrWH02LSqk83j zrU9bB6bl9R7/J21n8Vj+7V5zB6fN8kFsEdx2aSk5mSWpRbp2yVwZfx62cxacI6rYt6X20wN jFM4uhg5OSQETCQ+b1/JAmGLSVy4t54NxBYSWMEo8eJNGEzN4dcXmboYuYDisxglGj+/Y4Nw HjBKbDz2lhGkSljATaLtThMriC0iMJ1RomVPLETRbEaJi5cnAhVxcDAL1Es8+sgDUsMmoCOx /dtxJhCbV8BOomP6ZbBeFgFVia1vHrKD2KICYRInz51jh6gRlPgx+R7QpewcnEC7lnFDDNST uH9RC6SAWUBeYvOat8wgSyUEvrJL3HjwiA1iooDEt8mHWEDqJQRkJTYdYIZ4S1Li4IobLBMY xWYhmT8LYeosJFMXMDKvYhRNLUguKE5KLzLUK07MLS7NS9dLzs/dxAiMztP/nvXuYLx9wPoQ owAHoxIPr8eDNeFCrIllxZW5hxhNgY6YyCwlmpwPTAF5JfGGxmZGFqYmpsZG5pZmSuK8ilI/ g4UE0hNLUrNTUwtSi+KLSnNSiw8xMnFwSjUwcrlODGTp4F7Xf9h9z+dp63mda07LBlv0eXzv nruq03nDolkpv5Xvn77+LWfbNHa9CsYjTa2X3sZdFHh+K+XLaVb/HlWBR77WvvGfpHbevhOt PJ+9XvL2+f6Ud9H891Nmp1nz2E7jrxeWbLE2lLxhciPe1Xi6FHfNzcpTFqo5Ew4eMOWYf/qH EktxRqKhFnNRcSIAv4upaMkCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphleLIzCtJLcpLzFFi42I5/e+xoO7qKWvDDd78srKYf+Qcq8X/Oz1A 4tFrVotNj6+xWlzeNYfN4sj/fkaLpdcvMlm07j3CbnHnyXpWi+Nrwx24PNbMW8PosWlVJ5vH nWt72Dw2L6n3+DtrP4vH9mvzmD0+b5ILYI9qYLTJSE1MSS1SSM1Lzk/JzEu3VfIOjneONzUz MNQ1tLQwV1LIS8xNtVVy8QnQdcvMATpPSaEsMacUKBSQWFyspG+HaUJoiJuuBUxjhK5vSBBc j5EBGkhYw5jx62Uza8E5rop5X24zNTBO4ehi5OSQEDCROPz6IhOELSZx4d56ti5GLg4hgVmM Eo2f30E5DxglNh57ywhSJSzgJtF2p4kVxBYRmM4o0bInFqJoNqPExcsTgYo4OJgF6iUefeQB qWET0JHY/u042AZeATuJjumXwXpZBFQltr55yA5iiwqESZw8d44dokZQ4sfkeyxdjOwcnEC7 lnFDDNSTuH9RC6SAWUBeYvOat8wTGIFuRKifhVA1C0nVAkbmVYwSqQXJBcVJ6blGeanlesWJ ucWleel6yfm5mxjBKeCZ9A7Gw7vcDzEKcDAq8fDucFobLsSaWFZcmXuIUYKDWUmE9+ZEoBBv SmJlVWpRfnxRaU5q8SFGU6AnJjJLiSbnA9NTXkm8obGJmZGlkbmhhZGxuZI47+P/68KEBNIT S1KzU1MLUotg+pg4OKUaGBmlpf1z99tdfOIldfjdjLVf254/eXBgXY6v1KyX4Vcfnz2jcVfl gpqoYTaXlljOus9T+CfFKft+fv/e7CvrkttyJevn+4Xnez73d5B0bP/75s3MIk4fP/sl09ed btnLsmmhp4pm9bzu1BPPGX2rn9rf2dZyo+TIPCGtlIdT2VcbfvQ4OOEA000lluKMREMt5qLi RADxjpXWFwMAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Guodong, On 08/12/2016 05:51 PM, Guodong Xu wrote: > mmc host controller registers may in abnormal state if mmc is used in > bootloader, eg. to load kernel from eMMC. Some controllers cann't > clear their registers when clk is set. They use dedicated reset > logics to do this. > > In this patch, a 'resets' property is added into dw_mmc dts > node. When driver does parse_dt and probe, it calls reset API to > triiger 'reset' of dwmmc host controller. When probe error or > remove, it calls reset API to assert it. > > Chip vendor's actual reset logics is implemented in reset driver, not > in dw_mmc code. > > Please also refer to Documentation/devicetree/bindings/reset/reset.txt > > Changelog: > v5: > * rebase onto https://github.com/jh80chung/dw-mmc > v4: > * add reset_control_assert() and usleep() before calling _deassert(). > > Guodong Xu (2): > Documentation: synopsys-dw-mshc: add binding for resets > mmc: dw_mmc: add reset support to dwmmc host controller Applied on my dw-mmc tree. Thanks! Best Regards, Jaehoon Chung > > .../devicetree/bindings/mmc/synopsys-dw-mshc.txt | 4 ++++ > drivers/mmc/host/dw_mmc.c | 23 +++++++++++++++++++++- > include/linux/mmc/dw_mmc.h | 2 ++ > 3 files changed, 28 insertions(+), 1 deletion(-) > From mboxrd@z Thu Jan 1 00:00:00 1970 From: jh80.chung@samsung.com (Jaehoon Chung) Date: Fri, 12 Aug 2016 18:19:39 +0900 Subject: [PATCH v5 0/2] mmc: dw_mmc: host controller reset support In-Reply-To: <1470991886-22412-1-git-send-email-guodong.xu@linaro.org> References: <1470991886-22412-1-git-send-email-guodong.xu@linaro.org> Message-ID: <724bc267-1f6b-0211-4645-10cc49eedd48@samsung.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Guodong, On 08/12/2016 05:51 PM, Guodong Xu wrote: > mmc host controller registers may in abnormal state if mmc is used in > bootloader, eg. to load kernel from eMMC. Some controllers cann't > clear their registers when clk is set. They use dedicated reset > logics to do this. > > In this patch, a 'resets' property is added into dw_mmc dts > node. When driver does parse_dt and probe, it calls reset API to > triiger 'reset' of dwmmc host controller. When probe error or > remove, it calls reset API to assert it. > > Chip vendor's actual reset logics is implemented in reset driver, not > in dw_mmc code. > > Please also refer to Documentation/devicetree/bindings/reset/reset.txt > > Changelog: > v5: > * rebase onto https://github.com/jh80chung/dw-mmc > v4: > * add reset_control_assert() and usleep() before calling _deassert(). > > Guodong Xu (2): > Documentation: synopsys-dw-mshc: add binding for resets > mmc: dw_mmc: add reset support to dwmmc host controller Applied on my dw-mmc tree. Thanks! Best Regards, Jaehoon Chung > > .../devicetree/bindings/mmc/synopsys-dw-mshc.txt | 4 ++++ > drivers/mmc/host/dw_mmc.c | 23 +++++++++++++++++++++- > include/linux/mmc/dw_mmc.h | 2 ++ > 3 files changed, 28 insertions(+), 1 deletion(-) >