From patchwork Mon Sep 2 05:44:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tarang Raval X-Patchwork-Id: 13786737 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5E088CD13CF for ; Mon, 2 Sep 2024 05:46:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:Message-Id:Date:Subject:Cc:To:From:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=l7A9ebY5lJNhEI3EjavrqDimNWlog5sX+7NgMcC2Nc8=; b=S6/eTUzcmgQaO06CzEH2ztP8/j uWRuKNrHJwL2tkxhNOSLAOy8rrmTHyuKqplaHbP6vuMTTJ5SlyxavJsjAvYfoOE9CEGY1hhQYwW/N VYByAiBkvFu6LivfLo/cd50v0K7HmSE6iXwtj26RsvwhP6L1MJlrYpuJd/sdPlbBdYfanU6DPF/X7 4/EU4hchQWimnwSZERW+hNqrc5ZpYEVQgRZkSvWVRsxCdEwiYGvBESCF0RjgkB+LCwnWUPi8YpVDC 4IGOYFH5KywRtYYZYhQcsEZQiMeW7D5jfkjb66ZR8Tyai9lzhCPr2QV3++DNY7Cea6DDR0O4flqip wM05YgEA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1skztf-0000000D3jn-1XiJ; Mon, 02 Sep 2024 05:46:39 +0000 Received: from mail-bmxind01on20717.outbound.protection.outlook.com ([2a01:111:f403:2021::717] helo=IND01-BMX-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1skzsl-0000000D3dY-0cRN for linux-arm-kernel@lists.infradead.org; Mon, 02 Sep 2024 05:45:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MzMqihDg/hZlZVLF40ST2LCpO1hsKSlpTjun5+zF2FrrAiTHSE+OcLlndQN06oq5PYfLUHhHOHCdmOxaYPjSktDrSFmCE7OHmxITR3Ba1IDUfOIPRwdp577K0GJiB4ygkex6S2SMYSrUFwXP/HmwHBrzfN15+8JW4XsXkd2/kqgNcNtcXi2GfbDRNEwXizoUMPrJSdZDJyT5mh6i4S3sHtu8VjscAtIm2Cw2ShEaCcJTZ2ZRwAuq7mgsH8OBk5HPNdxCXM6HhgZUaTpAcVapOT3OMtDZFhMfZVPOW27leCNrgqq6F16je+lUQwypNXHxhCeymuJ2hWdcaBlCnsDKaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=l7A9ebY5lJNhEI3EjavrqDimNWlog5sX+7NgMcC2Nc8=; b=UE1dRALhgMlpAstYHHRYCqLq1ik1zArYJzZlBcWGuzqxUobtpN9QxKYzsaNslrS646GAxWDT+xTzcQLIjKKysdwRYj3d5LPB6Gk6in3sy46dTgn/mk2HZEnIqo/kALa6Za/ONqOszA6zUndbzE7fN6jnPrYwW7X/TGkfxpSjb7kxE1dZRwXi/Jqw9YDSC7Yg1CJqnShDxtgfLJQTOeHg+nzD44XTqPt0F4GkJIWnz1A+a02G1jj25VGInDMMxxi+9G8lwgE4MooOhdJ+XnOCHWtE3Ze2xrDtgsXxn3+W/x93iVErxM9KQRmQGe9EbYTsAJTXsbpPXoyyWg/SCy68OA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siliconsignals.io; dmarc=pass action=none header.from=siliconsignals.io; dkim=pass header.d=siliconsignals.io; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siliconsignals.io; Received: from PN3P287MB1829.INDP287.PROD.OUTLOOK.COM (2603:1096:c01:199::7) by PN0P287MB1173.INDP287.PROD.OUTLOOK.COM (2603:1096:c01:190::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Mon, 2 Sep 2024 05:45:31 +0000 Received: from PN3P287MB1829.INDP287.PROD.OUTLOOK.COM ([fe80::58ec:81a0:9454:689f]) by PN3P287MB1829.INDP287.PROD.OUTLOOK.COM ([fe80::58ec:81a0:9454:689f%5]) with mapi id 15.20.7918.024; Mon, 2 Sep 2024 05:45:31 +0000 From: Tarang Raval To: shawnguo@kernel.org, krzk+dt@kernel.org Cc: tarang.raval@siliconsignals.io, Rob Herring , Conor Dooley , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support Date: Mon, 2 Sep 2024 11:14:55 +0530 Message-Id: <20240902054456.5828-1-tarang.raval@siliconsignals.io> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: BMXPR01CA0094.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:54::34) To PN3P287MB1829.INDP287.PROD.OUTLOOK.COM (2603:1096:c01:199::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PN3P287MB1829:EE_|PN0P287MB1173:EE_ X-MS-Office365-Filtering-Correlation-Id: 192119cc-cc1f-451c-1c79-08dccb127541 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|52116014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: C1Tzoae5+Q946TyWmZ1qvhHLRnWrR3xI5LuskcgJ152uWftx15XLgL0Fd/Z84k4CjZ6HgAAO7LwSdxuP1WwD4Z9Yg0JcGsINxddSnXzY18/c9zP5kl7gl09ou9TLBm7yKbKLp9JfdXjbAEryIudZlsmTyGNZqOKC69g/Y3wWT/YDjkxGkSDbFtOMxKCbnVcT/MNsFcMVyN8dXWcnM3J1UNtg8RczsNbAF9BDOJcpCughjMGS8GYbk83V9/6C7mm9kSq/CfV6tTtT85mDZ2UHKpZtDjSqEvUdUqQzvi6BuK+0qUWyrpVps/caOvABxBF/A8KH5b3kgwARv3sXXtot2hCLmNfW2TgFLUXrWEjm/6SgNzNUO6wKKJnDm/UYkXyiCTuHvUykp8ooFMV4VwfdgIEJTVirEnU1V2OWS/J5xvttCXv7ULul0Utuy6UhKZmSRcJt7X0O9izcie+MBNAzBH0B1h5Shn6hk2/ewQ3KZ8HcJXZmReLsDQoQ3QHxNmRH1wQB6+6oXnm9oqt6gCFKWOBRsYnL5w/i/BM+PZn1voXyTqlsytTfSf/EivL5AhCeT222q+XexS2Yc1HWbUb8kFtV/Gleq72ubQO+x1DXnWPz+Oph1WJjBIKoGabair9YWKpMYvENWbGo/8O1ocYMKA9dspcxwbvZ7yw9H+LGI9Qh3EF2cOMweQoDokYRey5wPo1JE/shCpXFAXGoOGBOyUWgIxLcdcYXGJn853hmEQd0OR/SDe0f3u61sQQGCPQhZE+TPqhrZmI+yp9X6JBU/sQS/NOvYp3eNgHBhswuGf7TfsCkwjoUWQz2F4lQUWpTjgUZ+HS5R0R0B6eLhr6YpNm4OC5On8UUbwUozAE7iGi4F6rdHNtvj6GkDSyffYNxRdWTxzh9etpbak2M78d2t4+A4mBABT22hZ8HIuygUzw7ozNVd4jv9Y3IFqco37LaYqn9BXvzSxJMP7x259ewNRLN8JzBUcreIfF7/45LdBgmjZDxx+itC32TsqoCcdmUHpHufiYYscm1t5CEj9hQLvZZR50kIyesIGnp4GwIl1wIbJX+twNVI/EKAtaUbsaW2//Cfq99CbolNpqJvo/KWbA6VphY7X4YQxOGotpZlLAl0aaabOVgJN4Jdn8UV0ZB31PV3OY7ywDP19QpORLWNO1UrHC+sQKmJphYknA4b81KrXtQkDoH698Kt7/Md4wKWapXertqm7fj94VbgWZT44zeq7S5mGFsl3cfKl/NqM7NEF2+RPf3ugRiPHoCjV0Gldyc9fWqPRnVoOZXHtRdmlDIhSHoKi9PZMxOPTZinMihxB3r78hNglaDVijp1rlLlZCM6gKDOb+VnhxVT1Xq+bA/G7ce8vMx2pQ9NCDrM9igs5d1tfEmH9xKf9Q5wYF2EukWVGrG6S0TD5aq0yYyOA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PN3P287MB1829.INDP287.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(52116014)(1800799024)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: T0LQyctg+h04lWQWr8x1C08PGrlvhuLbrUNBciBLE8p1kBGJQ6doSrql742tkzRxqvQIk9XSiJ8qPRceDv1s42EnV6wb5YF6qNWp++8qH6I4pld96MTVujpyo70t13RjUqEGPg6/kmwxORoz2+RBzHqdUS12KhF+X+4FlnkhIuTB9s98kcrTun+Po0fykH7Fa6kwUPL/tAlgljQyaBqwTXxS2egGeGRkvfybw8joH8NXQsbNjE6w2FtOt6dgVDsskkT8jMHPx/0Fg20qlBZKS5gE7nISAn/seVaeB+ZfzKfojJuGsS/m355/LXjt71gCn2StOkovcwNPryh035LmLMv4RC7omRDPzo2Sd3Rdiuvzs2c1qJpxXuVid6dnMJ17KQSnomrVIKtywlhM0xejbxUeEoWThy8Z43HVIvEhsBfGv4Nz6rZer9AygxG+WfpN8ro/LO312q3K8WA08CM8i0zGf90I4d/P2H9WFpJaZPkocqt/UvxX0XDqTRier25zctZmSIe6ke5Ls49DoNdD/QtGds9jX9QrIKIjDT1IPfzKeta8hQ7HPZdJaU179HtTY/9fAgHsLmsI49lzPdoyJqZ/58Qwh20NDuEYGLbW4WjTf8prnzMFw+/MBLfaq0b2g0uuchpYE7xfaZFEy1BE4WH+7mi5AHLJDVdJCbCtV60c8UXMINqN6pDc8NYG57Jl189jNmo9FMfaJH3ytWINzk9jjwT63kThVbrJu6c/HXPClzMvR/u8849UmaSY5WJ+q0stPQWcD13F6dP/bKMIXUDecHEIC0WaUxccvIf1OnOLwwHculdwwLt4TKuSNwsAA7fi3uOFoxJ7OPYrxlpoFpNFImynuiB7ezC56b3bh9frJOpsl081WHot2FEJPbesrYUwa3ZspEp1X2/KPGKwsS+s+YqgVe5HJzNIhNgBCSgiKOFRUXzrGIx9QNfuAww1sKkMIopE0qzppeNtfO03jLnXjmRl867hpHbQfZSWVmnc0wSJrEtNNMwgh9bGoAD9dW6XgrE1g4nNKlnGUy6KFf90GMSsAzJY5/8/088SEFCX5AzWzpDRLMc+F0NdkC31ofcVZYgWbtmjdMLRgoHqJ1wZ2lzMe9bCiJF67tbWrb2cgxZVqYD2i1ytduIiARU+ExtMEPrmZf1yD60vYEZUaiDID5fCs6hSu0iOZD998bXl9WbbWDe6t3wjo29axysi6lnov6OvfX4fT7uMpuEU1ADC72MUioGYIcY0jzTp1rlloAn/MR7XPn9M20Kw2pVeLQDbOWPK+9MDbUkPbKh6k8Nkfy+poFtTA1vnR5VtZj5eQKkMXxh7wWj7uWScWPPv/YioOAHd3bqON1xJNrChsJdZBoSZm3YA6aMleZlQpg9cSS0LLzaGXiHOCtWNsnn+vYcNtM0/91sDDkqkQWltkVTUNJ3pgBT3Cf/Jhxpi9ucSlsHo8kkxPpnmIj5jP6NDNeGJ3K21e3tgBcbe2ItXszyOp0Mojmd1uCIQe4XGiqUniIhN848UdG16TSPhnRQkFOxlYY5P8kVGD86vuHDPZ2tga/iSZ4l4aqo7I3iVNY8NDIG0hUtqqGcq2PAEm6XjaEUZDKI6qNfc7sEQ5enFG4v8O/7EjaF4Hhz0BN2nPRk= X-OriginatorOrg: siliconsignals.io X-MS-Exchange-CrossTenant-Network-Message-Id: 192119cc-cc1f-451c-1c79-08dccb127541 X-MS-Exchange-CrossTenant-AuthSource: PN3P287MB1829.INDP287.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2024 05:45:31.8018 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 7ec5089e-a433-4bd1-a638-82ee62e21d37 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: j8JxgdxZTCeQovzJQ/5ypeUw3j8R/ZrE9yL6qH8hc96fmSmxxXGk32xoD6TTW9eJaOk00mw6mU+Qnf1FPNQY1dw+jF75K0U30wfKqygiCRQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PN0P287MB1173 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240901_224543_454885_AADB3974 X-CRM114-Status: GOOD ( 11.21 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add following peripherals support for the Emtop i.MX8M Mini Baseboard * Wi-Fi * Audio * SD card * RTC * CAN bus * USB OTG Signed-off-by: Tarang Raval --- Changes in v2: 1. Updated the node name and pinctrl name. 2. Removed the 'regulators' container. 3. Removed a stray blank line. 4. Removed non-existent properties. 5. Removed unused node and pinctrl: -modem-reset -pinctrl_uart1 6. Defined the CAN transceiver reset GPIO separately. Change in v3: 1. Removed 'can-connector'. 2. Use USB connector instead of extcon_usb. 3. Changed id-gpio to id-gpios. 4. Use Level trigger IRQ in the CAN node. 5. Corrected the compatible property of RTC. 6. Added blank lines to separate the pinctrl groups. Changes in v4: 1. Sorted I2C device nodes by slave address. 2. Moved properties above the "status" property in the Wi-Fi node. --- .../dts/freescale/imx8mm-emtop-baseboard.dts | 326 ++++++++++++++++++ 1 file changed, 326 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts b/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts index 7d2cb74c64ee..0d8cafe8c19e 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts +++ b/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts @@ -11,6 +11,113 @@ / { model = "Emtop Embedded Solutions i.MX8M Mini Baseboard V1"; compatible = "ees,imx8mm-emtop-baseboard", "ees,imx8mm-emtop-som", "fsl,imx8mm"; + + connector { + compatible = "usb-c-connector"; + label = "USB-C"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_otg>; + id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; + + port { + high_speed_ep: endpoint { + remote-endpoint = <&usb_hs_ep>; + }; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_led>; + + led-1 { + label = "buzzer"; + gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + }; + + osc_can: clock-osc-can { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <16000000>; + clock-output-names = "osc-can"; + }; + + reg_audio: regulator-audio { + compatible = "regulator-fixed"; + regulator-name = "wm8904_supply"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + reg_wifi_vmmc: regulator-wifi-vmmc { + compatible = "regulator-fixed"; + regulator-name = "vmmc"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio2 10 GPIO_ACTIVE_HIGH>; + enable-active-high; + startup-delay-us = <100>; + off-on-delay-us = <20000>; + }; + + sound-wm8904 { + compatible = "simple-audio-card"; + simple-audio-card,bitclock-master = <&dailink_master>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&dailink_master>; + simple-audio-card,name = "wm8904-audio"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,routing = + "Headphone Jack", "HPOUTL", + "Headphone Jack", "HPOUTR", + "IN2L", "Line In Jack", + "IN2R", "Line In Jack", + "Headphone Jack", "MICBIAS", + "IN1L", "Headphone Jack"; + + simple-audio-card,widgets = + "Microphone","Headphone Jack", + "Headphone", "Headphone Jack", + "Line", "Line In Jack"; + + dailink_master: simple-audio-card,codec { + sound-dai = <&wm8904>; + }; + + simple-audio-card,cpu { + sound-dai = <&sai3>; + }; + }; + + sound-spdif { + compatible = "fsl,imx-audio-spdif"; + model = "imx-spdif"; + spdif-controller = <&spdif1>; + spdif-out; + spdif-in; + }; +}; + +/* CAN BUS */ +&ecspi2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ecspi2>; + status = "okay"; + + can: can@0 { + compatible = "microchip,mcp2515"; + reg = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_canbus>; + clocks = <&osc_can>; + interrupt-parent = <&gpio1>; + interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; + spi-max-frequency = <10000000>; + }; }; &fec1 { @@ -40,7 +147,129 @@ vddio: vddio-regulator { }; }; +&i2c3 { + clock-frequency = <100000>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c3>; + status = "okay"; + + wm8904: audio-codec@1a { + compatible = "wlf,wm8904"; + reg = <0x1a>; + #sound-dai-cells = <0>; + clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; + clock-names = "mclk"; + DCVDD-supply = <®_audio>; + DBVDD-supply = <®_audio>; + AVDD-supply = <®_audio>; + CPVDD-supply = <®_audio>; + MICVDD-supply = <®_audio>; + }; + + rtc@32 { + compatible = "epson,rx8025"; + reg = <0x32>; + }; +}; + +/* AUDIO */ +&sai3 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai3>; + assigned-clocks = <&clk IMX8MM_CLK_SAI3>; + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; + assigned-clock-rates = <24576000>; + status = "okay"; +}; + +&spdif1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_spdif1>; + assigned-clocks = <&clk IMX8MM_CLK_SPDIF1>; + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; + assigned-clock-rates = <24576000>; + clocks = <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_24M>, + <&clk IMX8MM_CLK_SPDIF1>, <&clk IMX8MM_CLK_DUMMY>, + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>, + <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_DUMMY>, + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>, + <&clk IMX8MM_AUDIO_PLL1_OUT>, <&clk IMX8MM_AUDIO_PLL2_OUT>; + clock-names = "core", "rxtx0", "rxtx1", "rxtx2", "rxtx3", + "rxtx4", "rxtx5", "rxtx6", "rxtx7", "spba", "pll8k", "pll11k"; + status = "okay"; +}; + +/* USBOTG */ +&usbotg1 { + dr_mode = "otg"; + usb-role-switch; + status = "okay"; + + port { + usb_hs_ep: endpoint { + remote-endpoint = <&high_speed_ep>; + }; + }; +}; + +&usbotg2 { + dr_mode = "host"; + status = "okay"; +}; + +/* Wifi */ +&usdhc1 { + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>; + pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_gpio>; + pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_gpio>; + bus-width = <4>; + vmmc-supply = <®_wifi_vmmc>; + cap-power-off-card; + keep-power-in-suspend; + non-removable; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + wifi: wifi@1 { + compatible = "brcm,bcm4329-fmac"; + reg = <1>; + interrupt-parent = <&gpio2>; + interrupts = <9 IRQ_TYPE_LEVEL_LOW>; + interrupt-names = "host-wake"; + }; +}; + +/* SD-card */ +&usdhc2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc2>; + pinctrl-1 = <&pinctrl_usdhc2_100mhz>; + pinctrl-2 = <&pinctrl_usdhc2_200mhz>; + cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; + bus-width = <4>; + status = "okay"; +}; + &iomuxc { + + pinctrl_ecspi2: ecspi2grp { + fsl,pins = < + MX8MM_IOMUXC_ECSPI2_SS0_ECSPI2_SS0 0x82 + MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82 + MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82 + MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82 + >; + }; + + pinctrl_usb_otg: usbotggrp { + fsl,pins = < + MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x140 /* otg_id */ + MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x19 /* otg_vbus */ + >; + }; + pinctrl_fec1: fec1grp { fsl,pins = < MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 @@ -60,4 +289,101 @@ MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 >; }; + + pinctrl_i2c3: i2c3grp { + fsl,pins = < + MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3 + MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3 + >; + }; + + pinctrl_sai3: sai3grp { + fsl,pins = < + MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 + MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 + MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 + MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 + MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6 + >; + }; + + pinctrl_spdif1: spdif1grp { + fsl,pins = < + MX8MM_IOMUXC_SPDIF_TX_SPDIF1_OUT 0xd6 + >; + }; + + pinctrl_usdhc1: usdhc1grp { + fsl,pins = < + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190 + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0 + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0 + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0 + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0 + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0 + >; + }; + + pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp{ + fsl,pins = < + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194 + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4 + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4 + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4 + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4 + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4 + >; + }; + + pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { + fsl,pins = < + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196 + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6 + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6 + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6 + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6 + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6 + >; + }; + + pinctrl_usdhc1_gpio: usdhc1-gpiogrp { + fsl,pins = < + MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41 /* wl_reg_on */ + MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9 0x41 /* wl_host_wake */ + MX8MM_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x141 /* LP0: 32KHz */ + >; + }; + + pinctrl_usdhc2: usdhc2grp { + fsl,pins = < + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 + >; + }; + + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { + fsl,pins = < + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 + >; + }; + + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { + fsl,pins = < + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 + >; + }; };