[PATCH 2/2] arm64: dts: ti: Add k3-am62l3-beaglebadge

Andrew Davis afd at ti.com
Mon May 4 08:18:58 PDT 2026


On 5/1/26 6:31 PM, Judith Mendez wrote:
> BeagleBoard.org BeagleBadge is a compact, affordable open source
> hardware single board computer based on the Texas Instruments AM62L3
> SoC designed for IoT and embedded applications with low power consumption.
> Expansion is provided over open standards based headers including
> QWIIC and GPIO interfaces.
> 
> https://beagleboard.org/
> https://github.com/beagleboard/BeagleBadge
> 
> Co-developed-by: Andrew Davis <afd at ti.com>
> Signed-off-by: Judith Mendez <jm at ti.com>
> ---
>   arch/arm64/boot/dts/ti/Makefile            |   1 +
>   arch/arm64/boot/dts/ti/k3-am62l3-badge.dts | 655 +++++++++++++++++++++
>   2 files changed, 656 insertions(+)
>   create mode 100644 arch/arm64/boot/dts/ti/k3-am62l3-badge.dts
> 
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index 5269c9619b65..aa714777a3a0 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -41,6 +41,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62d2-evm.dtb
>   
>   # Boards with AM62Lx SoCs
>   dtb-$(CONFIG_ARCH_K3) += k3-am62l3-evm.dtb
> +dtb-$(CONFIG_ARCH_K3) += k3-am62l3-badge.dtb
>   
>   # Boards with AM62Px SoC
>   dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb
> diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-badge.dts b/arch/arm64/boot/dts/ti/k3-am62l3-badge.dts
> new file mode 100644
> index 000000000000..0125d3fec5e9
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-badge.dts
> @@ -0,0 +1,655 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * https://www.beagleboard.org/boards/beaglebadge
> + *
> + * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/net/ti-dp83867.h>
> +#include "k3-am62l3.dtsi"
> +#include "k3-pinctrl.h"
> +
> +/ {
> +	compatible = "beagle,am62l3-badge", "ti,am62l3";
> +	model = "BeagleBoard.org BeagleBadge";
> +
> +	chosen {
> +		stdout-path = &uart0;
> +	};
> +
> +	aliases {
> +		gpio0 = &gpio0;
> +		gpio1 = &gpio2;
> +		gpio2 = &wkup_gpio0;
> +		i2c0 = &i2c0;
> +		i2c1 = &i2c1;
> +		i2c4 = &wkup_i2c0;
> +		mmc1 = &sdhci1;
> +		mmc2 = &sdhci2;
> +		serial3 = &uart1;
> +		usb0 = &usb0;
> +		usb1 = &usb1;
> +	};
> +
> +	memory at 80000000 {
> +		/* 256MB */
> +		reg = <0x00000000 0x80000000 0x00000000 0x10000000>;
> +		device_type = "memory";
> +		bootph-all;
> +	};
> +
> +	gpio_keys: gpio-keys {
> +		compatible = "gpio-keys";
> +		autorepeat;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usr_button_default_pins>;
> +
> +		button-select {
> +			label = "SELECT";
> +			linux,code = <KEY_SELECT>;
> +			gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		button-back {
> +			label = "BACK";
> +			linux,code = <KEY_BACK>;
> +			gpios = <&gpio0 104 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		button-up {
> +			label = "UP";
> +			linux,code = <KEY_UP>;
> +			gpios = <&gpio0 32 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		button-down {
> +			label = "DOWN";
> +			linux,code = <KEY_DOWN>;
> +			gpios = <&gpio0 42 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		button-left {
> +			label = "LEFT";
> +			linux,code = <KEY_LEFT>;
> +			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		button-right {
> +			label = "RIGHT";
> +			linux,code = <KEY_RIGHT>;
> +			gpios = <&gpio0 95 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	multicolor-led {
> +		compatible = "pwm-leds-multicolor";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&rgb_led_default_pins>;
> +
> +		multi-led {
> +			color = <LED_COLOR_ID_RGB>;
> +			max-brightness = <255>;
> +
> +			led-red {
> +				pwms = <&ecap2 0 255 0>;
> +				color = <LED_COLOR_ID_RED>;
> +			};
> +
> +			led-green {
> +				pwms = <&ecap1 0 255 0>;
> +				color = <LED_COLOR_ID_GREEN>;
> +			};
> +
> +			led-blue {
> +				pwms = <&epwm1 1 255 0>;
> +				color = <LED_COLOR_ID_BLUE>;
> +			};
> +		};
> +	};
> +
> +	seven-segment-left {
> +		compatible = "gpio-7-segment";
> +		segment-gpios = <&mcp23s18 0 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 1 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 2 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 3 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 4 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 5 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 6 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 7 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	seven-segment-right {
> +		compatible = "gpio-7-segment";
> +		segment-gpios = <&mcp23s18 8 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 9 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 10 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 11 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 12 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 13 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 14 GPIO_ACTIVE_LOW>,
> +				<&mcp23s18 15 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	pwm-beeper {
> +		compatible = "pwm-beeper";
> +		pwms = <&epwm0 1 1000000 0>;
> +		amp-supply = <&sensor_3v3>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pwm_beeper_default_pins>;
> +	};
> +
> +	vsys_out: regulator-0 {
> +		/* output of BQ24070 */
> +		compatible = "regulator-fixed";
> +		regulator-name = "VSYS_OUT";
> +		regulator-min-microvolt = <4400000>;
> +		regulator-max-microvolt = <4400000>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +		bootph-all;
> +	};
> +
> +	vcc_3v3_main: regulator-1 {
> +		/* output of TPS62A06 */
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCC_3V3_MAIN";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vsys_out>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +		bootph-all;
> +	};
> +
> +	vdd_3v3: regulator-2 {
> +		/* output of TPS22965 */
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDD_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vsys_out>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +		bootph-all;
> +	};
> +
> +	vdd_3v3_sd: regulator-3 {
> +		/* TPS22918DBVR */
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDD_3V3_SD";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vdd_3v3>;
> +		regulator-boot-on;
> +		enable-active-high;
> +		gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&vdd_3v3_sd_ena_default_pins>;
> +		bootph-all;
> +	};
> +
> +	sensor_3v3: regulator-4 {
> +		/* TPS22918DBVR */
> +		compatible = "regulator-fixed";
> +		regulator-name = "Sensor_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vdd_3v3>;
> +		regulator-boot-on;
> +		regulator-always-on;
> +		enable-active-high;
> +		gpio = <&wkup_gpio0 1 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&sensor_3v3_ena_default_pins>;
> +		bootph-all;
> +	};
> +
> +	wlan_en: regulator-5 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "wlan_en";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		enable-active-high;
> +		gpios = <&gpio0 51 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&wlan_en_pins_default>;
> +	};
> +};
> +
> +&pmx0 {
> +	uart0_default_pins: uart0-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x01b8, PIN_OUTPUT, 0) /* (C13) UART0_TXD */
> +			AM62LX_IOPAD(0x01b4, PIN_INPUT, 0) /* (D13) UART0_RXD */
> +		>;
> +		bootph-all;
> +	};
> +
> +	uart0_wakeup_pins: uart0-wakeup-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x01b8, PIN_OUTPUT, 0) /* (C13) UART0_TXD */
> +			AM62LX_IOPAD(0x01b4, PIN_INPUT | PIN_WKUP_EN, 0) /* (D13) UART0_RXD */
> +		>;
> +		bootph-all;
> +	};
> +
> +	uart1_default_pins: uart1-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x019c, PIN_OUTPUT, 2) /* (A12) UART1_TXD */
> +			AM62LX_IOPAD(0x0198, PIN_INPUT, 2) /* (C11) UART1_RXD */
> +			AM62LX_IOPAD(0x0180, PIN_INPUT, 2) /* (A8) UART1_CTS */
> +			AM62LX_IOPAD(0x0184, PIN_OUTPUT, 2) /* (B10) UART1_RTS */
> +		>;
> +		bootph-all;
> +	};
> +
> +	usr_button_default_pins: usr-button-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x00a4, PIN_INPUT, 7) /* (H18) GPMC0_AD11.GPIO0_26 */
> +			AM62LX_IOPAD(0x01e4, PIN_INPUT, 7) /* (D16) EXT_REFCLK1.GPIO0_104 */
> +			AM62LX_IOPAD(0x00c0, PIN_INPUT, 7) /* (N19) GPMC0_ADVn_ALE.GPIO0_32 */
> +			AM62LX_IOPAD(0x00e8, PIN_INPUT, 7) /* (L19) GPMC0_CSn1.GPIO0_42 */
> +			AM62LX_IOPAD(0x00b8, PIN_INPUT, 7) /* (L21) GPMC0_CLK.GPIO0_31 */
> +			AM62LX_IOPAD(0x01c0, PIN_INPUT, 7) /* (B13) UART0_RTSn.GPIO0_95 */
> +		>;
> +	};
> +
> +	i2c0_default_pins: i2c0-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x01cc, PIN_INPUT_PULLUP, 0) /* (B7) I2C0_SCL */
> +			AM62LX_IOPAD(0x01d0, PIN_INPUT_PULLUP, 0) /* (A7) I2C0_SDA */
> +		>;
> +		bootph-all;
> +	};
> +
> +	i2c1_default_pins: i2c1-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x01d4, PIN_INPUT_PULLUP, 0) /* (D7) I2C1_SCL */
> +			AM62LX_IOPAD(0x01d8, PIN_INPUT_PULLUP, 0) /* (A6) I2C1_SDA */
> +		>;
> +		bootph-all;
> +	};
> +
> +	vdd_3v3_sd_ena_default_pins: vdd-3v3-sd-ena-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x07c, PIN_OUTPUT, 7) /* (L23) GPMC0_AD1.GPIO0_16 */
> +		>;
> +		bootph-all;
> +	};
> +
> +	sensor_3v3_ena_default_pins: sensor-3v3-ena-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x004, PIN_OUTPUT, 7) /* (AA23) WKUP_UART0_TXD.WKUP_GPIO0_1 */
> +		>;
> +	};
> +
> +	mmc1_default_pins: mmc1-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x0230, PIN_INPUT, 0) /* (Y3) MMC1_CMD */
> +			AM62LX_IOPAD(0x0228, PIN_OUTPUT, 0) /* (Y2) MMC1_CLK */
> +			AM62LX_IOPAD(0x0224, PIN_INPUT, 0) /* (AA1) MMC1_DAT0 */
> +			AM62LX_IOPAD(0x0220, PIN_INPUT, 0) /* (Y4) MMC1_DAT1 */
> +			AM62LX_IOPAD(0x021c, PIN_INPUT, 0) /* (AA2) MMC1_DAT2 */
> +			AM62LX_IOPAD(0x0218, PIN_INPUT, 0) /* (AB2) MMC1_DAT3 */
> +			AM62LX_IOPAD(0x0234, PIN_INPUT, 0) /* (B6) MMC1_SDCD */
> +		>;
> +		bootph-all;
> +	};
> +
> +	mmc2_pins_default: mmc2-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x010c, PIN_INPUT, 0) /* (U23) MMC2_CMD */
> +			AM62LX_IOPAD(0x0104, PIN_OUTPUT, 0) /* (R23) MMC2_CLK */
> +			AM62LX_IOPAD(0x0108, PIN_INPUT, 0) /* () MMC2_CLKLB */
> +			AM62LX_IOPAD(0x0100, PIN_INPUT, 0) /* (U22) MMC2_DAT0 */
> +			AM62LX_IOPAD(0x00fc, PIN_INPUT, 0) /* (T22) MMC2_DAT1 */
> +			AM62LX_IOPAD(0x00f8, PIN_INPUT, 0) /* (T23) MMC2_DAT2 */
> +			AM62LX_IOPAD(0x00f4, PIN_INPUT, 0) /* (R22) MMC2_DAT3 */
> +		>;
> +	};
> +
> +	wlan_en_pins_default: wlan-en-pins-default {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x0110, PIN_OUTPUT, 7) /* (T20) MMC2_SDCD.GPIO0_51 */
> +		>;
> +	};
> +
> +	wlirq_pins_default: wlirq-pins-default {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x0114, PIN_INPUT, 7) /* (T21) MMC2_SDWP.GPIO0_52 */
> +		>;
> +	};
> +
> +	usb1_default_pins: usb1-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x0248, PIN_INPUT | PIN_DS_PULLUD_ENABLE | PIN_DS_PULL_UP, 0) /* (A5) USB1_DRVVBUS */
> +		>;
> +		bootph-all;
> +	};
> +
> +	pwm_beeper_default_pins: pwm-beeper-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x00b0, PIN_OUTPUT, 4) /* (F22) GPMC0_AD14.EHRPWM0_B */
> +		>;
> +	};
> +
> +	pmic_irq_default_pins: pmic-irq-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x01e8, PIN_INPUT, 0) /* (C8) EXTINTn */
> +		>;
> +		bootph-all;
> +	};
> +
> +	wkup_i2c0_default_pins: wkup-i2c0-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x0010, PIN_INPUT_PULLUP, 0) /* (AB22) WKUP_I2C0_SCL */
> +			AM62LX_IOPAD(0x0014, PIN_INPUT_PULLUP, 0) /* (AA22) WKUP_I2C0_SDA */
> +		>;
> +		bootph-all;
> +	};
> +
> +	rgb_led_default_pins: rgb-led-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x0190, PIN_OUTPUT, 2) /* (A11) MCASP0_ACLKX.ECAP2_IN_APWM_OUT */
> +			AM62LX_IOPAD(0x0188, PIN_OUTPUT, 2) /* (A9) MCASP0_AXR1.ECAP1_IN_APWM_OUT */
> +			AM62LX_IOPAD(0x018c, PIN_OUTPUT, 5) /* (B9) MCASP0_AXR0.EHRPWM1_B */
> +		>;
> +	};
> +
> +	spi1_pins_default: spi1-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x008c, PIN_OUTPUT, 4) /* (H22) GPMC0_AD5.SPI1_CLK */
> +			AM62LX_IOPAD(0x0088, PIN_OUTPUT, 4) /* (K23) GPMC0_AD4.SPI1_CS0 */
> +			AM62LX_IOPAD(0x0080, PIN_INPUT, 4) /* (K22) GPMC0_AD2.SPI1_D0 */
> +			AM62LX_IOPAD(0x0084, PIN_OUTPUT, 4) /* (J23) GPMC0_AD3.SPI1_D1 */
> +		>;
> +		bootph-all;
> +	};
> +
> +	spi3_pins_default: spi3-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x00d0, PIN_OUTPUT, 5) /* (P22) GPMC0_BE1n.SPI3_CLK */
> +			AM62LX_IOPAD(0x00cc, PIN_OUTPUT, 5) /* (P23) GPMC0_BE0n_CLE.SPI3_CS0 */
> +			AM62LX_IOPAD(0x00d4, PIN_INPUT, 5) /* (N23) GPMC0_WAIT0.SPI3_D0 */
> +			AM62LX_IOPAD(0x00d8, PIN_OUTPUT, 5) /* (N22) GPMC0_WAIT1.SPI3_D1 */
> +		>;
> +	};
> +
> +	mcp23s18_reset_pins_default: mcp23s18-reset-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x00a0, PIN_OUTPUT, 4) /* (H21) GPMC0_AD10.GPIO0_25 */
> +		>;
> +	};
> +
> +	lora_control_pins_default: lora-control-default-pins {
> +		pinctrl-single,pins = <
> +			AM62LX_IOPAD(0x00c8, PIN_OUTPUT, 7) /* (M19) GPMC0_WEn.GPIO0_34 */
> +			AM62LX_IOPAD(0x00e4, PIN_OUTPUT, 7) /* (L20) GPMC0_CSn0.GPIO0_41 */
> +			AM62LX_IOPAD(0x01a4, PIN_INPUT, 7) /* (D11) SPI0_CS1.GPIO0_88 */
> +			AM62LX_IOPAD(0x01bc, PIN_INPUT, 7) /* (B14) UART0_CTSn.GPIO0_94 */
> +		>;
> +	};
> +};
> +
> +&uart0 {
> +	wakeup-source;
> +	pinctrl-0 = <&uart0_default_pins>;
> +	pinctrl-1 = <&uart0_wakeup_pins>;
> +	pinctrl-names = "default", "wakeup";
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&uart1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&uart1_default_pins>;
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&i2c0 {
> +	clock-frequency = <400000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c0_default_pins>;
> +	bootph-all;
> +	status = "okay";
> +
> +	/* EEPROM */
> +	eeprom at 50 {
> +		/* FT24C32A-ELRT */
> +		compatible = "atmel,24c32";
> +		reg = <0x50>;
> +	};
> +
> +	/* Fuel Gauge */
> +	fuel-gauge at 55 {
> +		compatible = "ti,bq27541";
> +		reg = <0x55>;
> +	};
> +
> +	/* IMU Sensor */
> +	accelerometer at 6a {
> +		compatible = "st,lsm6ds3tr-c";
> +		reg = <0x6a>;
> +		vdd-supply = <&vcc_3v3_main>;
> +		vddio-supply = <&vcc_3v3_main>;
> +	};
> +
> +	/* T&H Sensor */
> +	th-sensor at 44 {
> +		compatible = "sensirion,sht4x";
> +		reg = <0x44>;
> +	};
> +};
> +
> +&i2c1 {
> +	clock-frequency = <400000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c1_default_pins>;
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&wkup_i2c0 {
> +	clock-frequency = <400000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&wkup_i2c0_default_pins>;
> +	status = "okay";
> +
> +	tps65214: pmic at 30 {
> +		compatible = "ti,tps65214";
> +		reg = <0x30>;
> +		interrupt-parent = <&gic500>;
> +		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
> +		buck1-supply = <&vcc_3v3_main>;
> +		buck2-supply = <&vcc_3v3_main>;
> +		buck3-supply = <&vcc_3v3_main>;
> +		ldo1-supply = <&vcc_3v3_main>;
> +		ldo2-supply = <&vcc_3v3_main>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pmic_irq_default_pins>;
> +		ti,power-button;
> +
> +		regulators {
> +			buck1_reg: buck1 {
> +				regulator-name = "VDD_CORE";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt = <750000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +
> +			buck2_reg: buck2 {
> +				regulator-name = "VDD_1V8";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +
> +			buck3_reg: buck3 {
> +				regulator-name = "VDD_LPDDR4";
> +				regulator-min-microvolt = <1100000>;
> +				regulator-max-microvolt = <1100000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +
> +			ldo1_reg: ldo1 {
> +				regulator-name = "VDDA_1V8";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +
> +			ldo2_reg: ldo2 {
> +				regulator-name = "PMIC_VDD_RTC";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt = <750000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +		};
> +	};
> +};
> +
> +&gpio0 {
> +	gpio-line-names ="","","","","","","","","","",				/* 0-9 */
> +			 "","","","","","","VDD_3V3_SD_ENA","","","",		/* 10-19 */
> +			 "","","","","","MCP23S18_RESET","USR0","","","",	/* 20-29 */
> +			 "","USR1","USR2","","LORA_RESET","","","","","",	/* 30-39 */
> +			 "","LORA_RFSW","USR3","","","","","","","",		/* 40-49 */
> +			 "","VDD_WLAN_EN","WL_IRQ","","","","","","","",	/* 50-59 */
> +			 "","","","","","","","","","",				/* 60-69 */
> +			 "","","","","","","","","","",				/* 70-79 */
> +			 "","","","","","","","","LORA_BUSY","",		/* 80-89 */
> +			 "","","","","LORA_DIO","USR4","","","","",		/* 90-99 */
> +			 "","","","","USR5","","","","","";			/* 100-109 */
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&lora_control_pins_default>;
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&gpio2 {
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&wkup_gpio0 {
> +	gpio-line-names ="","SENSOR_3V3_ENA","","","","","","";			/* 0-7 */
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&sdhci1 {
> +	/* SD/MMC */
> +	vmmc-supply = <&vdd_3v3_sd>;
> +	disable-wp;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mmc1_default_pins>;
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&sdhci2 {
> +	vmmc-supply = <&wlan_en>;
> +	bus-width = <4>;
> +	non-removable;
> +	cap-power-off-card;
> +	keep-power-in-suspend;
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mmc2_pins_default>;
> +	ti,driver-strength-ohm = <50>;
> +	ti,fails-without-test-cd;
> +	status = "okay";
> +
> +	wlcore: wlcore at 2 {
> +		compatible = "ti,cc3300";
> +		reg = <2>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <52 IRQ_TYPE_EDGE_RISING>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&wlirq_pins_default>;
> +	};
> +};
> +
> +&epwm0 {
> +	status = "okay";
> +};
> +
> +&epwm1 {
> +	status = "okay";
> +};
> +
> +&ecap1 {
> +	status = "okay";
> +};
> +
> +&ecap2 {

No pinmux here? Even if you are using the default muxing, you should still add
the pinmux info for both completness and to prevent accidental pin reuse by
some future addition. Same for EPWM above and USB nodes below.

Andrew

> +	status = "okay";
> +};
> +
> +&usbss0 {
> +	ti,vbus-divider;
> +	status = "okay";
> +};
> +
> +&usb0 {
> +	usb-role-switch;
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&usbss1 {
> +	ti,vbus-divider;
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&usb1 {
> +	dr_mode = "host";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&usb1_default_pins>;
> +	bootph-all;
> +	status = "okay";
> +};
> +
> +&spi1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&spi1_pins_default>;
> +	status = "okay";
> +
> +	mcp23s18: gpio at 0 {
> +		compatible = "microchip,mcp23s18";
> +		reg = <0>;
> +		spi-max-frequency = <10000000>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		reset-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&mcp23s18_reset_pins_default>;
> +		microchip,spi-present-mask = <0x01>;
> +	};
> +};
> +
> +&spi3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&spi3_pins_default>;
> +	status = "okay";
> +
> +	sx1262_lora: lora at 0 {
> +		compatible = "rohm,dh2228fv";
> +		reg = <0>;
> +		spi-max-frequency = <10000000>;
> +	};
> +};




More information about the linux-arm-kernel mailing list