Commit 2b646456 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'imx7d-pico-4.21' of...

Merge tag 'imx7d-pico-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt

i.MX7D PICO boards update for 4.21:
 - It contains a series from Otavio Salvador that improves i.MX7D PICO
  SoM, and then adds Hobbit baseboard support on top of the improvement.

* tag 'imx7d-pico-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx7d-pico: Add the imx7d-pico-hobbit variant
  ARM: dts: imx7d-pico-pi: Extend peripherals support
  ARM: dts: imx7d-pico: Extend peripherals support
  ARM: dts: imx7d-pico: Improve WiFi regulator name
  ARM: dts: imx7d-pico: Pass the Ethernet PHY reset GPIO
  ARM: dts: imx7d-pico: Pass the USBOTG1_PWR pinctrl
  ARM: dts: imx7d-pico-pi: Move SoM related part to imx7d-pico.dtsi
  ARM: dts: imx7d-pico: Switch to SPDX identifier
  ARM: dts: imx7d-pico: Do not harcode the memory size
  ARM: dts: imx7d-nitrogen7: Fix the description of the Wifi clock
  ARM: imx: update the cpu power up timing setting on i.mx6sx
  ARM: dts: imx7d-pico: Describe the Wifi clock
  ARM: dts: imx51-zii-rdu1: Remove EEPROM node
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 80b451cd 7f68ffe0
...@@ -573,6 +573,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \ ...@@ -573,6 +573,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \
imx7d-colibri-emmc-eval-v3.dtb \ imx7d-colibri-emmc-eval-v3.dtb \
imx7d-colibri-eval-v3.dtb \ imx7d-colibri-eval-v3.dtb \
imx7d-nitrogen7.dtb \ imx7d-nitrogen7.dtb \
imx7d-pico-hobbit.dtb \
imx7d-pico-pi.dtb \ imx7d-pico-pi.dtb \
imx7d-sbc-imx7.dtb \ imx7d-sbc-imx7.dtb \
imx7d-sdb.dtb \ imx7d-sdb.dtb \
......
...@@ -502,12 +502,6 @@ &i2c2 { ...@@ -502,12 +502,6 @@ &i2c2 {
pinctrl-0 = <&pinctrl_i2c2>; pinctrl-0 = <&pinctrl_i2c2>;
status = "okay"; status = "okay";
eeprom@50 {
compatible = "atmel,24c04";
pagesize = <16>;
reg = <0x50>;
};
hpa1: amp@60 { hpa1: amp@60 {
compatible = "ti,tpa6130a2"; compatible = "ti,tpa6130a2";
reg = <0x60>; reg = <0x60>;
......
...@@ -87,13 +87,17 @@ reg_wlan: regulator-wlan { ...@@ -87,13 +87,17 @@ reg_wlan: regulator-wlan {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
clock-names = "slow";
regulator-name = "reg_wlan"; regulator-name = "reg_wlan";
startup-delay-us = <70000>; startup-delay-us = <70000>;
gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>; gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
usdhc2_pwrseq: usdhc2_pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
clock-names = "ext_clock";
};
}; };
&adc1 { &adc1 {
...@@ -376,6 +380,7 @@ &usdhc2 { ...@@ -376,6 +380,7 @@ &usdhc2 {
bus-width = <4>; bus-width = <4>;
non-removable; non-removable;
vmmc-supply = <&reg_wlan>; vmmc-supply = <&reg_wlan>;
mmc-pwrseq = <&usdhc2_pwrseq>;
cap-power-off-card; cap-power-off-card;
keep-power-in-suspend; keep-power-in-suspend;
status = "okay"; status = "okay";
......
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
//
// Copyright 2017 NXP
#include "imx7d-pico.dtsi"
/ {
model = "TechNexion PICO-IMX7D Board using Hobbit baseboard";
compatible = "technexion,imx7d-pico-hobbit", "fsl,imx7d";
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_leds>;
led {
label = "gpio-led";
gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "imx7-sgtl5000";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,frame-master = <&dailink_master>;
simple-audio-card,cpu {
sound-dai = <&sai1>;
};
dailink_master: simple-audio-card,codec {
sound-dai = <&sgtl5000>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
};
};
};
&i2c1 {
sgtl5000: codec@a {
#sound-dai-cells = <0>;
reg = <0x0a>;
compatible = "fsl,sgtl5000";
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
VDDA-supply = <&reg_2p5v>;
VDDIO-supply = <&reg_vref_1v8>;
};
};
&i2c4 {
status = "okay";
adc081c: adc@50 {
compatible = "ti,adc081c";
reg = <0x50>;
vref-supply = <&reg_3p3v>;
};
};
&ecspi3 {
ads7846@0 {
reg = <0>;
compatible = "ti,ads7846";
interrupt-parent = <&gpio2>;
interrupts = <7 0>;
spi-max-frequency = <1000000>;
pendown-gpio = <&gpio2 7 0>;
vcc-supply = <&reg_3p3v>;
ti,x-min = /bits/ 16 <0>;
ti,x-max = /bits/ 16 <4095>;
ti,y-min = /bits/ 16 <0>;
ti,y-max = /bits/ 16 <4095>;
ti,pressure-max = /bits/ 16 <1024>;
ti,x-plate-ohms = /bits/ 16 <90>;
ti,y-plate-ohms = /bits/ 16 <90>;
ti,debounce-max = /bits/ 16 <70>;
ti,debounce-tol = /bits/ 16 <3>;
ti,debounce-rep = /bits/ 16 <2>;
ti,settle-delay-usec = /bits/ 16 <150>;
wakeup-source;
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
pinctrl_hog: hoggrp {
fsl,pins = <
MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x14
MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x14
MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x14
MX7D_PAD_EPDC_DATA03__GPIO2_IO3 0x14
MX7D_PAD_EPDC_DATA05__GPIO2_IO5 0x14
MX7D_PAD_EPDC_DATA12__GPIO2_IO12 0x14
MX7D_PAD_EPDC_DATA07__GPIO2_IO7 0x14
>;
};
pinctrl_gpio_leds: gpioledsgrp {
fsl,pins = <
MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14
>;
};
};
/* // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
* Copyright 2017 NXP //
* // Copyright 2017 NXP
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
#include "imx7d-pico.dtsi" #include "imx7d-pico.dtsi"
/ { / {
model = "TechNexion PICO-IMX7D Board and PI baseboard";
compatible = "technexion,imx7d-pico-pi", "fsl,imx7d";
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_leds>;
led {
label = "gpio-led";
gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
};
};
sound { sound {
compatible = "simple-audio-card"; compatible = "simple-audio-card";
simple-audio-card,name = "imx7-sgtl5000"; simple-audio-card,name = "imx7-sgtl5000";
...@@ -54,43 +30,14 @@ simple-audio-card,cpu { ...@@ -54,43 +30,14 @@ simple-audio-card,cpu {
}; };
dailink_master: simple-audio-card,codec { dailink_master: simple-audio-card,codec {
sound-dai = <&codec>; sound-dai = <&sgtl5000>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
}; };
}; };
}; };
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
assigned-clocks = <&clks IMX7D_ENET1_TIME_ROOT_SRC>,
<&clks IMX7D_ENET1_TIME_ROOT_CLK>;
assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
assigned-clock-rates = <0>, <100000000>;
phy-mode = "rgmii";
phy-handle = <&ethphy0>;
fsl,magic-packet;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
status = "okay";
};
};
};
&i2c1 { &i2c1 {
clock-frequency = <100000>; sgtl5000: codec@a {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";
codec: sgtl5000@a {
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
reg = <0x0a>; reg = <0x0a>;
compatible = "fsl,sgtl5000"; compatible = "fsl,sgtl5000";
...@@ -100,82 +47,47 @@ codec: sgtl5000@a { ...@@ -100,82 +47,47 @@ codec: sgtl5000@a {
}; };
}; };
&i2c4 {
&sai1 { polytouch: touchscreen@38 {
pinctrl-names = "default"; compatible = "edt,edt-ft5x06";
pinctrl-0 = <&pinctrl_sai1>; reg = <0x38>;
assigned-clocks = <&clks IMX7D_SAI1_ROOT_SRC>, pinctrl-names = "default";
<&clks IMX7D_SAI1_ROOT_CLK>; pinctrl-0 = <&pinctrl_touchscreen>;
assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>; interrupt-parent = <&gpio2>;
assigned-clock-rates = <0>, <24576000>; interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
status = "okay"; reset-gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
}; touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
&uart5 { };
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart5>;
assigned-clocks = <&clks IMX7D_UART5_ROOT_SRC>;
assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>;
status = "okay";
};
&usbotg1 {
vbus-supply = <&reg_usb_otg1_vbus>;
status = "okay";
};
&usbotg2 {
vbus-supply = <&reg_usb_otg2_vbus>;
dr_mode = "host";
status = "okay";
}; };
&iomuxc { &iomuxc {
pinctrl_enet1: enet1grp { pinctrl-names = "default";
fsl,pins = < pinctrl-0 = <&pinctrl_hog>;
MX7D_PAD_SD2_CD_B__ENET1_MDIO 0x3
MX7D_PAD_SD2_WP__ENET1_MDC 0x3
MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC 0x1
MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x1
MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x1
MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2 0x1
MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3 0x1
MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x1
MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC 0x1
MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x1
MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x1
MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2 0x1
MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3 0x1
MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x1
>;
};
pinctrl_i2c1: i2c1grp { pinctrl_hog: hoggrp {
fsl,pins = < fsl,pins = <
MX7D_PAD_UART1_TX_DATA__I2C1_SDA 0x4000007f MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x14
MX7D_PAD_UART1_RX_DATA__I2C1_SCL 0x4000007f MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x14
MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x14
MX7D_PAD_EPDC_DATA03__GPIO2_IO3 0x14
MX7D_PAD_EPDC_DATA05__GPIO2_IO5 0x14
MX7D_PAD_EPDC_DATA12__GPIO2_IO12 0x14
MX7D_PAD_EPDC_DATA07__GPIO2_IO7 0x14
>; >;
}; };
pinctrl_sai1: sai1grp { pinctrl_gpio_leds: gpioledsgrp {
fsl,pins = < fsl,pins = <
MX7D_PAD_ENET1_RX_CLK__SAI1_TX_BCLK 0x1f MX7D_PAD_EPDC_DATA06__GPIO2_IO6 0x14
MX7D_PAD_ENET1_CRS__SAI1_TX_SYNC 0x1f
MX7D_PAD_ENET1_COL__SAI1_TX_DATA0 0x30
MX7D_PAD_ENET1_TX_CLK__SAI1_RX_DATA0 0x1f
>; >;
}; };
pinctrl_uart5: uart5grp { pinctrl_touchscreen: touchscreengrp {
fsl,pins = < fsl,pins = <
MX7D_PAD_I2C4_SDA__UART5_DCE_TX 0x79 MX7D_PAD_EPDC_DATA04__GPIO2_IO4 0x14
MX7D_PAD_I2C4_SCL__UART5_DCE_RX 0x79 MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14
>; >;
}; };
pinctrl_usbotg1_pwr: usbotg_pwr {
fsl,pins = <
MX7D_PAD_UART3_TX_DATA__GPIO4_IO5 0x14
>;
};
}; };
/* // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
* Copyright 2017 NXP //
* // Copyright 2017 NXP
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/; /dts-v1/;
#include "imx7d.dtsi" #include "imx7d.dtsi"
/ { / {
model = "Technexion Pico i.MX7D Board"; /* Will be filled by the bootloader */
compatible = "technexion,imx7d-pico", "fsl,imx7d";
memory@80000000 { memory@80000000 {
device_type = "memory"; device_type = "memory";
reg = <0x80000000 0x80000000>; reg = <0x80000000 0>;
}; };
reg_ap6212: regulator-ap6212 { reg_wlreg_on: regulator-wlreg_on {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_ap6212>; pinctrl-0 = <&pinctrl_reg_wlreg_on>;
regulator-name = "AP6212"; regulator-name = "wlreg_on";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
gpio = <&gpio4 16 GPIO_ACTIVE_HIGH>; gpio = <&gpio4 16 GPIO_ACTIVE_HIGH>;
...@@ -81,6 +41,8 @@ reg_3p3v: regulator-3p3v { ...@@ -81,6 +41,8 @@ reg_3p3v: regulator-3p3v {
}; };
reg_usb_otg1_vbus: regulator-usb-otg1-vbus { reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbotg1_pwr>;
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "usb_otg1_vbus"; regulator-name = "usb_otg1_vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
...@@ -101,6 +63,76 @@ reg_vref_1v8: regulator-vref-1v8 { ...@@ -101,6 +63,76 @@ reg_vref_1v8: regulator-vref-1v8 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
}; };
usdhc2_pwrseq: usdhc2_pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
clock-names = "ext_clock";
};
};
&clks {
assigned-clocks = <&clks IMX7D_CLKO2_ROOT_SRC>,
<&clks IMX7D_CLKO2_ROOT_DIV>;
assigned-clock-parents = <&clks IMX7D_CKIL>;
assigned-clock-rates = <0>, <32768>;
};
&ecspi3 {
cs-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi3>;
status = "okay";
};
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
assigned-clocks = <&clks IMX7D_ENET1_TIME_ROOT_SRC>,
<&clks IMX7D_ENET1_TIME_ROOT_CLK>;
assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
assigned-clock-rates = <0>, <100000000>;
phy-mode = "rgmii";
phy-handle = <&ethphy0>;
fsl,magic-packet;
phy-reset-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
status = "okay";
};
};
};
&flexcan1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can1>;
status = "okay";
};
&flexcan2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can2>;
status = "okay";
};
&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";
};
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
}; };
&i2c4 { &i2c4 {
...@@ -198,14 +230,100 @@ vgen6_reg: vldo4 { ...@@ -198,14 +230,100 @@ vgen6_reg: vldo4 {
}; };
}; };
&sai1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai1>;
assigned-clocks = <&clks IMX7D_SAI1_ROOT_SRC>,
<&clks IMX7D_SAI1_ROOT_CLK>;
assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>;
assigned-clock-rates = <0>, <24576000>;
status = "okay";
};
&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;
status = "okay";
};
&pwm2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm2>;
status = "okay";
};
&pwm3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm3>;
status = "okay";
};
&pwm4 { /* Backlight */
status = "okay";
};
&uart5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart5>;
assigned-clocks = <&clks IMX7D_UART5_ROOT_SRC>;
assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>;
status = "okay";
};
&uart6 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart6>;
assigned-clocks = <&clks IMX7D_UART6_ROOT_SRC>;
assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>;
uart-has-rtscts;
status = "okay";
};
&uart7 { /* Bluetooth */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart7>;
assigned-clocks = <&clks IMX7D_UART7_ROOT_SRC>;
assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>;
uart-has-rtscts;
status = "okay";
};
&usbotg1 {
vbus-supply = <&reg_usb_otg1_vbus>;
status = "okay";
};
&usbotg2 {
vbus-supply = <&reg_usb_otg2_vbus>;
dr_mode = "host";
status = "okay";
};
&usdhc1 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc1>;
pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
bus-width = <4>;
tuning-step = <2>;
vmmc-supply = <&reg_3p3v>;
wakeup-source;
no-1-8-v;
keep-power-in-suspend;
status = "okay";
};
&usdhc2 { /* Wifi SDIO */ &usdhc2 { /* Wifi SDIO */
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2>; pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_wifi_clk>;
no-1-8-v; no-1-8-v;
non-removable; non-removable;
keep-power-in-suspend; keep-power-in-suspend;
wakeup-source; wakeup-source;
vmmc-supply = <&reg_ap6212>; vmmc-supply = <&reg_wlreg_on>;
mmc-pwrseq = <&usdhc2_pwrseq>;
status = "okay"; status = "okay";
}; };
...@@ -231,6 +349,63 @@ &wdog1 { ...@@ -231,6 +349,63 @@ &wdog1 {
}; };
&iomuxc { &iomuxc {
pinctrl_ecspi3: ecspi3grp {
fsl,pins = <
MX7D_PAD_I2C1_SCL__ECSPI3_MISO 0x2
MX7D_PAD_I2C1_SDA__ECSPI3_MOSI 0x2
MX7D_PAD_I2C2_SCL__ECSPI3_SCLK 0x2
MX7D_PAD_I2C2_SDA__GPIO4_IO11 0x14
>;
};
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX7D_PAD_UART1_TX_DATA__I2C1_SDA 0x4000007f
MX7D_PAD_UART1_RX_DATA__I2C1_SCL 0x4000007f
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX7D_PAD_UART2_TX_DATA__I2C2_SDA 0x4000007f
MX7D_PAD_UART2_RX_DATA__I2C2_SCL 0x4000007f
>;
};
pinctrl_enet1: enet1grp {
fsl,pins = <
MX7D_PAD_SD2_CD_B__ENET1_MDIO 0x3
MX7D_PAD_SD2_WP__ENET1_MDC 0x3
MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC 0x1
MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x1
MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x1
MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2 0x1
MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3 0x1
MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x1
MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC 0x1
MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x1
MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x1
MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2 0x1
MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3 0x1
MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x1
MX7D_PAD_SD3_RESET_B__GPIO6_IO11 0x1 /* Ethernet reset */
>;
};
pinctrl_can1: can1frp {
fsl,pins = <
MX7D_PAD_SAI1_RX_DATA__FLEXCAN1_RX 0x59
MX7D_PAD_SAI1_TX_BCLK__FLEXCAN1_TX 0x59
>;
};
pinctrl_can2: can2frp {
fsl,pins = <
MX7D_PAD_SAI1_TX_SYNC__FLEXCAN2_RX 0x59
MX7D_PAD_SAI1_TX_DATA__FLEXCAN2_TX 0x59
>;
};
pinctrl_i2c4: i2c4grp { pinctrl_i2c4: i2c4grp {
fsl,pins = < fsl,pins = <
MX7D_PAD_SAI1_RX_BCLK__I2C4_SDA 0x4000007f MX7D_PAD_SAI1_RX_BCLK__I2C4_SDA 0x4000007f
...@@ -238,12 +413,106 @@ MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL 0x4000007f ...@@ -238,12 +413,106 @@ MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL 0x4000007f
>; >;
}; };
pinctrl_reg_ap6212: regap6212grp { pinctrl_pwm1: pwm1 {
fsl,pins = <
MX7D_PAD_GPIO1_IO08__PWM1_OUT 0x7f
>;
};
pinctrl_pwm2: pwm2 {
fsl,pins = <
MX7D_PAD_GPIO1_IO09__PWM2_OUT 0x7f
>;
};
pinctrl_pwm3: pwm3 {
fsl,pins = <
MX7D_PAD_GPIO1_IO10__PWM3_OUT 0x7f
>;
};
pinctrl_reg_wlreg_on: regregongrp {
fsl,pins = < fsl,pins = <
MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16 0x59 MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16 0x59
>; >;
}; };
pinctrl_sai1: sai1grp {
fsl,pins = <
MX7D_PAD_ENET1_RX_CLK__SAI1_TX_BCLK 0x1f
MX7D_PAD_ENET1_CRS__SAI1_TX_SYNC 0x1f
MX7D_PAD_ENET1_COL__SAI1_TX_DATA0 0x30
MX7D_PAD_ENET1_TX_CLK__SAI1_RX_DATA0 0x1f
>;
};
pinctrl_uart5: uart5grp {
fsl,pins = <
MX7D_PAD_I2C4_SDA__UART5_DCE_TX 0x79
MX7D_PAD_I2C4_SCL__UART5_DCE_RX 0x79
>;
};
pinctrl_uart6: uart6grp {
fsl,pins = <
MX7D_PAD_EPDC_DATA08__UART6_DCE_RX 0x79
MX7D_PAD_EPDC_DATA09__UART6_DCE_TX 0x79
MX7D_PAD_EPDC_DATA10__UART6_DCE_RTS 0x79
MX7D_PAD_EPDC_DATA11__UART6_DCE_CTS 0x79
>;
};
pinctrl_uart7: uart7grp {
fsl,pins = <
MX7D_PAD_ECSPI2_MOSI__UART7_DCE_TX 0x79
MX7D_PAD_ECSPI2_SCLK__UART7_DCE_RX 0x79
MX7D_PAD_ECSPI2_SS0__UART7_DCE_CTS 0x79
MX7D_PAD_ECSPI2_MISO__UART7_DCE_RTS 0x79
>;
};
pinctrl_usbotg1_pwr: usbotg_pwr {
fsl,pins = <
MX7D_PAD_UART3_TX_DATA__GPIO4_IO5 0x14
>;
};
pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
MX7D_PAD_SD1_CMD__SD1_CMD 0x59
MX7D_PAD_SD1_CLK__SD1_CLK 0x19
MX7D_PAD_SD1_DATA0__SD1_DATA0 0x59
MX7D_PAD_SD1_DATA1__SD1_DATA1 0x59
MX7D_PAD_SD1_DATA2__SD1_DATA2 0x59
MX7D_PAD_SD1_DATA3__SD1_DATA3 0x59
MX7D_PAD_SD1_CD_B__GPIO5_IO0 0x15
>;
};
pinctrl_usdhc1_100mhz: usdhc1grp_100mhz {
fsl,pins = <
MX7D_PAD_SD1_CMD__SD1_CMD 0x5a
MX7D_PAD_SD1_CLK__SD1_CLK 0x1a
MX7D_PAD_SD1_DATA0__SD1_DATA0 0x5a
MX7D_PAD_SD1_DATA1__SD1_DATA1 0x5a
MX7D_PAD_SD1_DATA2__SD1_DATA2 0x5a
MX7D_PAD_SD1_DATA3__SD1_DATA3 0x5a
MX7D_PAD_SD1_CD_B__GPIO5_IO0 0x15
>;
};
pinctrl_usdhc1_200mhz: usdhc1grp_200mhz {
fsl,pins = <
MX7D_PAD_SD1_CMD__SD1_CMD 0x5b
MX7D_PAD_SD1_CLK__SD1_CLK 0x1b
MX7D_PAD_SD1_DATA0__SD1_DATA0 0x5b
MX7D_PAD_SD1_DATA1__SD1_DATA1 0x5b
MX7D_PAD_SD1_DATA2__SD1_DATA2 0x5b
MX7D_PAD_SD1_DATA3__SD1_DATA3 0x5b
MX7D_PAD_SD1_CD_B__GPIO5_IO0 0x15
>;
};
pinctrl_usdhc2: usdhc2grp { pinctrl_usdhc2: usdhc2grp {
fsl,pins = < fsl,pins = <
MX7D_PAD_SD2_CMD__SD2_CMD 0x59 MX7D_PAD_SD2_CMD__SD2_CMD 0x59
...@@ -302,6 +571,12 @@ MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5b ...@@ -302,6 +571,12 @@ MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5b
}; };
&iomuxc_lpsr { &iomuxc_lpsr {
pinctrl_wifi_clk: wificlkgrp {
fsl,pins = <
MX7D_PAD_LPSR_GPIO1_IO03__CCM_CLKO2 0x7d
>;
};
pinctrl_wdog: wdoggrp { pinctrl_wdog: wdoggrp {
fsl,pins = < fsl,pins = <
MX7D_PAD_LPSR_GPIO1_IO00__WDOG1_WDOG_B 0x74 MX7D_PAD_LPSR_GPIO1_IO00__WDOG1_WDOG_B 0x74
......
...@@ -110,7 +110,7 @@ int __init imx6sx_cpuidle_init(void) ...@@ -110,7 +110,7 @@ int __init imx6sx_cpuidle_init(void)
* except for power up sw2iso which need to be * except for power up sw2iso which need to be
* larger than LDO ramp up time. * larger than LDO ramp up time.
*/ */
imx_gpc_set_arm_power_up_timing(2, 1); imx_gpc_set_arm_power_up_timing(0xf, 1);
imx_gpc_set_arm_power_down_timing(1, 1); imx_gpc_set_arm_power_down_timing(1, 1);
return cpuidle_register(&imx6sx_cpuidle_driver, NULL); return cpuidle_register(&imx6sx_cpuidle_driver, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment