linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v6 0/7] Add Mediatek MMC driver
       [not found] <1434367253-26577-1-git-send-email-chaotian.jing@mediatek.com>
@ 2015-06-16  8:03 ` Ulf Hansson
  2015-06-17 21:01   ` Paul Gortmaker
       [not found] ` <1434367253-26577-5-git-send-email-chaotian.jing@mediatek.com>
  1 sibling, 1 reply; 6+ messages in thread
From: Ulf Hansson @ 2015-06-16  8:03 UTC (permalink / raw)
  To: Chaotian Jing
  Cc: Rob Herring, Matthias Brugger, Chris Ball, Mark Rutland,
	James Liao, srv_heupstream, Arnd Bergmann, devicetree,
	Hongzhou Yang, Catalin Marinas, linux-mmc, Will Deacon,
	linux-kernel, linux-gpio, Sascha Hauer, Joe.C, Eddie Huang,
	Bin Zhang (章斌),
	linux-arm-kernel, linux-mediatek, Russell King - ARM Linux

On 15 June 2015 at 13:20, Chaotian Jing <chaotian.jing@mediatek.com> wrote:
> This series enables MMC support on the MT8135/MT8173 platform.
> MT8135 has 5 MMC controllers and MT8173 has 4 MMC controllers.
>
> Changes base on Ulf's comments
> Make hclk mandatory in the driver code
> Change host->hclk to host->src_clk_freq
> Add linux/pm.h
>
> Chaotian Jing (3):
>   mmc: dt-bindings: add Mediatek MMC bindings
>   mmc: mediatek: Add Mediatek MMC driver
>   mmc: mediatek: Add PM support for MMC driver
>
> Eddie Huang (2):
>   arm64: dts: mediatek: Add MT8173 MMC dts
>   arm64: mediatek: Add Mediatek MMC support in defconfig
>
> Yingjoe Chen (2):
>   ARM: mediatek: dts: Add emmc support to mt8135
>   ARM: multi_v7_defconfig: Enable Mediatek MMC support multi-v7
>
>  Documentation/devicetree/bindings/mmc/mtk-sd.txt |   32 +
>  arch/arm/boot/dts/mt8135-evbp1.dts               |  158 +++
>  arch/arm/boot/dts/mt8135.dtsi                    |   55 +
>  arch/arm/configs/multi_v7_defconfig              |    1 +
>  arch/arm64/boot/dts/mediatek/mt8173-evb.dts      |  126 ++
>  arch/arm64/boot/dts/mediatek/mt8173.dtsi         |   45 +-
>  arch/arm64/configs/defconfig                     |    1 +
>  drivers/mmc/host/Kconfig                         |    8 +
>  drivers/mmc/host/Makefile                        |    1 +
>  drivers/mmc/host/mtk-sd.c                        | 1461 ++++++++++++++++++++++
>  include/linux/mmc/core.h                         |    1 +
>  11 files changed, 1888 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/devicetree/bindings/mmc/mtk-sd.txt
>  create mode 100644 drivers/mmc/host/mtk-sd.c
>
> --
> 1.8.1.1.dirty
>

Hi Chaotian,

I have applied patch 1->3 for my next branch, which thus includes the
mmc driver parts. I could potentially also pick the ARM patches, but
then those needs to be acked from the ARM SoC folks.

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6 4/7] arm64: dts: mediatek: Add MT8173 MMC dts
       [not found] ` <1434367253-26577-5-git-send-email-chaotian.jing@mediatek.com>
@ 2015-06-16 11:39   ` Daniel Kurtz
  2015-06-16 12:20     ` Daniel Kurtz
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel Kurtz @ 2015-06-16 11:39 UTC (permalink / raw)
  To: Chaotian Jing
  Cc: Rob Herring, Matthias Brugger, Chris Ball, Ulf Hansson,
	Mark Rutland, James Liao, Russell King - ARM Linux,
	srv_heupstream, Arnd Bergmann, open list:OPEN FIRMWARE AND...,
	Hongzhou Yang, Catalin Marinas, bin.zhang, linux-mmc,
	linux-kernel, Will Deacon, linux-gpio, linux-mediatek,
	Sascha Hauer, Joe.C, Eddie Huang, linux-arm-kernel, Henry Chen

Hi Chaotian,

On Mon, Jun 15, 2015 at 7:20 PM, Chaotian Jing
<chaotian.jing@mediatek.com> wrote:
> From: Eddie Huang <eddie.huang@mediatek.com>
>
> Add node mmc0 ~ mmc3 for mt8173.dtsi
> Add node mmc0, mmc1 for mt8173-evb.dts
>
> Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>
> ---
>  arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 126 ++++++++++++++++++++++++++++
>  arch/arm64/boot/dts/mediatek/mt8173.dtsi    |  45 +++++++++-
>  2 files changed, 170 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> index b1560c9..762ec61 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> @@ -33,6 +33,132 @@
>         chosen { };
>  };
>
> +&mmc0 {
> +       pinctrl-names = "default", "state_uhs";
> +       pinctrl-0 = <&mmc0_pins_default>;
> +       pinctrl-1 = <&mmc0_pins_uhs>;
> +       status = "okay";
> +       bus-width = <8>;
> +       max-frequency = <50000000>;
> +       cap-mmc-highspeed;
> +       vmmc-supply = <&mt6397_vemc_3v3_reg>;
> +       vqmmc-supply = <&mt6397_vio18_reg>;
> +       non-removable;
> +};
> +
> +&mmc1 {
> +       pinctrl-names = "default", "state_uhs";
> +       pinctrl-0 = <&mmc1_pins_default>;
> +       pinctrl-1 = <&mmc1_pins_uhs>;
> +       status = "okay";
> +       bus-width = <4>;
> +       max-frequency = <50000000>;
> +       cap-sd-highspeed;
> +       sd-uhs-sdr25;
> +       cd-gpios = <&pio 132 0>;
> +       vmmc-supply = <&mt6397_vmch_reg>;
> +       vqmmc-supply = <&mt6397_vmc_reg>;
> +};
> +
> +&pio {
> +       mmc0_pins_default: mmc0default {
> +               pins_cmd_dat {
> +                       pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
> +                               <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
> +                               <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
> +                               <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
> +                               <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
> +                               <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
> +                               <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
> +                               <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
> +                               <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
> +                       input-enable;
> +                       bias-pull-up;
> +               };
> +
> +               pins_clk {
> +                       pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
> +                       bias-pull-down;
> +               };
> +
> +               pins_rst {
> +                       pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
> +                       bias-pull-up;
> +               };
> +       };
> +
> +       mmc1_pins_default: mmc1default {
> +               pins_cmd_dat {
> +                       pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
> +                            <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
> +                            <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
> +                            <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
> +                            <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
> +                       input-enable;
> +                       drive-strength = <MTK_DRIVE_4mA>;
> +                       bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
> +               };
> +
> +               pins_clk {
> +                       pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
> +                       bias-pull-down;
> +                       drive-strength = <MTK_DRIVE_4mA>;
> +               };
> +
> +               pins_insert {
> +                       pinmux = <MT8173_PIN_132_I2S0_DATA1__FUNC_GPIO132>;
> +                       bias-pull-up;
> +               };
> +       };
> +
> +       mmc0_pins_uhs: mmc0@0{
> +               pins_cmd_dat {
> +                       pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
> +                               <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
> +                               <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
> +                               <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
> +                               <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
> +                               <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
> +                               <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
> +                               <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
> +                               <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
> +                       input-enable;
> +                       drive-strength = <MTK_DRIVE_2mA>;
> +                       bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
> +               };
> +
> +               pins_clk {
> +                       pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
> +                       drive-strength = <MTK_DRIVE_2mA>;
> +                       bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
> +               };
> +
> +               pins_rst {
> +                       pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
> +                       bias-pull-up;
> +               };
> +       };
> +
> +       mmc1_pins_uhs: mmc1@0 {
> +               pins_cmd_dat {
> +                       pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
> +                            <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
> +                            <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
> +                            <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
> +                            <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
> +                       input-enable;
> +                       drive-strength = <MTK_DRIVE_4mA>;
> +                       bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
> +               };
> +
> +               pins_clk {
> +                       pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
> +                       drive-strength = <MTK_DRIVE_4mA>;
> +                       bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
> +               };
> +       };
> +};
> +
>  &pwrap {
>         pmic: mt6397 {
>                 compatible = "mediatek,mt6397";
> diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> index 512e4eb..56ea429 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> @@ -288,7 +288,50 @@
>                         reg = <0 0x19000000 0 0x1000>;
>                         #clock-cells = <1>;
>                 };
> -       };
>
> +               mmc0: mmc@11230000 {
> +                       compatible = "mediatek,mt8173-mmc",
> +                                    "mediatek,mt8135-mmc";
> +                       reg = <0 0x11230000 0 0x1000>;
> +                       interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_LOW>;
> +                       clocks = <&pericfg CLK_PERI_MSDC30_0>,
> +                                <&topckgen CLK_TOP_MSDC50_0_H_SEL>;
> +                       clock-names = "source", "hclk";
> +                       status = "disabled";
> +               };
> +
> +               mmc1: mmc@11240000 {
> +                       compatible = "mediatek,mt8173-mmc",
> +                                    "mediatek,mt8135-mmc";
> +                       reg = <0 0x11240000 0 0x1000>;
> +                       interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>;
> +                       clocks = <&pericfg CLK_PERI_MSDC30_1>,
> +                                <&clk_null>;

This requires a "clk_null" phandle, but I have not seen a patch adding
that on the public list.
Did I miss a patch?

-Dan

> +                       clock-names = "source", "hclk";
> +                       status = "disabled";
> +               };
> +
> +               mmc2: mmc@11250000 {
> +                       compatible = "mediatek,mt8173-mmc",
> +                                    "mediatek,mt8135-mmc";
> +                       reg = <0 0x11250000 0 0x1000>;
> +                       interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_LOW>;
> +                       clocks = <&pericfg CLK_PERI_MSDC30_2>,
> +                                <&clk_null>;
> +                       clock-names = "source", "hclk";
> +                       status = "disabled";
> +               };
> +
> +               mmc3: mmc@11260000 {
> +                       compatible = "mediatek,mt8173-mmc",
> +                                    "mediatek,mt8135-mmc";
> +                       reg = <0 0x11260000 0 0x1000>;
> +                       interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_LOW>;
> +                       clocks = <&pericfg CLK_PERI_MSDC30_3>,
> +                                <&topckgen CLK_TOP_MSDC50_2_H_SEL>;
> +                       clock-names = "source", "hclk";
> +                       status = "disabled";
> +               };
> +       };
>  };
>
> --
> 1.8.1.1.dirty
>
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6 4/7] arm64: dts: mediatek: Add MT8173 MMC dts
  2015-06-16 11:39   ` [PATCH v6 4/7] arm64: dts: mediatek: Add MT8173 MMC dts Daniel Kurtz
@ 2015-06-16 12:20     ` Daniel Kurtz
       [not found]       ` <1434593063.23303.3.camel@mtksdaap41>
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel Kurtz @ 2015-06-16 12:20 UTC (permalink / raw)
  To: Chaotian Jing
  Cc: Rob Herring, Matthias Brugger, Chris Ball, Ulf Hansson,
	Mark Rutland, James Liao, Russell King - ARM Linux,
	srv_heupstream, Arnd Bergmann, open list:OPEN FIRMWARE AND...,
	Hongzhou Yang, Catalin Marinas, bin.zhang, linux-mmc,
	linux-kernel, Will Deacon, linux-gpio, linux-mediatek,
	Sascha Hauer, Joe.C, Eddie Huang, linux-arm-kernel, Henry Chen

On Tue, Jun 16, 2015 at 7:39 PM, Daniel Kurtz <djkurtz@chromium.org> wrote:
> Hi Chaotian,
>
> On Mon, Jun 15, 2015 at 7:20 PM, Chaotian Jing
> <chaotian.jing@mediatek.com> wrote:
>> From: Eddie Huang <eddie.huang@mediatek.com>
>>
>> Add node mmc0 ~ mmc3 for mt8173.dtsi
>> Add node mmc0, mmc1 for mt8173-evb.dts
>>
>> Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
>> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>
>> ---
>>  arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 126 ++++++++++++++++++++++++++++
>>  arch/arm64/boot/dts/mediatek/mt8173.dtsi    |  45 +++++++++-
>>  2 files changed, 170 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
>> index b1560c9..762ec61 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
>> +++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
>> @@ -33,6 +33,132 @@
>>         chosen { };
>>  };
>>
>> +&mmc0 {
>> +       pinctrl-names = "default", "state_uhs";
>> +       pinctrl-0 = <&mmc0_pins_default>;
>> +       pinctrl-1 = <&mmc0_pins_uhs>;
>> +       status = "okay";
>> +       bus-width = <8>;
>> +       max-frequency = <50000000>;
>> +       cap-mmc-highspeed;
>> +       vmmc-supply = <&mt6397_vemc_3v3_reg>;
>> +       vqmmc-supply = <&mt6397_vio18_reg>;

I also can't find phandles for these regulators.

>> +       non-removable;
>> +};
>> +
>> +&mmc1 {
>> +       pinctrl-names = "default", "state_uhs";
>> +       pinctrl-0 = <&mmc1_pins_default>;
>> +       pinctrl-1 = <&mmc1_pins_uhs>;
>> +       status = "okay";
>> +       bus-width = <4>;
>> +       max-frequency = <50000000>;
>> +       cap-sd-highspeed;
>> +       sd-uhs-sdr25;
>> +       cd-gpios = <&pio 132 0>;
>> +       vmmc-supply = <&mt6397_vmch_reg>;
>> +       vqmmc-supply = <&mt6397_vmc_reg>;

nor these regulators.

Which kernel branch are you basing your patch set on?

Thanks,
-Dan


>> +};
>> +
>> +&pio {
>> +       mmc0_pins_default: mmc0default {
>> +               pins_cmd_dat {
>> +                       pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
>> +                               <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
>> +                               <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
>> +                               <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
>> +                               <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
>> +                               <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
>> +                               <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
>> +                               <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
>> +                               <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
>> +                       input-enable;
>> +                       bias-pull-up;
>> +               };
>> +
>> +               pins_clk {
>> +                       pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
>> +                       bias-pull-down;
>> +               };
>> +
>> +               pins_rst {
>> +                       pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
>> +                       bias-pull-up;
>> +               };
>> +       };
>> +
>> +       mmc1_pins_default: mmc1default {
>> +               pins_cmd_dat {
>> +                       pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
>> +                            <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
>> +                            <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
>> +                            <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
>> +                            <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
>> +                       input-enable;
>> +                       drive-strength = <MTK_DRIVE_4mA>;
>> +                       bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
>> +               };
>> +
>> +               pins_clk {
>> +                       pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
>> +                       bias-pull-down;
>> +                       drive-strength = <MTK_DRIVE_4mA>;
>> +               };
>> +
>> +               pins_insert {
>> +                       pinmux = <MT8173_PIN_132_I2S0_DATA1__FUNC_GPIO132>;
>> +                       bias-pull-up;
>> +               };
>> +       };
>> +
>> +       mmc0_pins_uhs: mmc0@0{
>> +               pins_cmd_dat {
>> +                       pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
>> +                               <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
>> +                               <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
>> +                               <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
>> +                               <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
>> +                               <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
>> +                               <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
>> +                               <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
>> +                               <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
>> +                       input-enable;
>> +                       drive-strength = <MTK_DRIVE_2mA>;
>> +                       bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
>> +               };
>> +
>> +               pins_clk {
>> +                       pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
>> +                       drive-strength = <MTK_DRIVE_2mA>;
>> +                       bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
>> +               };
>> +
>> +               pins_rst {
>> +                       pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
>> +                       bias-pull-up;
>> +               };
>> +       };
>> +
>> +       mmc1_pins_uhs: mmc1@0 {
>> +               pins_cmd_dat {
>> +                       pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
>> +                            <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
>> +                            <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
>> +                            <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
>> +                            <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
>> +                       input-enable;
>> +                       drive-strength = <MTK_DRIVE_4mA>;
>> +                       bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
>> +               };
>> +
>> +               pins_clk {
>> +                       pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
>> +                       drive-strength = <MTK_DRIVE_4mA>;
>> +                       bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
>> +               };
>> +       };
>> +};
>> +
>>  &pwrap {
>>         pmic: mt6397 {
>>                 compatible = "mediatek,mt6397";
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
>> index 512e4eb..56ea429 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
>> @@ -288,7 +288,50 @@
>>                         reg = <0 0x19000000 0 0x1000>;
>>                         #clock-cells = <1>;
>>                 };
>> -       };
>>
>> +               mmc0: mmc@11230000 {
>> +                       compatible = "mediatek,mt8173-mmc",
>> +                                    "mediatek,mt8135-mmc";
>> +                       reg = <0 0x11230000 0 0x1000>;
>> +                       interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_LOW>;
>> +                       clocks = <&pericfg CLK_PERI_MSDC30_0>,
>> +                                <&topckgen CLK_TOP_MSDC50_0_H_SEL>;
>> +                       clock-names = "source", "hclk";
>> +                       status = "disabled";
>> +               };
>> +
>> +               mmc1: mmc@11240000 {
>> +                       compatible = "mediatek,mt8173-mmc",
>> +                                    "mediatek,mt8135-mmc";
>> +                       reg = <0 0x11240000 0 0x1000>;
>> +                       interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>;
>> +                       clocks = <&pericfg CLK_PERI_MSDC30_1>,
>> +                                <&clk_null>;
>
> This requires a "clk_null" phandle, but I have not seen a patch adding
> that on the public list.
> Did I miss a patch?
>
> -Dan
>
>> +                       clock-names = "source", "hclk";
>> +                       status = "disabled";
>> +               };
>> +
>> +               mmc2: mmc@11250000 {
>> +                       compatible = "mediatek,mt8173-mmc",
>> +                                    "mediatek,mt8135-mmc";
>> +                       reg = <0 0x11250000 0 0x1000>;
>> +                       interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_LOW>;
>> +                       clocks = <&pericfg CLK_PERI_MSDC30_2>,
>> +                                <&clk_null>;
>> +                       clock-names = "source", "hclk";
>> +                       status = "disabled";
>> +               };
>> +
>> +               mmc3: mmc@11260000 {
>> +                       compatible = "mediatek,mt8173-mmc",
>> +                                    "mediatek,mt8135-mmc";
>> +                       reg = <0 0x11260000 0 0x1000>;
>> +                       interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_LOW>;
>> +                       clocks = <&pericfg CLK_PERI_MSDC30_3>,
>> +                                <&topckgen CLK_TOP_MSDC50_2_H_SEL>;
>> +                       clock-names = "source", "hclk";
>> +                       status = "disabled";
>> +               };
>> +       };
>>  };
>>
>> --
>> 1.8.1.1.dirty
>>
>>
>> _______________________________________________
>> Linux-mediatek mailing list
>> Linux-mediatek@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6 0/7] Add Mediatek MMC driver
  2015-06-16  8:03 ` [PATCH v6 0/7] Add Mediatek MMC driver Ulf Hansson
