From 46106ece2549b1e96fe508922c81488b2002ecfa Mon Sep 17 00:00:00 2001 From: Jun Yang Date: Wed, 3 Jul 2019 21:07:18 -0700 Subject: [PATCH] dts/sdhc: support mmc dts and usdhc dts 1) dts/bindings/mmc/mmc.yaml: specifies common mmc. 2) dts/bindings/mmc/nxp,imx-usdhc.yaml: specifies nxp usdhc module which inherits mmc. 3) dts/arm/nxp/nxp_rt.dtsi: usdhc support on RT chip. 4) boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts: usdhc slot support on mimxrt1050_evk board. Signed-off-by: Jun Yang --- boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts | 6 +++ boards/arm/mimxrt1050_evk/mimxrt1050_evk.yaml | 1 + dts/arm/nxp/nxp_rt.dtsi | 18 +++++++++ dts/bindings/mmc/mmc.yaml | 22 +++++++++++ dts/bindings/mmc/nxp,imx-usdhc.yaml | 37 +++++++++++++++++++ 5 files changed, 84 insertions(+) create mode 100644 dts/bindings/mmc/mmc.yaml create mode 100644 dts/bindings/mmc/nxp,imx-usdhc.yaml diff --git a/boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts b/boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts index e8348d71b4d..68b47eb462c 100644 --- a/boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts +++ b/boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts @@ -122,3 +122,9 @@ arduino_serial: &uart3 {}; &usbd1 { status = "okay"; }; + +&usdhc1 { + status = "okay"; + pwr-gpios = <&gpio1 5 0>; + cd-gpios = <&gpio2 28 0>; +}; diff --git a/boards/arm/mimxrt1050_evk/mimxrt1050_evk.yaml b/boards/arm/mimxrt1050_evk/mimxrt1050_evk.yaml index e17edec4e3e..e91113cc2f4 100644 --- a/boards/arm/mimxrt1050_evk/mimxrt1050_evk.yaml +++ b/boards/arm/mimxrt1050_evk/mimxrt1050_evk.yaml @@ -22,3 +22,4 @@ supported: - hwinfo - usb_device - counter + - sdhc diff --git a/dts/arm/nxp/nxp_rt.dtsi b/dts/arm/nxp/nxp_rt.dtsi index 78312e9e72f..655c7b4cc4c 100644 --- a/dts/arm/nxp/nxp_rt.dtsi +++ b/dts/arm/nxp/nxp_rt.dtsi @@ -370,6 +370,24 @@ status = "disabled"; label = "USBD_2"; }; + + usdhc1: usdhc@402c0000 { + compatible = "nxp,imx-usdhc"; + reg = <0x402c0000 0x4000>; + status = "disabled"; + interrupts = <110 0>; + clocks = <&ccm IMX_CCM_USDHC1_CLK 0 0>; + label = "USDHC_1"; + }; + + usdhc2: usdhc@402c4000 { + compatible = "nxp,imx-usdhc"; + reg = <0x402c4000 0x4000>; + status = "disabled"; + interrupts = <111 0>; + clocks = <&ccm IMX_CCM_USDHC2_CLK 0 0>; + label = "USDHC_2"; + }; }; }; diff --git a/dts/bindings/mmc/mmc.yaml b/dts/bindings/mmc/mmc.yaml new file mode 100644 index 00000000000..1baf0a90f2c --- /dev/null +++ b/dts/bindings/mmc/mmc.yaml @@ -0,0 +1,22 @@ +# +# Copyright (c) 2019, NXP +# +# SPDX-License-Identifier: Apache-2.0 +# +--- +title: MMC/SDHC module +version: 0.1 + +description: > + This binding specifies the MMC/SDHC module. + +inherits: + !include base.yaml + +properties: + clocks: + type: array + category: optional + description: Clock gate information + generation: define +... diff --git a/dts/bindings/mmc/nxp,imx-usdhc.yaml b/dts/bindings/mmc/nxp,imx-usdhc.yaml new file mode 100644 index 00000000000..d82621479cd --- /dev/null +++ b/dts/bindings/mmc/nxp,imx-usdhc.yaml @@ -0,0 +1,37 @@ +# +# Copyright (c) 2019, NXP +# +# SPDX-License-Identifier: Apache-2.0 +# +--- +title: NXP i.MXRT USDHC module +version: 0.1 + +description: > + This binding specifies the NXP i.MXRT USDHC module. + +inherits: + !include mmc.yaml + +properties: + compatible: + constraint: "nxp,imx-usdhc" + + clocks: + category: required + + pwr-gpios: + type: compound + category: optional + description: Power pin + generation: define + + cd-gpios: + type: compound + category: optional + description: Detect pin + generation: define + + label: + category: required +...