arm64: dts: ti: Add support for AM642 SK
authorLokesh Vutla <lokeshvutla@ti.com>
Fri, 26 Feb 2021 18:42:51 +0000 (00:12 +0530)
committerNishanth Menon <nm@ti.com>
Tue, 9 Mar 2021 14:28:59 +0000 (08:28 -0600)
AM642 StarterKit (SK) board is a low cost, small form factor board
designed for TI’s AM642 SoC. It supports the following interfaces:
* 2 GB LPDDR4 RAM
* x2 Gigabit Ethernet interfaces capable of working in switch and MAC mode
* x1 USB 3.0 Type-A port
* x1 UHS-1 capable µSD card slot
* 2.4/5 GHz WLAN + Bluetooth 4.2 through WL1837
* 512 Mbit OSPI flash
* x2 UART through UART-USB bridge
* XDS110 for onboard JTAG debug using USB
* Temperature sensors, user push buttons and LEDs
* 40-pin Raspberry Pi compatible GPIO header
* 24-pin header for peripherals in MCU island (I2C, UART, SPI, IO)
* 54-pin header for Programmable Realtime Unit (PRU) IO pins
* Interface for remote automation. Includes:
* power measurement and reset control
* boot mode change

Add basic support for AM642 SK.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Link: https://lore.kernel.org/r/20210226184251.26451-3-lokeshvutla@ti.com
arch/arm64/boot/dts/ti/Makefile
arch/arm64/boot/dts/ti/k3-am642-sk.dts [new file with mode: 0644]

index 596fc10..386ef98 100644 (file)
@@ -13,3 +13,5 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721e-common-proc-board.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb
 
 dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb
+
+dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb
diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
new file mode 100644 (file)
index 0000000..aa6ca4c
--- /dev/null
@@ -0,0 +1,173 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "k3-am642.dtsi"
+
+/ {
+       compatible =  "ti,am642-sk", "ti,am642";
+       model = "Texas Instruments AM642 SK";
+
+       chosen {
+               stdout-path = "serial2:115200n8";
+               bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
+       };
+
+       memory@80000000 {
+               device_type = "memory";
+               /* 2G RAM */
+               reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
+
+       };
+
+       reserved-memory {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               secure_ddr: optee@9e800000 {
+                       reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
+                       alignment = <0x1000>;
+                       no-map;
+               };
+       };
+
+       vusb_main: fixed-regulator-vusb-main5v0 {
+               /* USB MAIN INPUT 5V DC */
+               compatible = "regulator-fixed";
+               regulator-name = "vusb_main5v0";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vcc_3v3_sys: fixedregulator-vcc-3v3-sys {
+               /* output of LP8733xx */
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_3v3_sys";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&vusb_main>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vdd_mmc1: fixed-regulator-sd {
+               /* TPS2051BD */
+               compatible = "regulator-fixed";
+               regulator-name = "vdd_mmc1";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               enable-active-high;
+               vin-supply = <&vcc_3v3_sys>;
+               gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
+       };
+};
+
+&main_pmx0 {
+       main_mmc1_pins_default: main-mmc1-pins-default {
+               pinctrl-single,pins = <
+                       AM64X_IOPAD(0x0294, PIN_INPUT, 0) /* (J19) MMC1_CMD */
+                       AM64X_IOPAD(0x0290, PIN_INPUT, 0) /* (#N/A) MMC1_CLKLB */
+                       AM64X_IOPAD(0x028c, PIN_INPUT, 0) /* (L20) MMC1_CLK */
+                       AM64X_IOPAD(0x0288, PIN_INPUT, 0) /* (K21) MMC1_DAT0 */
+                       AM64X_IOPAD(0x0284, PIN_INPUT, 0) /* (L21) MMC1_DAT1 */
+                       AM64X_IOPAD(0x0280, PIN_INPUT, 0) /* (K19) MMC1_DAT2 */
+                       AM64X_IOPAD(0x027c, PIN_INPUT, 0) /* (K18) MMC1_DAT3 */
+                       AM64X_IOPAD(0x0298, PIN_INPUT, 0) /* (D19) MMC1_SDCD */
+               >;
+       };
+
+       main_i2c1_pins_default: main-i2c1-pins-default {
+               pinctrl-single,pins = <
+                       AM64X_IOPAD(0x0268, PIN_INPUT_PULLUP, 0) /* (C18) I2C1_SCL */
+                       AM64X_IOPAD(0x026c, PIN_INPUT_PULLUP, 0) /* (B19) I2C1_SDA */
+               >;
+       };
+};
+
+&mcu_uart0 {
+       status = "disabled";
+};
+
+&mcu_uart1 {
+       status = "disabled";
+};
+
+&main_uart1 {
+       /* main_uart1 is reserved for firmware usage */
+       status = "reserved";
+};
+
+&main_uart2 {
+       status = "disabled";
+};
+
+&main_uart3 {
+       status = "disabled";
+};
+
+&main_uart4 {
+       status = "disabled";
+};
+
+&main_uart5 {
+       status = "disabled";
+};
+
+&main_uart6 {
+       status = "disabled";
+};
+
+&mcu_i2c0 {
+       status = "disabled";
+};
+
+&mcu_i2c1 {
+       status = "disabled";
+};
+
+&main_i2c1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_i2c1_pins_default>;
+       clock-frequency = <400000>;
+
+       exp1: gpio@70 {
+               compatible = "nxp,pca9538";
+               reg = <0x70>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
+                                 "PRU_DETECT", "MMC1_SD_EN",
+                                 "VPP_LDO_EN", "RPI_PS_3V3_En",
+                                 "RPI_PS_5V0_En", "RPI_HAT_DETECT";
+       };
+};
+
+&main_i2c3 {
+       status = "disabled";
+};
+
+&mcu_spi0 {
+       status = "disabled";
+};
+
+&mcu_spi1 {
+       status = "disabled";
+};
+
+&sdhci1 {
+       /* SD/MMC */
+       vmmc-supply = <&vdd_mmc1>;
+       pinctrl-names = "default";
+       bus-width = <4>;
+       pinctrl-0 = <&main_mmc1_pins_default>;
+       ti,driver-strength-ohm = <50>;
+       disable-wp;
+};