@ 2015-06-17 21:01   ` Paul Gortmaker
  2015-06-18  7:26     ` Ulf Hansson
  0 siblings, 1 reply; 6+ messages in thread
From: Paul Gortmaker @ 2015-06-17 21:01 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Chaotian Jing, Rob Herring, Matthias Brugger, Chris Ball,
	Mark Rutland, James Liao, srv_heupstream, Arnd Bergmann,
	devicetree, Hongzhou Yang, Catalin Marinas, linux-mmc,
	Will Deacon, linux-kernel, linux-gpio, Sascha Hauer, Joe.C,
	Eddie Huang, Bin Zhang (章斌),
	linux-arm-kernel, linux-mediatek, Russell King - ARM Linux

On Tue, Jun 16, 2015 at 4:03 AM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
> On 15 June 2015 at 13:20, Chaotian Jing <chaotian.jing@mediatek.com> wrote:
>> This series enables MMC support on the MT8135/MT8173 platform.
>> MT8135 has 5 MMC controllers and MT8173 has 4 MMC controllers.
>>
>> Changes base on Ulf's comments
>> Make hclk mandatory in the driver code
>> Change host->hclk to host->src_clk_freq
>> Add linux/pm.h
>>
>> Chaotian Jing (3):
>>   mmc: dt-bindings: add Mediatek MMC bindings
>>   mmc: mediatek: Add Mediatek MMC driver.

This commit breaks when merged to linux-next since it gets
exposed as an implicit module.h user that does not include
that header:

   drivers/mmc/host/mtk-sd.c:1459:1: note: in expansion of macro
'module_platform_driver'
    module_platform_driver(mt_msdc_driver);
    ^
   include/linux/device.h:1296:1: error: type defaults to 'int' in
declaration of 'module_init' [-Werror=implicit-int]
    module_init(__driver##_init); \
    ^

Since the code doesn't exist in mainline, I can't fix it from
within my header cleanup series, so can you please add
an appropriate include of module.h to the above?

Also, I noticed the Makefile addition from this commit
is whitespace mangled; might as well fix that too if
rebasing to fix the include problem.

Thanks,
Paul.
--

>>   mmc: mediatek: Add PM support for MMC driver
>>
>> Eddie Huang (2):
>>   arm64: dts: mediatek: Add MT8173 MMC dts
>>   arm64: mediatek: Add Mediatek MMC support in defconfig
>>
>> Yingjoe Chen (2):
>>   ARM: mediatek: dts: Add emmc support to mt8135
>>   ARM: multi_v7_defconfig: Enable Mediatek MMC support multi-v7
>>
>>  Documentation/devicetree/bindings/mmc/mtk-sd.txt |   32 +
>>  arch/arm/boot/dts/mt8135-evbp1.dts               |  158 +++
>>  arch/arm/boot/dts/mt8135.dtsi                    |   55 +
>>  arch/arm/configs/multi_v7_defconfig              |    1 +
>>  arch/arm64/boot/dts/mediatek/mt8173-evb.dts      |  126 ++
>>  arch/arm64/boot/dts/mediatek/mt8173.dtsi         |   45 +-
>>  arch/arm64/configs/defconfig                     |    1 +
>>  drivers/mmc/host/Kconfig                         |    8 +
>>  drivers/mmc/host/Makefile                        |    1 +
>>  drivers/mmc/host/mtk-sd.c                        | 1461 ++++++++++++++++++++++
>>  include/linux/mmc/core.h                         |    1 +
>>  11 files changed, 1888 insertions(+), 1 deletion(-)
>>  create mode 100644 Documentation/devicetree/bindings/mmc/mtk-sd.txt
>>  create mode 100644 drivers/mmc/host/mtk-sd.c
>>
>> --
>> 1.8.1.1.dirty
>>
>
> Hi Chaotian,
>
> I have applied patch 1->3 for my next branch, which thus includes the
> mmc driver parts. I could potentially also pick the ARM patches, but
> then those needs to be acked from the ARM SoC folks.
>
> Kind regards
> Uffe
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6 0/7] Add Mediatek MMC driver
  2015-06-17 21:01   ` Paul Gortmaker
@ 2015-06-18  7:26     ` Ulf Hansson
  0 siblings, 0 replies; 6+ messages in thread
From: Ulf Hansson @ 2015-06-18  7:26 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: Chaotian Jing, Rob Herring, Matthias Brugger, Chris Ball,
	Mark Rutland, James Liao, srv_heupstream, Arnd Bergmann,
	devicetree, Hongzhou Yang, Catalin Marinas, linux-mmc,
	Will Deacon, linux-kernel, linux-gpio, Sascha Hauer, Joe.C,
	Eddie Huang, Bin Zhang (章斌),
	linux-arm-kernel, linux-mediatek, Russell King - ARM Linux

On 17 June 2015 at 23:01, Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
> On Tue, Jun 16, 2015 at 4:03 AM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>> On 15 June 2015 at 13:20, Chaotian Jing <chaotian.jing@mediatek.com> wrote:
>>> This series enables MMC support on the MT8135/MT8173 platform.
>>> MT8135 has 5 MMC controllers and MT8173 has 4 MMC controllers.
>>>
>>> Changes base on Ulf's comments
>>> Make hclk mandatory in the driver code
>>> Change host->hclk to host->src_clk_freq
>>> Add linux/pm.h
>>>
>>> Chaotian Jing (3):
>>>   mmc: dt-bindings: add Mediatek MMC bindings
>>>   mmc: mediatek: Add Mediatek MMC driver.
>
> This commit breaks when merged to linux-next since it gets
> exposed as an implicit module.h user that does not include
> that header:
>
>    drivers/mmc/host/mtk-sd.c:1459:1: note: in expansion of macro
> 'module_platform_driver'
>     module_platform_driver(mt_msdc_driver);
>     ^
>    include/linux/device.h:1296:1: error: type defaults to 'int' in
> declaration of 'module_init' [-Werror=implicit-int]
>     module_init(__driver##_init); \
>     ^
>
> Since the code doesn't exist in mainline, I can't fix it from
> within my header cleanup series, so can you please add
> an appropriate include of module.h to the above?
>
> Also, I noticed the Makefile addition from this commit
> is whitespace mangled; might as well fix that too if
> rebasing to fix the include problem.
>
> Thanks,
> Paul.

Paul, appreciate your feedback!
I have re-based my next branch and updated the commit according to
your suggestions.

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6 4/7] arm64: dts: mediatek: Add MT8173 MMC dts
       [not found]         ` <1434594513.26032.6.camel@mtksdaap41>
@ 2015-06-29 11:24           ` Daniel Kurtz
  0 siblings, 0 replies; 6+ messages in thread
