mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 15:14:52 +00:00

Add a GPIO hog to release PCIe reset on the carrier board, this is required to use M.2 or mPCIe cards. Verdin AM62 does not have any PCIe interface, however the Verdin family has PCIe and normally an M.2 or mPCIe slot is available in the carrier board that can be used with cards that use only the USB interface toward the host CPU, for example cellular network modem. Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Link: https://lore.kernel.org/r/20240327182801.5997-3-francesco@dolcini.it Signed-off-by: Nishanth Menon <nm@ti.com>
213 lines
3.5 KiB
Plaintext
213 lines
3.5 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
/*
|
|
* Copyright 2023 Toradex
|
|
*
|
|
* Common dtsi for Verdin AM62 SoM on Mallow carrier board
|
|
*
|
|
* https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
|
|
* https://www.toradex.com/products/carrier-board/mallow-carrier-board
|
|
*/
|
|
|
|
#include <dt-bindings/leds/common.h>
|
|
|
|
/ {
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_qspi1_clk_gpio>,
|
|
<&pinctrl_qspi1_cs_gpio>,
|
|
<&pinctrl_qspi1_io0_gpio>,
|
|
<&pinctrl_qspi1_io1_gpio>;
|
|
|
|
/* SODIMM 52 - USER_LED_1_RED */
|
|
led-0 {
|
|
color = <LED_COLOR_ID_RED>;
|
|
function = LED_FUNCTION_DEBUG;
|
|
function-enumerator = <1>;
|
|
gpios = <&main_gpio0 0 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
/* SODIMM 54 - USER_LED_1_GREEN */
|
|
led-1 {
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
function = LED_FUNCTION_DEBUG;
|
|
function-enumerator = <1>;
|
|
gpios = <&main_gpio0 11 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
/* SODIMM 56 - USER_LED_2_RED */
|
|
led-2 {
|
|
color = <LED_COLOR_ID_RED>;
|
|
function = LED_FUNCTION_DEBUG;
|
|
function-enumerator = <2>;
|
|
gpios = <&main_gpio0 3 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
/* SODIMM 58 - USER_LED_2_GREEN */
|
|
led-3 {
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
function = LED_FUNCTION_DEBUG;
|
|
function-enumerator = <2>;
|
|
gpios = <&main_gpio0 4 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
};
|
|
|
|
/* Verdin ETH */
|
|
&cpsw3g {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin MDIO */
|
|
&cpsw3g_mdio {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin ETH_1*/
|
|
&cpsw_port1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin PWM_1 and PWM_2*/
|
|
&epwm0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin PWM_3 DSI */
|
|
&epwm1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&main_gpio0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_ctrl_sleep_moci>,
|
|
<&pinctrl_gpio_5>,
|
|
<&pinctrl_gpio_6>,
|
|
<&pinctrl_gpio_7>,
|
|
<&pinctrl_gpio_8>;
|
|
};
|
|
|
|
/* Verdin I2C_1 */
|
|
&main_i2c1 {
|
|
status = "okay";
|
|
|
|
/* Temperature sensor */
|
|
sensor@4f {
|
|
compatible = "ti,tmp1075";
|
|
reg = <0x4f>;
|
|
};
|
|
|
|
/* EEPROM */
|
|
eeprom@57 {
|
|
compatible = "st,24c02", "atmel,24c02";
|
|
reg = <0x57>;
|
|
pagesize = <16>;
|
|
};
|
|
};
|
|
|
|
/* Verdin I2C_2 DSI */
|
|
&main_i2c2 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin I2C_4 CSI */
|
|
&main_i2c3 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin CAN_1 */
|
|
&main_mcan0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin SPI_1 */
|
|
&main_spi1 {
|
|
pinctrl-0 = <&pinctrl_spi1>,
|
|
<&pinctrl_spi1_cs0>,
|
|
<&pinctrl_qspi1_cs2_gpio>;
|
|
cs-gpios = <0>, <&main_gpio0 12 GPIO_ACTIVE_LOW>;
|
|
status = "okay";
|
|
|
|
tpm@1 {
|
|
compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
|
|
reg = <1>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_qspi1_dqs_gpio>;
|
|
interrupt-parent = <&main_gpio1>;
|
|
interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
|
|
spi-max-frequency = <18500000>;
|
|
};
|
|
};
|
|
|
|
/* Verdin UART_3 */
|
|
&main_uart0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin UART_1 */
|
|
&main_uart1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mcu_gpio0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_gpio_1>,
|
|
<&pinctrl_gpio_2>,
|
|
<&pinctrl_gpio_3>,
|
|
<&pinctrl_gpio_4>,
|
|
<&pinctrl_pcie_1_reset>;
|
|
};
|
|
|
|
/* Verdin I2C_3_HDMI */
|
|
&mcu_i2c0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin CAN_2 */
|
|
&mcu_mcan0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin UART_4 */
|
|
&mcu_uart0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin SD_1 */
|
|
&sdhci1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin USB_1 */
|
|
&usbss0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin USB_2 */
|
|
&usbss1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin CTRL_WAKE1_MICO# */
|
|
&verdin_gpio_keys {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin PCIE_1_RESET# */
|
|
&verdin_pcie_1_reset_hog {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin UART_2 */
|
|
&wkup_uart0 {
|
|
status = "okay";
|
|
};
|