mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-22 19:35:11 +00:00
The previous patch added the device tree to support Toradex Apalis iMX8 [1] aka QuadMax a computer on module which can be used on different carrier boards which this patch introduces. The module consists of an NXP i.MX 8 family SoC (either i.MX 8QuadMax or 8QuadPlus), two PF8100 PMICs, a KSZ9131 Gigabit Ethernet PHY, 2, 4 or 8 GB of LPDDR4 RAM, an eMMC, an SGTL5000 analogue audio codec, an USB3503A USB HSIC hub, an optional I2C EEPROM plus an optional Bluetooth/Wi-Fi module. Anything that is not self-contained on the module is disabled by default. The carrier board device trees contained in this patch include the module's device tree and enable the supported peripherals of the carrier board. Some level of display functionality just landed upstream but requires further integration/testing on our side. Therefore, currently only basic console UART, eMMC and Ethernet functionality work fine. As there is no i.MX 8QuadPlus device tree upstream those have been dropped. However, apart from an error message during boot about it failing to bring up the second Cortex-A72 core this boots fine on QuadPlus' as well. [1] https://www.toradex.com/computer-on-modules/apalis-arm-family/nxp-imx-8 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
145 lines
1.8 KiB
Plaintext
145 lines
1.8 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
/*
|
|
* Copyright 2022 Toradex
|
|
*/
|
|
|
|
/ {
|
|
aliases {
|
|
rtc0 = &rtc_i2c;
|
|
rtc1 = &rtc;
|
|
};
|
|
|
|
reg_usb_host_vbus: regulator-usb-host-vbus {
|
|
regulator-name = "VCC USBH2(ABCD) / USBH(3|4)";
|
|
};
|
|
};
|
|
|
|
&adc0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&adc1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* TODO: Audio Mixer */
|
|
|
|
/* TODO: Asynchronous Sample Rate Converter (ASRC) */
|
|
|
|
/* TODO: Display Controller */
|
|
|
|
/* TODO: DPU */
|
|
|
|
/* Apalis ETH1 */
|
|
&fec1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis CAN1 */
|
|
&flexcan1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis CAN2 */
|
|
&flexcan2 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* TODO: GPU */
|
|
|
|
/* Apalis I2C1 */
|
|
&i2c2 {
|
|
status = "okay";
|
|
|
|
/* M41T0M6 real time clock on carrier board */
|
|
rtc_i2c: rtc@68 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
/* Apalis I2C3 (CAM) */
|
|
&i2c3 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis SPI1 */
|
|
&lpspi0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis SPI2 */
|
|
&lpspi2 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis UART3 */
|
|
&lpuart0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis UART1 */
|
|
&lpuart1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis UART4 */
|
|
&lpuart2 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis UART2 */
|
|
&lpuart3 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis PWM3, MXM3 pin 6 */
|
|
&lsio_pwm0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis PWM4, MXM3 pin 8 */
|
|
&lsio_pwm1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis PWM1, MXM3 pin 2 */
|
|
&lsio_pwm2 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis PWM2, MXM3 pin 4 */
|
|
&lsio_pwm3 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* TODO: Apalis PCIE1 */
|
|
|
|
/* TODO: Apalis BKL1_PWM */
|
|
|
|
/* TODO: Apalis DAP1 */
|
|
|
|
/* TODO: Apalis Analogue Audio */
|
|
|
|
/* TODO: Apalis SATA1 */
|
|
|
|
/* TODO: Apalis SPDIF1 */
|
|
|
|
/* TODO: Apalis USBH2, Apalis USBH3 and on-module Wi-Fi via on-module HSIC Hub */
|
|
|
|
/* Apalis USBO1 */
|
|
&usbotg1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* TODO: Apalis USBH4 SuperSpeed */
|
|
|
|
/* Apalis MMC1 */
|
|
&usdhc2 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Apalis SD1 */
|
|
&usdhc3 {
|
|
status = "okay";
|
|
};
|