From: Daniel Kurtz @ 2015-06-29 11:24 UTC (permalink / raw)
  To: Eddie Huang
  Cc: Chaotian Jing, Rob Herring, Matthias Brugger, Chris Ball,
	Ulf Hansson, Mark Rutland, James Liao, Russell King - ARM Linux,
	srv_heupstream, Arnd Bergmann, open list:OPEN FIRMWARE AND...,
	Hongzhou Yang, Catalin Marinas, bin.zhang, linux-mmc,
	linux-kernel, Will Deacon, linux-gpio, linux-mediatek,
	Sascha Hauer, Joe.C, linux-arm-kernel, Henry Chen

On Thu, Jun 18, 2015 at 10:28 AM, Eddie Huang <eddie.huang@mediatek.com> wrote:
>
> Hi Dan,
>
> On Thu, 2015-06-18 at 10:04 +0800, Eddie Huang wrote:
> > Hi Dan,
> >
> > On Tue, 2015-06-16 at 20:20 +0800, Daniel Kurtz wrote:
> > > On Tue, Jun 16, 2015 at 7:39 PM, Daniel Kurtz <djkurtz@chromium.org> wrote:
> > > > On Mon, Jun 15, 2015 at 7:20 PM, Chaotian Jing
> > > > <chaotian.jing@mediatek.com> wrote:
> > > >> From: Eddie Huang <eddie.huang@mediatek.com>
> > > >>
> > > >> Add node mmc0 ~ mmc3 for mt8173.dtsi
> > > >> Add node mmc0, mmc1 for mt8173-evb.dts
> > > >>
> > > >> Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
> > > >> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>
> > > >> ---
> > > >>  arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 126 ++++++++++++++++++++++++++++
> > > >>  arch/arm64/boot/dts/mediatek/mt8173.dtsi    |  45 +++++++++-
> > > >>  2 files changed, 170 insertions(+), 1 deletion(-)
> > > >>
> > > >> diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> > > >> index b1560c9..762ec61 100644
> > > >> --- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> > > >> +++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> > > >> @@ -33,6 +33,132 @@
> > > >>         chosen { };
> > > >>  };
> > > >>
> > > >> +&mmc0 {
> > > >> +       pinctrl-names = "default", "state_uhs";
> > > >> +       pinctrl-0 = <&mmc0_pins_default>;
> > > >> +       pinctrl-1 = <&mmc0_pins_uhs>;
> > > >> +       status = "okay";
> > > >> +       bus-width = <8>;
> > > >> +       max-frequency = <50000000>;
> > > >> +       cap-mmc-highspeed;
> > > >> +       vmmc-supply = <&mt6397_vemc_3v3_reg>;
> > > >> +       vqmmc-supply = <&mt6397_vio18_reg>;
> > >
> > > I also can't find phandles for these regulators.
> > >
> > > >> +       non-removable;
> > > >> +};
> > > >> +
> > > >> +&mmc1 {
> > > >> +       pinctrl-names = "default", "state_uhs";
> > > >> +       pinctrl-0 = <&mmc1_pins_default>;
> > > >> +       pinctrl-1 = <&mmc1_pins_uhs>;
> > > >> +       status = "okay";
> > > >> +       bus-width = <4>;
> > > >> +       max-frequency = <50000000>;
> > > >> +       cap-sd-highspeed;
> > > >> +       sd-uhs-sdr25;
> > > >> +       cd-gpios = <&pio 132 0>;
> > > >> +       vmmc-supply = <&mt6397_vmch_reg>;
> > > >> +       vqmmc-supply = <&mt6397_vmc_reg>;
> > >
> > > nor these regulators.
> > >
> > > Which kernel branch are you basing your patch set on?
> > >
> > It is based on 4.1-rc1, and Sascha's regulator dts patch.
> > [3/4] ARM: dts: mt8135-evbp1: Add PMIC support:
> > https://patchwork.kernel.org/patch/6261161/
> >
> My mistake, we only sent mt8135-evbp1.dts, but this patch need
> mt8173-evb.dts, we will send this.


Hi Eddie,

When do you plan to send an updated mmc patch set?

Thanks,
-Dan

>
>
> Eddie
> Thanks
>
>
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-06-29 11:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1434367253-26577-1-git-send-email-chaotian.jing@mediatek.com>
2015-06-16  8:03 ` [PATCH v6 0/7] Add Mediatek MMC driver Ulf Hansson
2015-06-17 21:01   ` Paul Gortmaker
2015-06-18  7:26     ` Ulf Hansson
     [not found] ` <1434367253-26577-5-git-send-email-chaotian.jing@mediatek.com>
2015-06-16 11:39   ` [PATCH v6 4/7] arm64: dts: mediatek: Add MT8173 MMC dts Daniel Kurtz
2015-06-16 12:20     ` Daniel Kurtz
     [not found]       ` <1434593063.23303.3.camel@mtksdaap41>
     [not found]         ` <1434594513.26032.6.camel@mtksdaap41>
2015-06-29 11:24           ` Daniel Kurtz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).