Linux Audio

Check our new training course

Embedded Linux training

Mar 31-Apr 8, 2025
Register
Loading...
v4.17
 1/*
 2 * Copyright (C) 2014 Rabeeh Khoury (rabeeh@solid-run.com)
 3 * Based on dt work by Russell King
 4 *
 5 * This file is dual-licensed: you can use it either under the terms
 6 * of the GPL or the X11 license, at your option. Note that this dual
 7 * licensing only applies to this file, and not this project as a
 8 * whole.
 9 *
10 *  a) This file is free software; you can redistribute it and/or
11 *     modify it under the terms of the GNU General Public License
12 *     version 2 as published by the Free Software Foundation.
13 *
14 *     This file is distributed in the hope that it will be useful,
15 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *     GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 *  b) Permission is hereby granted, free of charge, to any person
22 *     obtaining a copy of this software and associated documentation
23 *     files (the "Software"), to deal in the Software without
24 *     restriction, including without limitation the rights to use,
25 *     copy, modify, merge, publish, distribute, sublicense, and/or
26 *     sell copies of the Software, and to permit persons to whom the
27 *     Software is furnished to do so, subject to the following
28 *     conditions:
29 *
30 *     The above copyright notice and this permission notice shall be
31 *     included in all copies or substantial portions of the Software.
32 *
33 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 *     OTHER DEALINGS IN THE SOFTWARE.
41 */
42/dts-v1/;
43
44#include "imx6dl.dtsi"
45#include "imx6qdl-sr-som.dtsi"
46#include "imx6qdl-sr-som-brcm.dtsi"
47#include "imx6qdl-hummingboard.dtsi"
48
49/ {
50	model = "SolidRun HummingBoard Solo/DualLite";
51	compatible = "solidrun,hummingboard/dl", "fsl,imx6dl";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52};
v3.15
  1/*
  2 * Copyright (C) 2013,2014 Russell King
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  3 */
  4/dts-v1/;
  5
  6#include "imx6dl.dtsi"
  7#include "imx6qdl-microsom.dtsi"
  8#include "imx6qdl-microsom-ar8035.dtsi"
 
  9
 10/ {
 11	model = "SolidRun HummingBoard DL/Solo";
 12	compatible = "solidrun,hummingboard", "fsl,imx6dl";
 13
 14	ir_recv: ir-receiver {
 15		compatible = "gpio-ir-receiver";
 16		gpios = <&gpio1 2 1>;
 17		pinctrl-names = "default";
 18		pinctrl-0 = <&pinctrl_hummingboard_gpio1_2>;
 19	};
 20
 21	regulators {
 22		compatible = "simple-bus";
 23
 24		reg_3p3v: 3p3v {
 25			compatible = "regulator-fixed";
 26			regulator-name = "3P3V";
 27			regulator-min-microvolt = <3300000>;
 28			regulator-max-microvolt = <3300000>;
 29			regulator-always-on;
 30		};
 31
 32		reg_usbh1_vbus: usb-h1-vbus {
 33			compatible = "regulator-fixed";
 34			enable-active-high;
 35			gpio = <&gpio1 0 0>;
 36			pinctrl-names = "default";
 37			pinctrl-0 = <&pinctrl_hummingboard_usbh1_vbus>;
 38			regulator-name = "usb_h1_vbus";
 39			regulator-min-microvolt = <5000000>;
 40			regulator-max-microvolt = <5000000>;
 41		};
 42
 43		reg_usbotg_vbus: usb-otg-vbus {
 44			compatible = "regulator-fixed";
 45			enable-active-high;
 46			gpio = <&gpio3 22 0>;
 47			pinctrl-names = "default";
 48			pinctrl-0 = <&pinctrl_hummingboard_usbotg_vbus>;
 49			regulator-name = "usb_otg_vbus";
 50			regulator-min-microvolt = <5000000>;
 51			regulator-max-microvolt = <5000000>;
 52		};
 53	};
 54
 55	sound-spdif {
 56		compatible = "fsl,imx-audio-spdif";
 57		model = "imx-spdif";
 58		/* IMX6 doesn't implement this yet */
 59		spdif-controller = <&spdif>;
 60		spdif-out;
 61	};
 62};
 63
 64&can1 {
 65	pinctrl-names = "default";
 66	pinctrl-0 = <&pinctrl_hummingboard_flexcan1>;
 67	status = "okay";
 68};
 69
 70&i2c1 {
 71	pinctrl-names = "default";
 72	pinctrl-0 = <&pinctrl_hummingboard_i2c1>;
 73
 74	/*
 75	 * Not fitted on Carrier-1 board... yet
 76	status = "okay";
 77
 78	rtc: pcf8523@68 {
 79		compatible = "nxp,pcf8523";
 80		reg = <0x68>;
 81	};
 82	 */
 83};
 84
 85&iomuxc {
 86	hummingboard {
 87		pinctrl_hummingboard_flexcan1: hummingboard-flexcan1 {
 88			fsl,pins = <
 89				MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX 0x80000000
 90				MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX 0x80000000
 91			>;
 92		};
 93
 94		pinctrl_hummingboard_gpio1_2: hummingboard-gpio1_2 {
 95			fsl,pins = <
 96				MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
 97			>;
 98		};
 99
100		pinctrl_hummingboard_i2c1: hummingboard-i2c1 {
101			fsl,pins = <
102				MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
103				MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
104			>;
105		};
106
107		pinctrl_hummingboard_spdif: hummingboard-spdif {
108			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>;
109		};
110
111		pinctrl_hummingboard_usbh1_vbus: hummingboard-usbh1-vbus {
112			fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>;
113		};
114
115		pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus {
116			fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>;
117		};
118
119		pinctrl_hummingboard_usdhc2_aux: hummingboard-usdhc2-aux {
120			fsl,pins = <
121				MX6QDL_PAD_GPIO_4__GPIO1_IO04    0x1f071
122			>;
123		};
124
125		pinctrl_hummingboard_usdhc2: hummingboard-usdhc2 {
126			fsl,pins = <
127				MX6QDL_PAD_SD2_CMD__SD2_CMD    0x17059
128				MX6QDL_PAD_SD2_CLK__SD2_CLK    0x10059
129				MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
130				MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
131				MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
132				MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059
133			>;
134		};
135	};
136};
137
138&spdif {
139	pinctrl-names = "default";
140	pinctrl-0 = <&pinctrl_hummingboard_spdif>;
141	status = "okay";
142};
143
144&usbh1 {
145	vbus-supply = <&reg_usbh1_vbus>;
146	status = "okay";
147};
148
149&usbotg {
150	vbus-supply = <&reg_usbotg_vbus>;
151	status = "okay";
152};
153
154&usdhc2 {
155	pinctrl-names = "default";
156	pinctrl-0 = <
157		&pinctrl_hummingboard_usdhc2_aux
158		&pinctrl_hummingboard_usdhc2
159	>;
160	vmmc-supply = <&reg_3p3v>;
161	cd-gpios = <&gpio1 4 0>;
162	status = "okay";
163};