* [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements @ 2022-05-16 13:47 Marcel Ziswiler 2022-05-16 14:13 ` [PATCH v2 24/24] ARM: dts: imx7-colibri: add support for Toradex Iris carrier boards Marcel Ziswiler 2022-06-11 9:16 ` [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements Shawn Guo 0 siblings, 2 replies; 6+ messages in thread From: Marcel Ziswiler @ 2022-05-16 13:47 UTC (permalink / raw) To: linux-arm-kernel Cc: Marcel Ziswiler, Alexander Stein, Arnd Bergmann, Denys Drozdov, Fabio Estevam, Fabio Estevam, Frank Rowand, Krzysztof Kozlowski, Li Yang, Lucas Stach, Marek Vasut, Matthias Schiffer, Max Krummenacher, NXP Linux Team, Olof Johansson, Pengutronix Kernel Team, Rob Herring, Russell King, Sascha Hauer, Shawn Guo, Stefan Agner, Tim Harvey, devicetree, linux-kernel, soc From: Marcel Ziswiler <marcel.ziswiler@toradex.com> This is a general update of the Colibri iMX7 device tree files. The Toradex Colibri family is composed of a SoM that can be plugged on various carrier boards, with carrier boards allowing multiple optional accessories (e.g. display, camera, ...). The device tree sources are structured into a SoM dtsi and a carrier dts which then includes the SoM dtsi. The SoM dtsi defines and enables the functionality self-contained on the SoM and prepares for the functionality provided by the carrier HW or accessories so that the carrier dts then can enable or amend nodes provided. Accessories are enabled in overlays depending on HW configuration. Please find the following colibri-imx7 device trees improvements: - Display/Touch Functionality Overhaul Rename display interface to match other modules to make it easier to use device tree overlays. The parallel RGB interface (lcdif) and all related stuff turn on in a device tree overlay. Keep them disabled in the main devicetree. As these subsystems are provided by module and not a part of boards, move their definitions into the module-level devicetree. Disable ad7879 touchscreen which turns on in a devic tree overlay. Remains it disabled in the main devicetree. The Toradex 7" Capacitive and 10" LVDS touch screens are Atmel MXT peripherals available on the I2C bus for touchscreen events. Add atmel_mxt_ts node to the module-level device tree. Also, provide pinmux configuration for the INT/RST inputs from SODIMM pins 106/107 for most carrier boards or an external touchscreen adapter inputs configured to SODIMM pins 28/30. - Ethernet Improvements Add the MDIO bus with the respective PHY. Add Ethernet aliases which is required to properly pass MAC address from bootloader. Add delay for on-module phy supply. - USB Device/Host Switching Add usb dual-role switching using extcon. - MMC/SD The original Colibri specification only defined 3.3 volt TTL signaling and relied on external on-carrier pull-ups for the SD_DATA[0..3] lines. The latest carrier boards like Iris V2 on the other hand are now UHS-I compliant by leaving such external on-carrier pull-ups away relying on module- or even SoC-level ones which pull up to resp. signaling voltage. In such cases, the carrier board-level device tree may explicitly delete the no-1-8-v property to enable full UHS-I support. Also, fix SD/MMC regulator for the carrier boards using UHS-I modes. - Add Iris and Iris V2 Carrier Board Device Trees Add support for Toradex Iris carrier boards. Changes in v2: - Add Krzysztof's acked-by. Thanks! - Revert change on arch/arm/boot/dts/imx6dl-colibri-iris.dts which slipped into this patch set by error. - Re-based on top of Shawn's for-next. Marcel Ziswiler (18): ARM: dts: imx7-colibri: overhaul display/touch functionality ARM: dts: imx7-colibri: add mdio phy node ARM: dts: imx7-colibri: move aliases, chosen, extcon and gpio-keys ARM: dts: imx7-colibri: move regulators ARM: dts: imx7-colibri: clean-up usdhc1 and add sleep config ARM: dts: imx7-colibri: move rtc node ARM: dts: imx7d-colibri-emmc: add cpu1 supply ARM: dts: imx7-colibri-eval-v3: correct can controller comment ARM: dts: imx7-colibri: disable adc2 ARM: dts: imx7-colibri-aster: add ssp aka spi cs aka ss pins ARM: dts: imx7-colibri: add clarifying comments ARM: dts: imx7-colibri: alphabetical re-order ARM: dts: imx7-colibri: clean-up device enabling/disabling ARM: dts: imx7-colibri: remove leading zero from reg address ARM: dts: imx7-colibri: set regulator-name properties ARM: dts: imx7-colibri: clean-up iomuxc pinctrl group naming dt-bindings: arm: fsl: add toradex,colibri-imx7s/d/d-emmc-iris/-v2 ARM: dts: imx7-colibri: add support for Toradex Iris carrier boards Max Krummenacher (1): ARM: dts: imx7-colibri: add ethernet aliases Oleksandr Suvorov (3): ARM: dts: imx7-colibri: improve licensing and compatible strings ARM: dts: imx7-colibri: improve wake-up with gpio key ARM: dts: imx7-colibri: add delay for on-module phy supply Philippe Schenker (1): ARM: dts: imx7-colibri: add usb dual-role switching using extcon Stefan Agner (1): ARM: dts: imx7-colibri: set lcdif clock source to video pll .../devicetree/bindings/arm/fsl.yaml | 6 + arch/arm/boot/dts/Makefile | 6 + arch/arm/boot/dts/imx7-colibri-aster.dtsi | 142 +-- arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi | 156 +--- arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi | 112 +++ arch/arm/boot/dts/imx7-colibri-iris.dtsi | 108 +++ arch/arm/boot/dts/imx7-colibri.dtsi | 830 +++++++++++------- arch/arm/boot/dts/imx7d-colibri-aster.dts | 30 +- .../arm/boot/dts/imx7d-colibri-emmc-aster.dts | 10 +- .../boot/dts/imx7d-colibri-emmc-eval-v3.dts | 10 +- .../boot/dts/imx7d-colibri-emmc-iris-v2.dts | 21 + arch/arm/boot/dts/imx7d-colibri-emmc-iris.dts | 21 + arch/arm/boot/dts/imx7d-colibri-emmc.dtsi | 17 +- arch/arm/boot/dts/imx7d-colibri-eval-v3.dts | 45 +- arch/arm/boot/dts/imx7d-colibri-iris-v2.dts | 83 ++ arch/arm/boot/dts/imx7d-colibri-iris.dts | 56 ++ arch/arm/boot/dts/imx7d-colibri.dtsi | 13 +- arch/arm/boot/dts/imx7s-colibri-aster.dts | 27 +- arch/arm/boot/dts/imx7s-colibri-eval-v3.dts | 43 +- arch/arm/boot/dts/imx7s-colibri-iris-v2.dts | 78 ++ arch/arm/boot/dts/imx7s-colibri-iris.dts | 51 ++ arch/arm/boot/dts/imx7s-colibri.dtsi | 5 +- 22 files changed, 1291 insertions(+), 579 deletions(-) create mode 100644 arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi create mode 100644 arch/arm/boot/dts/imx7-colibri-iris.dtsi create mode 100644 arch/arm/boot/dts/imx7d-colibri-emmc-iris-v2.dts create mode 100644 arch/arm/boot/dts/imx7d-colibri-emmc-iris.dts create mode 100644 arch/arm/boot/dts/imx7d-colibri-iris-v2.dts create mode 100644 arch/arm/boot/dts/imx7d-colibri-iris.dts create mode 100644 arch/arm/boot/dts/imx7s-colibri-iris-v2.dts create mode 100644 arch/arm/boot/dts/imx7s-colibri-iris.dts -- 2.35.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 24/24] ARM: dts: imx7-colibri: add support for Toradex Iris carrier boards 2022-05-16 13:47 [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements Marcel Ziswiler @ 2022-05-16 14:13 ` Marcel Ziswiler 2022-06-11 9:16 ` [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements Shawn Guo 1 sibling, 0 replies; 6+ messages in thread From: Marcel Ziswiler @ 2022-05-16 14:13 UTC (permalink / raw) To: linux-arm-kernel Cc: Arnd Bergmann, Fabio Estevam, Frank Rowand, Krzysztof Kozlowski, Marcel Ziswiler, NXP Linux Team, Olof Johansson, Pengutronix Kernel Team, Rob Herring, Russell King, Sascha Hauer, Shawn Guo, devicetree, linux-kernel, soc From: Marcel Ziswiler <marcel.ziswiler@toradex.com> Add support for Toradex Iris, small form-factor Pico-ITX Colibri Arm Computer Module family Carrier Board. Additional details available at https://www.toradex.com/products/carrier-board/iris-carrier-board Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> --- Changes in v2: - Revert change on arch/arm/boot/dts/imx6dl-colibri-iris.dts which slipped into this patch set by error. - Re-based on top of Shawn's for-next. arch/arm/boot/dts/Makefile | 6 + arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi | 112 ++++++++++++++++++ arch/arm/boot/dts/imx7-colibri-iris.dtsi | 108 +++++++++++++++++ .../boot/dts/imx7d-colibri-emmc-iris-v2.dts | 21 ++++ arch/arm/boot/dts/imx7d-colibri-emmc-iris.dts | 21 ++++ arch/arm/boot/dts/imx7d-colibri-iris-v2.dts | 83 +++++++++++++ arch/arm/boot/dts/imx7d-colibri-iris.dts | 56 +++++++++ arch/arm/boot/dts/imx7s-colibri-iris-v2.dts | 78 ++++++++++++ arch/arm/boot/dts/imx7s-colibri-iris.dts | 51 ++++++++ 9 files changed, 536 insertions(+) create mode 100644 arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi create mode 100644 arch/arm/boot/dts/imx7-colibri-iris.dtsi create mode 100644 arch/arm/boot/dts/imx7d-colibri-emmc-iris-v2.dts create mode 100644 arch/arm/boot/dts/imx7d-colibri-emmc-iris.dts create mode 100644 arch/arm/boot/dts/imx7d-colibri-iris-v2.dts create mode 100644 arch/arm/boot/dts/imx7d-colibri-iris.dts create mode 100644 arch/arm/boot/dts/imx7s-colibri-iris-v2.dts create mode 100644 arch/arm/boot/dts/imx7s-colibri-iris.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index a496c4751c86..e8c109d5e3bd 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -735,8 +735,12 @@ dtb-$(CONFIG_SOC_IMX7D) += \ imx7d-cl-som-imx7.dtb \ imx7d-colibri-aster.dtb \ imx7d-colibri-emmc-aster.dtb \ + imx7d-colibri-emmc-iris.dtb \ + imx7d-colibri-emmc-iris-v2.dtb \ imx7d-colibri-emmc-eval-v3.dtb \ imx7d-colibri-eval-v3.dtb \ + imx7d-colibri-iris.dtb \ + imx7d-colibri-iris-v2.dtb \ imx7d-flex-concentrator.dtb \ imx7d-flex-concentrator-mfg.dtb \ imx7d-mba7.dtb \ @@ -756,6 +760,8 @@ dtb-$(CONFIG_SOC_IMX7D) += \ imx7d-zii-rpu2.dtb \ imx7s-colibri-aster.dtb \ imx7s-colibri-eval-v3.dtb \ + imx7s-colibri-iris.dtb \ + imx7s-colibri-iris-v2.dtb \ imx7s-mba7.dtb \ imx7s-warp.dtb dtb-$(CONFIG_SOC_IMX7ULP) += \ diff --git a/arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi b/arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi new file mode 100644 index 000000000000..6e199613583c --- /dev/null +++ b/arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi @@ -0,0 +1,112 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +/ { + reg_3v3_vmmc: regulator-3v3-vmmc { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio5 16 GPIO_ACTIVE_HIGH>; /* SODIMM 100 */ + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3300000>; + regulator-name = "3v3_vmmc"; + startup-delay-us = <100>; + }; +}; + +/* Colibri AD0 to AD3 */ +&adc1 { + status = "okay"; +}; + +/* Colibri SSP */ +&ecspi3 { + status = "okay"; +}; + +/* Colibri Fast Ethernet */ +&fec1 { + status = "okay"; +}; + +&gpio2 { + /* + * uart_b_c_on_x14_enable turns the UART transceiver for UART2 and 5 on. If one wants to + * turn the transceiver off, that property has to be deleted and the gpio handled in + * userspace. + * The same applies to uart_a_on_x13_enable where the UART_A transceiver is turned on. + */ + uart-b-c-on-x14-enable-hog { + gpio-hog; + gpios = <27 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */ + output-high; + }; +}; + +&gpio5 { + uart-a-on-x13-enable-hog { + gpio-hog; + gpios = <17 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */ + output-high; + }; +}; + +/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */ +&i2c4 { + status = "okay"; +}; + +/* Colibri PWM<A> */ +&pwm1 { + status = "okay"; +}; + +/* Colibri PWM<B> */ +&pwm2 { + status = "okay"; +}; + +/* Colibri PWM<C> */ +&pwm3 { + status = "okay"; +}; + +/* Colibri PWM<D> */ +&pwm4 { + status = "okay"; +}; + +/* M41T0M6 real time clock */ +&rtc { + status = "okay"; +}; + +/* Colibri UART_A */ +&uart1 { + status = "okay"; +}; + +/* Colibri UART_B */ +&uart2 { + status = "okay"; +}; + +/* Colibri UART_C */ +&uart3 { + status = "okay"; +}; + +/* Colibri USBC */ +&usbotg1 { + status = "okay"; +}; + +/* Colibri MMC/SD, UHS-I capable uSD slot */ +&usdhc1 { + cap-power-off-card; + /delete-property/ keep-power-in-suspend; + /delete-property/ no-1-8-v; + vmmc-supply = <®_3v3_vmmc>; + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx7-colibri-iris.dtsi b/arch/arm/boot/dts/imx7-colibri-iris.dtsi new file mode 100644 index 000000000000..175c5d478d2e --- /dev/null +++ b/arch/arm/boot/dts/imx7-colibri-iris.dtsi @@ -0,0 +1,108 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +/* Colibri AD0 to AD3 */ +&adc1 { + status = "okay"; +}; + +/* + * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3. + * So if you enable following capacitive touch controller, disable pwm2/pwm3 first. + */ +&atmel_mxt_ts { + interrupt-parent = <&gpio1>; + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 / INT */ + pinctrl-0 = <&pinctrl_atmel_adapter>; + reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /* SODIMM 30 / RST */ +}; + +/* Colibri SSP */ +&ecspi3 { + status = "okay"; +}; + +/* Colibri Fast Ethernet */ +&fec1 { + status = "okay"; +}; + +&gpio2 { + /* + * uart25 turns the UART transceiver for UART2 and 5 on. If one wants to turn the + * transceiver off, that property has to be deleted and the gpio handled in userspace. + * The same applies to uart1_tx_on where the UART1 transceiver is turned on. + */ + uart25-tx-on-hog { + gpio-hog; + gpios = <27 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */ + output-high; + }; +}; + +&gpio5 { + uart1-tx-on-hog { + gpio-hog; + gpios = <17 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */ + output-high; + }; +}; + +/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */ +&i2c4 { + status = "okay"; +}; + +/* Colibri PWM<A> */ +&pwm1 { + status = "okay"; +}; + +/* Colibri PWM<B> */ +&pwm2 { + /* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */ + status = "okay"; +}; + +/* Colibri PWM<C> */ +&pwm3 { + /* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */ + status = "okay"; +}; + +/* Colibri PWM<D> */ +&pwm4 { + status = "okay"; +}; + +/* M41T0M6 real time clock */ +&rtc { + status = "okay"; +}; + +/* Colibri UART_A */ +&uart1 { + status = "okay"; +}; + +/* Colibri UART_B */ +&uart2 { + status = "okay"; +}; + +/* Colibri UART_C */ +&uart3 { + status = "okay"; +}; + +/* Colibri USBC */ +&usbotg1 { + status = "okay"; +}; + +/* Colibri MMC/SD */ +&usdhc1 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx7d-colibri-emmc-iris-v2.dts b/arch/arm/boot/dts/imx7d-colibri-emmc-iris-v2.dts new file mode 100644 index 000000000000..7347659557f3 --- /dev/null +++ b/arch/arm/boot/dts/imx7d-colibri-emmc-iris-v2.dts @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +/dts-v1/; +#include "imx7d-colibri-emmc.dtsi" +#include "imx7-colibri-iris-v2.dtsi" + +/ { + model = "Toradex Colibri iMX7D 1GB on Iris V2 Carrier Board"; + compatible = "toradex,colibri-imx7d-emmc-iris-v2", + "toradex,colibri-imx7d-emmc", + "toradex,colibri-imx7d", + "fsl,imx7d"; +}; + +/* Colibri USBH */ +&usbotg2 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx7d-colibri-emmc-iris.dts b/arch/arm/boot/dts/imx7d-colibri-emmc-iris.dts new file mode 100644 index 000000000000..5324c92e368d --- /dev/null +++ b/arch/arm/boot/dts/imx7d-colibri-emmc-iris.dts @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +/dts-v1/; +#include "imx7d-colibri-emmc.dtsi" +#include "imx7-colibri-iris.dtsi" + +/ { + model = "Toradex Colibri iMX7D 1GB on Iris Carrier Board"; + compatible = "toradex,colibri-imx7d-emmc-iris", + "toradex,colibri-imx7d-emmc", + "toradex,colibri-imx7d", + "fsl,imx7d"; +}; + +/* Colibri USBH */ +&usbotg2 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx7d-colibri-iris-v2.dts b/arch/arm/boot/dts/imx7d-colibri-iris-v2.dts new file mode 100644 index 000000000000..5762f51d5f0f --- /dev/null +++ b/arch/arm/boot/dts/imx7d-colibri-iris-v2.dts @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +/dts-v1/; +#include "imx7d-colibri.dtsi" +#include "imx7-colibri-iris-v2.dtsi" + +/ { + model = "Toradex Colibri iMX7D on Iris V2 Carrier Board"; + compatible = "toradex,colibri-imx7d-iris-v2", + "toradex,colibri-imx7d", + "fsl,imx7d"; +}; + +&ad7879_ts { + status = "okay"; +}; + +&atmel_mxt_ts { + status = "okay"; +}; + +&backlight { + status = "okay"; +}; + +&gpio2 { + /* + * This switches the LVDS transceiver to VESA color mapping mode. + */ + lvds-color-map-hog { + gpio-hog; + gpios = <13 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */ + line-name = "LVDS_COLOR_MAP"; + output-low; + }; +}; + +&gpio7 { + /* + * This switches the LVDS transceiver to the 24-bit RGB mode. + */ + lvds-rgb-mode-hog { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */ + line-name = "LVDS_RGB_MODE"; + output-low; + }; + + /* + * This switches the LVDS transceiver to the single-channel + * output mode. + */ + lvds-ch-mode-hog { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */ + line-name = "LVDS_CH_MODE"; + output-high; + }; + + /* This turns the LVDS transceiver on */ + lvds-power-on-hog { + gpio-hog; + gpios = <11 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */ + line-name = "LVDS_POWER_ON"; + output-high; + }; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + status = "okay"; +}; + +/* Colibri USBH */ +&usbotg2 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx7d-colibri-iris.dts b/arch/arm/boot/dts/imx7d-colibri-iris.dts new file mode 100644 index 000000000000..9c63cb9d9a64 --- /dev/null +++ b/arch/arm/boot/dts/imx7d-colibri-iris.dts @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +/dts-v1/; +#include "imx7d-colibri.dtsi" +#include "imx7-colibri-iris.dtsi" + +/ { + model = "Toradex Colibri iMX7D on Iris Carrier Board"; + compatible = "toradex,colibri-imx7d-iris", + "toradex,colibri-imx7d", + "fsl,imx7d"; +}; + +&ad7879_ts { + status = "okay"; +}; + +/* + * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3. + * So if you enable following capacitive touch controller, disable pwm2/pwm3 first. + */ +&atmel_mxt_ts { + status = "disabled"; +}; + +&backlight { + status = "okay"; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + status = "okay"; +}; + +/* Colibri PWM<B> */ +&pwm2 { + /* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */ + status = "okay"; +}; + +/* Colibri PWM<C> */ +&pwm3 { + /* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */ + status = "okay"; +}; + +/* Colibri USBH */ +&usbotg2 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx7s-colibri-iris-v2.dts b/arch/arm/boot/dts/imx7s-colibri-iris-v2.dts new file mode 100644 index 000000000000..72b5c17ab1ab --- /dev/null +++ b/arch/arm/boot/dts/imx7s-colibri-iris-v2.dts @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +/dts-v1/; +#include "imx7s-colibri.dtsi" +#include "imx7-colibri-iris-v2.dtsi" + +/ { + model = "Toradex Colibri iMX7S on Iris V2 Carrier Board"; + compatible = "toradex,colibri-imx7s-iris-v2", + "toradex,colibri-imx7s", + "fsl,imx7s"; +}; + +&ad7879_ts { + status = "okay"; +}; + +&atmel_mxt_ts { + status = "okay"; +}; + +&backlight { + status = "okay"; +}; + +&gpio2 { + /* + * This switches the LVDS transceiver to VESA color mapping mode. + */ + lvds-color-map-hog { + gpio-hog; + gpios = <13 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */ + line-name = "LVDS_COLOR_MAP"; + output-low; + }; +}; + +&gpio7 { + /* + * This switches the LVDS transceiver to the 24-bit RGB mode. + */ + lvds-rgb-mode-hog { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */ + line-name = "LVDS_RGB_MODE"; + output-low; + }; + + /* + * This switches the LVDS transceiver to the single-channel + * output mode. + */ + lvds-ch-mode-hog { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */ + line-name = "LVDS_CH_MODE"; + output-high; + }; + + /* This turns the LVDS transceiver on */ + lvds-power-on-hog { + gpio-hog; + gpios = <11 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */ + line-name = "LVDS_POWER_ON"; + output-high; + }; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx7s-colibri-iris.dts b/arch/arm/boot/dts/imx7s-colibri-iris.dts new file mode 100644 index 000000000000..26ba72c17feb --- /dev/null +++ b/arch/arm/boot/dts/imx7s-colibri-iris.dts @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +/dts-v1/; +#include "imx7s-colibri.dtsi" +#include "imx7-colibri-iris.dtsi" + +/ { + model = "Toradex Colibri iMX7S on Iris Carrier Board"; + compatible = "toradex,colibri-imx7s-iris", + "toradex,colibri-imx7s", + "fsl,imx7s"; +}; + +&ad7879_ts { + status = "okay"; +}; + +/* + * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3. + * So if you enable following capacitive touch controller, disable pwm2/pwm3 first. + */ +&atmel_mxt_ts { + status = "disabled"; +}; + +&backlight { + status = "okay"; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + status = "okay"; +}; + +/* Colibri PWM<B> */ +&pwm2 { + /* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */ + status = "okay"; +}; + +/* Colibri PWM<C> */ +&pwm3 { + /* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */ + status = "okay"; +}; -- 2.35.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements 2022-05-16 13:47 [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements Marcel Ziswiler 2022-05-16 14:13 ` [PATCH v2 24/24] ARM: dts: imx7-colibri: add support for Toradex Iris carrier boards Marcel Ziswiler @ 2022-06-11 9:16 ` Shawn Guo 2022-06-14 15:00 ` Rob Herring 1 sibling, 1 reply; 6+ messages in thread From: Shawn Guo @ 2022-06-11 9:16 UTC (permalink / raw) To: Marcel Ziswiler Cc: linux-arm-kernel, Marcel Ziswiler, Alexander Stein, Arnd Bergmann, Denys Drozdov, Fabio Estevam, Fabio Estevam, Frank Rowand, Krzysztof Kozlowski, Li Yang, Lucas Stach, Marek Vasut, Matthias Schiffer, Max Krummenacher, NXP Linux Team, Olof Johansson, Pengutronix Kernel Team, Rob Herring, Russell King, Sascha Hauer, Stefan Agner, Tim Harvey, devicetree, linux-kernel, soc On Mon, May 16, 2022 at 03:47:10PM +0200, Marcel Ziswiler wrote: > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > > This is a general update of the Colibri iMX7 device tree files. > > The Toradex Colibri family is composed of a SoM that can be plugged on > various carrier boards, with carrier boards allowing multiple optional > accessories (e.g. display, camera, ...). > > The device tree sources are structured into a SoM dtsi and a carrier dts > which then includes the SoM dtsi. The SoM dtsi defines and enables the > functionality self-contained on the SoM and prepares for the > functionality provided by the carrier HW or accessories so that the > carrier dts then can enable or amend nodes provided. Accessories are > enabled in overlays depending on HW configuration. > > Please find the following colibri-imx7 device trees improvements: > > - Display/Touch Functionality Overhaul > Rename display interface to match other modules to make it easier to > use device tree overlays. > The parallel RGB interface (lcdif) and all related stuff turn on in a > device tree overlay. Keep them disabled in the main devicetree. > As these subsystems are provided by module and not a part of boards, > move their definitions into the module-level devicetree. > Disable ad7879 touchscreen which turns on in a devic tree overlay. > Remains it disabled in the main devicetree. > The Toradex 7" Capacitive and 10" LVDS touch screens are Atmel MXT > peripherals available on the I2C bus for touchscreen events. Add > atmel_mxt_ts node to the module-level device tree. Also, provide pinmux > configuration for the INT/RST inputs from SODIMM pins 106/107 for most > carrier boards or an external touchscreen adapter inputs configured to > SODIMM pins 28/30. > > - Ethernet Improvements > Add the MDIO bus with the respective PHY. > Add Ethernet aliases which is required to properly pass MAC address > from bootloader. > Add delay for on-module phy supply. > > - USB Device/Host Switching > Add usb dual-role switching using extcon. > > - MMC/SD > The original Colibri specification only defined 3.3 volt TTL signaling > and relied on external on-carrier pull-ups for the SD_DATA[0..3] lines. > The latest carrier boards like Iris V2 on the other hand are now UHS-I > compliant by leaving such external on-carrier pull-ups away relying on > module- or even SoC-level ones which pull up to resp. signaling voltage. > In such cases, the carrier board-level device tree may explicitly delete > the no-1-8-v property to enable full UHS-I support. > Also, fix SD/MMC regulator for the carrier boards using UHS-I modes. > > - Add Iris and Iris V2 Carrier Board Device Trees > Add support for Toradex Iris carrier boards. > > Changes in v2: > - Add Krzysztof's acked-by. Thanks! > - Revert change on arch/arm/boot/dts/imx6dl-colibri-iris.dts which > slipped into this patch set by error. > - Re-based on top of Shawn's for-next. > > Marcel Ziswiler (18): > ARM: dts: imx7-colibri: overhaul display/touch functionality > ARM: dts: imx7-colibri: add mdio phy node > ARM: dts: imx7-colibri: move aliases, chosen, extcon and gpio-keys > ARM: dts: imx7-colibri: move regulators > ARM: dts: imx7-colibri: clean-up usdhc1 and add sleep config > ARM: dts: imx7-colibri: move rtc node > ARM: dts: imx7d-colibri-emmc: add cpu1 supply > ARM: dts: imx7-colibri-eval-v3: correct can controller comment > ARM: dts: imx7-colibri: disable adc2 > ARM: dts: imx7-colibri-aster: add ssp aka spi cs aka ss pins > ARM: dts: imx7-colibri: add clarifying comments > ARM: dts: imx7-colibri: alphabetical re-order > ARM: dts: imx7-colibri: clean-up device enabling/disabling > ARM: dts: imx7-colibri: remove leading zero from reg address > ARM: dts: imx7-colibri: set regulator-name properties > ARM: dts: imx7-colibri: clean-up iomuxc pinctrl group naming > dt-bindings: arm: fsl: add toradex,colibri-imx7s/d/d-emmc-iris/-v2 > ARM: dts: imx7-colibri: add support for Toradex Iris carrier boards > > Max Krummenacher (1): > ARM: dts: imx7-colibri: add ethernet aliases > > Oleksandr Suvorov (3): > ARM: dts: imx7-colibri: improve licensing and compatible strings > ARM: dts: imx7-colibri: improve wake-up with gpio key > ARM: dts: imx7-colibri: add delay for on-module phy supply > > Philippe Schenker (1): > ARM: dts: imx7-colibri: add usb dual-role switching using extcon > > Stefan Agner (1): > ARM: dts: imx7-colibri: set lcdif clock source to video pll Applied all, thanks! ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements 2022-06-11 9:16 ` [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements Shawn Guo @ 2022-06-14 15:00 ` Rob Herring 2022-06-14 15:16 ` Francesco Dolcini 2022-06-19 1:34 ` Shawn Guo 0 siblings, 2 replies; 6+ messages in thread From: Rob Herring @ 2022-06-14 15:00 UTC (permalink / raw) To: Shawn Guo Cc: Marcel Ziswiler, linux-arm-kernel, Marcel Ziswiler, Alexander Stein, Arnd Bergmann, Denys Drozdov, Fabio Estevam, Fabio Estevam, Frank Rowand, Krzysztof Kozlowski, Li Yang, Lucas Stach, Marek Vasut, Matthias Schiffer, Max Krummenacher, NXP Linux Team, Olof Johansson, Pengutronix Kernel Team, Russell King, Sascha Hauer, Stefan Agner, Tim Harvey, devicetree, linux-kernel@vger.kernel.org, SoC Team On Sat, Jun 11, 2022 at 3:16 AM Shawn Guo <shawnguo@kernel.org> wrote: > > On Mon, May 16, 2022 at 03:47:10PM +0200, Marcel Ziswiler wrote: > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > > > > > This is a general update of the Colibri iMX7 device tree files. > > > > The Toradex Colibri family is composed of a SoM that can be plugged on > > various carrier boards, with carrier boards allowing multiple optional > > accessories (e.g. display, camera, ...). > > > > The device tree sources are structured into a SoM dtsi and a carrier dts > > which then includes the SoM dtsi. The SoM dtsi defines and enables the > > functionality self-contained on the SoM and prepares for the > > functionality provided by the carrier HW or accessories so that the > > carrier dts then can enable or amend nodes provided. Accessories are > > enabled in overlays depending on HW configuration. > > > > Please find the following colibri-imx7 device trees improvements: > > > > - Display/Touch Functionality Overhaul > > Rename display interface to match other modules to make it easier to > > use device tree overlays. > > The parallel RGB interface (lcdif) and all related stuff turn on in a > > device tree overlay. Keep them disabled in the main devicetree. > > As these subsystems are provided by module and not a part of boards, > > move their definitions into the module-level devicetree. > > Disable ad7879 touchscreen which turns on in a devic tree overlay. > > Remains it disabled in the main devicetree. > > The Toradex 7" Capacitive and 10" LVDS touch screens are Atmel MXT > > peripherals available on the I2C bus for touchscreen events. Add > > atmel_mxt_ts node to the module-level device tree. Also, provide pinmux > > configuration for the INT/RST inputs from SODIMM pins 106/107 for most > > carrier boards or an external touchscreen adapter inputs configured to > > SODIMM pins 28/30. > > > > - Ethernet Improvements > > Add the MDIO bus with the respective PHY. > > Add Ethernet aliases which is required to properly pass MAC address > > from bootloader. > > Add delay for on-module phy supply. > > > > - USB Device/Host Switching > > Add usb dual-role switching using extcon. > > > > - MMC/SD > > The original Colibri specification only defined 3.3 volt TTL signaling > > and relied on external on-carrier pull-ups for the SD_DATA[0..3] lines. > > The latest carrier boards like Iris V2 on the other hand are now UHS-I > > compliant by leaving such external on-carrier pull-ups away relying on > > module- or even SoC-level ones which pull up to resp. signaling voltage. > > In such cases, the carrier board-level device tree may explicitly delete > > the no-1-8-v property to enable full UHS-I support. > > Also, fix SD/MMC regulator for the carrier boards using UHS-I modes. > > > > - Add Iris and Iris V2 Carrier Board Device Trees > > Add support for Toradex Iris carrier boards. > > > > Changes in v2: > > - Add Krzysztof's acked-by. Thanks! > > - Revert change on arch/arm/boot/dts/imx6dl-colibri-iris.dts which > > slipped into this patch set by error. > > - Re-based on top of Shawn's for-next. > > > > Marcel Ziswiler (18): > > ARM: dts: imx7-colibri: overhaul display/touch functionality > > ARM: dts: imx7-colibri: add mdio phy node > > ARM: dts: imx7-colibri: move aliases, chosen, extcon and gpio-keys > > ARM: dts: imx7-colibri: move regulators > > ARM: dts: imx7-colibri: clean-up usdhc1 and add sleep config > > ARM: dts: imx7-colibri: move rtc node > > ARM: dts: imx7d-colibri-emmc: add cpu1 supply > > ARM: dts: imx7-colibri-eval-v3: correct can controller comment > > ARM: dts: imx7-colibri: disable adc2 > > ARM: dts: imx7-colibri-aster: add ssp aka spi cs aka ss pins > > ARM: dts: imx7-colibri: add clarifying comments > > ARM: dts: imx7-colibri: alphabetical re-order > > ARM: dts: imx7-colibri: clean-up device enabling/disabling > > ARM: dts: imx7-colibri: remove leading zero from reg address > > ARM: dts: imx7-colibri: set regulator-name properties > > ARM: dts: imx7-colibri: clean-up iomuxc pinctrl group naming > > dt-bindings: arm: fsl: add toradex,colibri-imx7s/d/d-emmc-iris/-v2 > > ARM: dts: imx7-colibri: add support for Toradex Iris carrier boards > > > > Max Krummenacher (1): > > ARM: dts: imx7-colibri: add ethernet aliases > > > > Oleksandr Suvorov (3): > > ARM: dts: imx7-colibri: improve licensing and compatible strings > > ARM: dts: imx7-colibri: improve wake-up with gpio key > > ARM: dts: imx7-colibri: add delay for on-module phy supply > > > > Philippe Schenker (1): > > ARM: dts: imx7-colibri: add usb dual-role switching using extcon > > > > Stefan Agner (1): > > ARM: dts: imx7-colibri: set lcdif clock source to video pll > > Applied all, thanks! Not completely sure, but I think this series adds a warning to linux-next: ./Documentation/devicetree/bindings/arm/fsl.yaml:684:111: [warning] line too long (111 > 110 characters) (line-length) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements 2022-06-14 15:00 ` Rob Herring @ 2022-06-14 15:16 ` Francesco Dolcini 2022-06-19 1:34 ` Shawn Guo 1 sibling, 0 replies; 6+ messages in thread From: Francesco Dolcini @ 2022-06-14 15:16 UTC (permalink / raw) To: Rob Herring, Shawn Guo, Marcel Ziswiler Cc: linux-arm-kernel, Marcel Ziswiler, Alexander Stein, Arnd Bergmann, Denys Drozdov, Fabio Estevam, Fabio Estevam, Frank Rowand, Krzysztof Kozlowski, Li Yang, Lucas Stach, Marek Vasut, Matthias Schiffer, Max Krummenacher, NXP Linux Team, Olof Johansson, Pengutronix Kernel Team, Russell King, Sascha Hauer, Stefan Agner, Tim Harvey, devicetree, linux-kernel@vger.kernel.org, SoC Team On Tue, Jun 14, 2022 at 09:00:26AM -0600, Rob Herring wrote: > On Sat, Jun 11, 2022 at 3:16 AM Shawn Guo <shawnguo@kernel.org> wrote: > > > > On Mon, May 16, 2022 at 03:47:10PM +0200, Marcel Ziswiler wrote: > > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > > > > > > > > This is a general update of the Colibri iMX7 device tree files. ... > > Applied all, thanks! > > Not completely sure, but I think this series adds a warning to linux-next: > > ./Documentation/devicetree/bindings/arm/fsl.yaml:684:111: [warning] > line too long (111 > 110 characters) (line-length) The warning is from bb0fa1533715 ("dt-bindings: arm: fsl: correct 1g vs. 1gb in toradex,colibri-imx6ull-*") that is already merged in master/torvalds, not related to this series. We (Toradex) introduced it, and I guess we can easily fix it, Marcel? We'll send a patch. Francesco ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements 2022-06-14 15:00 ` Rob Herring 2022-06-14 15:16 ` Francesco Dolcini @ 2022-06-19 1:34 ` Shawn Guo 1 sibling, 0 replies; 6+ messages in thread From: Shawn Guo @ 2022-06-19 1:34 UTC (permalink / raw) To: Rob Herring Cc: Marcel Ziswiler, linux-arm-kernel, Marcel Ziswiler, Alexander Stein, Arnd Bergmann, Denys Drozdov, Fabio Estevam, Fabio Estevam, Frank Rowand, Krzysztof Kozlowski, Li Yang, Lucas Stach, Marek Vasut, Matthias Schiffer, Max Krummenacher, NXP Linux Team, Olof Johansson, Pengutronix Kernel Team, Russell King, Sascha Hauer, Stefan Agner, Tim Harvey, devicetree, linux-kernel@vger.kernel.org, SoC Team On Tue, Jun 14, 2022 at 09:00:26AM -0600, Rob Herring wrote: > On Sat, Jun 11, 2022 at 3:16 AM Shawn Guo <shawnguo@kernel.org> wrote: > > > > On Mon, May 16, 2022 at 03:47:10PM +0200, Marcel Ziswiler wrote: > > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > > > > > > > > This is a general update of the Colibri iMX7 device tree files. > > > > > > The Toradex Colibri family is composed of a SoM that can be plugged on > > > various carrier boards, with carrier boards allowing multiple optional > > > accessories (e.g. display, camera, ...). > > > > > > The device tree sources are structured into a SoM dtsi and a carrier dts > > > which then includes the SoM dtsi. The SoM dtsi defines and enables the > > > functionality self-contained on the SoM and prepares for the > > > functionality provided by the carrier HW or accessories so that the > > > carrier dts then can enable or amend nodes provided. Accessories are > > > enabled in overlays depending on HW configuration. > > > > > > Please find the following colibri-imx7 device trees improvements: > > > > > > - Display/Touch Functionality Overhaul > > > Rename display interface to match other modules to make it easier to > > > use device tree overlays. > > > The parallel RGB interface (lcdif) and all related stuff turn on in a > > > device tree overlay. Keep them disabled in the main devicetree. > > > As these subsystems are provided by module and not a part of boards, > > > move their definitions into the module-level devicetree. > > > Disable ad7879 touchscreen which turns on in a devic tree overlay. > > > Remains it disabled in the main devicetree. > > > The Toradex 7" Capacitive and 10" LVDS touch screens are Atmel MXT > > > peripherals available on the I2C bus for touchscreen events. Add > > > atmel_mxt_ts node to the module-level device tree. Also, provide pinmux > > > configuration for the INT/RST inputs from SODIMM pins 106/107 for most > > > carrier boards or an external touchscreen adapter inputs configured to > > > SODIMM pins 28/30. > > > > > > - Ethernet Improvements > > > Add the MDIO bus with the respective PHY. > > > Add Ethernet aliases which is required to properly pass MAC address > > > from bootloader. > > > Add delay for on-module phy supply. > > > > > > - USB Device/Host Switching > > > Add usb dual-role switching using extcon. > > > > > > - MMC/SD > > > The original Colibri specification only defined 3.3 volt TTL signaling > > > and relied on external on-carrier pull-ups for the SD_DATA[0..3] lines. > > > The latest carrier boards like Iris V2 on the other hand are now UHS-I > > > compliant by leaving such external on-carrier pull-ups away relying on > > > module- or even SoC-level ones which pull up to resp. signaling voltage. > > > In such cases, the carrier board-level device tree may explicitly delete > > > the no-1-8-v property to enable full UHS-I support. > > > Also, fix SD/MMC regulator for the carrier boards using UHS-I modes. > > > > > > - Add Iris and Iris V2 Carrier Board Device Trees > > > Add support for Toradex Iris carrier boards. > > > > > > Changes in v2: > > > - Add Krzysztof's acked-by. Thanks! > > > - Revert change on arch/arm/boot/dts/imx6dl-colibri-iris.dts which > > > slipped into this patch set by error. > > > - Re-based on top of Shawn's for-next. > > > > > > Marcel Ziswiler (18): > > > ARM: dts: imx7-colibri: overhaul display/touch functionality > > > ARM: dts: imx7-colibri: add mdio phy node > > > ARM: dts: imx7-colibri: move aliases, chosen, extcon and gpio-keys > > > ARM: dts: imx7-colibri: move regulators > > > ARM: dts: imx7-colibri: clean-up usdhc1 and add sleep config > > > ARM: dts: imx7-colibri: move rtc node > > > ARM: dts: imx7d-colibri-emmc: add cpu1 supply > > > ARM: dts: imx7-colibri-eval-v3: correct can controller comment > > > ARM: dts: imx7-colibri: disable adc2 > > > ARM: dts: imx7-colibri-aster: add ssp aka spi cs aka ss pins > > > ARM: dts: imx7-colibri: add clarifying comments > > > ARM: dts: imx7-colibri: alphabetical re-order > > > ARM: dts: imx7-colibri: clean-up device enabling/disabling > > > ARM: dts: imx7-colibri: remove leading zero from reg address > > > ARM: dts: imx7-colibri: set regulator-name properties > > > ARM: dts: imx7-colibri: clean-up iomuxc pinctrl group naming > > > dt-bindings: arm: fsl: add toradex,colibri-imx7s/d/d-emmc-iris/-v2 > > > ARM: dts: imx7-colibri: add support for Toradex Iris carrier boards > > > > > > Max Krummenacher (1): > > > ARM: dts: imx7-colibri: add ethernet aliases > > > > > > Oleksandr Suvorov (3): > > > ARM: dts: imx7-colibri: improve licensing and compatible strings > > > ARM: dts: imx7-colibri: improve wake-up with gpio key > > > ARM: dts: imx7-colibri: add delay for on-module phy supply > > > > > > Philippe Schenker (1): > > > ARM: dts: imx7-colibri: add usb dual-role switching using extcon > > > > > > Stefan Agner (1): > > > ARM: dts: imx7-colibri: set lcdif clock source to video pll > > > > Applied all, thanks! > > Not completely sure, but I think this series adds a warning to linux-next: > > ./Documentation/devicetree/bindings/arm/fsl.yaml:684:111: [warning] > line too long (111 > 110 characters) (line-length) Thanks for spotting it, Rob! It seems to be another separate patch [1]. I will fix it. Shawn [1] https://lore.kernel.org/linux-arm-kernel/20220506145720.291735-1-marcel@ziswiler.com/ ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-06-19 1:34 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-05-16 13:47 [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements Marcel Ziswiler 2022-05-16 14:13 ` [PATCH v2 24/24] ARM: dts: imx7-colibri: add support for Toradex Iris carrier boards Marcel Ziswiler 2022-06-11 9:16 ` [PATCH v2 00/24] ARM: dts: imx7-colibri: device tree improvements Shawn Guo 2022-06-14 15:00 ` Rob Herring 2022-06-14 15:16 ` Francesco Dolcini 2022-06-19 1:34 ` Shawn Guo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox