* [PATCH v4 0/3] arm64: dts/bindings: Add support for BeagleBadge
@ 2026-05-15 15:35 Judith Mendez
2026-05-15 15:35 ` [PATCH v4 1/3] dt-bindings: arm: ti: Add am62l3-beaglebadge Judith Mendez
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Judith Mendez @ 2026-05-15 15:35 UTC (permalink / raw)
To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra
Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-arm-kernel, devicetree, linux-kernel, Andrew Davis,
Bryan Brattlof, Jason Kridner, Robert Nelson
Hi,
BeagleBoard.org BeagleBadge[1] is a compact, affordable open source
hardware [2] single board computer based on the Texas Instruments AM62L3
SoC designed for IoT and embedded applications. Add base support for
the same.
SD boot:
Link: https://gist.github.com/jmenti/8818fa277597de927dd2b42ab1d2552f
This patch series adds:
- Device tree bindings update for am62l3-badge
- Device tree source for BeagleBadge board
- Defconfig: drivers for BeagleBadge
Changelog since v3:
- Fix newline in commit messages
- Drop vendor URLs
DTS:
- Add bootph flags in wakup i2c & PMIC nodes for completeness
- Drop unneeded header files
v3
Link: https://lore.kernel.org/all/20260513233447.2713737-1-jm@ti.com/
V2
Link: https://lore.kernel.org/all/20260508230341.1891450-1-jm@ti.com/
V1
Link: https://lore.kernel.org/all/20260501233148.4180391-1-jm@ti.com/
Patch series depends on:
Link: https://lore.kernel.org/all/20260513231154.2703292-1-jm@ti.com/
[1] https://www.beagleboard.org/boards/beaglebadge
[2] https://github.com/beagleboard/BeagleBadge/blob/main/design/BeagleBadge_RevA_V0.7_SCH_251107.pdf
Judith Mendez (3):
dt-bindings: arm: ti: Add am62l3-beaglebadge
arm64: dts: ti: Add k3-am62l3-beaglebadge
arm64: defconfig: Enable drivers for BeagleBadge
.../devicetree/bindings/arm/ti/k3.yaml | 1 +
arch/arm64/boot/dts/ti/Makefile | 1 +
.../boot/dts/ti/k3-am62l3-beaglebadge.dts | 700 ++++++++++++++++++
arch/arm64/configs/defconfig | 5 +
4 files changed, 707 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts
--
2.54.0
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH v4 1/3] dt-bindings: arm: ti: Add am62l3-beaglebadge 2026-05-15 15:35 [PATCH v4 0/3] arm64: dts/bindings: Add support for BeagleBadge Judith Mendez @ 2026-05-15 15:35 ` Judith Mendez 2026-05-15 17:06 ` Conor Dooley 2026-05-15 15:35 ` [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge Judith Mendez ` (2 subsequent siblings) 3 siblings, 1 reply; 10+ messages in thread From: Judith Mendez @ 2026-05-15 15:35 UTC (permalink / raw) To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree, linux-kernel, Andrew Davis, Bryan Brattlof, Jason Kridner, Robert Nelson This board is based on ti,am62l3. https://github.com/beagleboard/BeagleBadge Signed-off-by: Judith Mendez <jm@ti.com> --- Changelog since v3: - Add missing newline in commit message - Drop beagleboard url --- Documentation/devicetree/bindings/arm/ti/k3.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml index 2a6a9441c23de..d9cd3fb712fdd 100644 --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml @@ -40,6 +40,7 @@ properties: - description: K3 AM62L3 SoC and Boards items: - enum: + - beagle,am62l3-beaglebadge - ti,am62l3-evm - const: ti,am62l3 -- 2.54.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v4 1/3] dt-bindings: arm: ti: Add am62l3-beaglebadge 2026-05-15 15:35 ` [PATCH v4 1/3] dt-bindings: arm: ti: Add am62l3-beaglebadge Judith Mendez @ 2026-05-15 17:06 ` Conor Dooley 0 siblings, 0 replies; 10+ messages in thread From: Conor Dooley @ 2026-05-15 17:06 UTC (permalink / raw) To: Judith Mendez Cc: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree, linux-kernel, Andrew Davis, Bryan Brattlof, Jason Kridner, Robert Nelson [-- Attachment #1: Type: text/plain, Size: 75 bytes --] Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge 2026-05-15 15:35 [PATCH v4 0/3] arm64: dts/bindings: Add support for BeagleBadge Judith Mendez 2026-05-15 15:35 ` [PATCH v4 1/3] dt-bindings: arm: ti: Add am62l3-beaglebadge Judith Mendez @ 2026-05-15 15:35 ` Judith Mendez 2026-05-18 13:11 ` Nishanth Menon 2026-05-15 15:35 ` [PATCH v4 3/3] arm64: defconfig: Enable drivers for BeagleBadge Judith Mendez 2026-05-18 12:49 ` [PATCH v4 0/3] arm64: dts/bindings: Add support " Nishanth Menon 3 siblings, 1 reply; 10+ messages in thread From: Judith Mendez @ 2026-05-15 15:35 UTC (permalink / raw) To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree, linux-kernel, Andrew Davis, Bryan Brattlof, Jason Kridner, Robert Nelson 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://github.com/beagleboard/BeagleBadge Co-developed-by: Andrew Davis <afd@ti.com> Signed-off-by: Andrew Davis <afd@ti.com> Signed-off-by: Judith Mendez <jm@ti.com> --- Changelog since v3: - Add missing newline in commit message - Drop beagleboard URL - Drop uneeded header files - Add boothph flags in wkup_i2c0 & PMC nodes --- arch/arm64/boot/dts/ti/Makefile | 1 + .../boot/dts/ti/k3-am62l3-beaglebadge.dts | 700 ++++++++++++++++++ 2 files changed, 701 insertions(+) create mode 100644 arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile index 5269c9619b65c..4e377ca011cd8 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-beaglebadge.dtb # Boards with AM62Px SoC dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts b/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts new file mode 100644 index 0000000000000..30fc9c83b1f44 --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts @@ -0,0 +1,700 @@ +// 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 "k3-am62l3.dtsi" +#include "k3-pinctrl.h" + +/ { + compatible = "beagle,am62l3-beaglebadge", "ti,am62l3"; + model = "BeagleBoard.org BeagleBadge"; + + chosen { + stdout-path = &uart0; + }; + + aliases { + gpio0 = &gpio0; + gpio2 = &wkup_gpio0; + i2c0 = &i2c0; + i2c1 = &i2c1; + i2c2 = &i2c2; + i2c4 = &wkup_i2c0; + mmc1 = &sdhci1; + mmc2 = &sdhci2; + serial3 = &uart1; + usb0 = &usb0; + usb1 = &usb1; + }; + + memory@80000000 { + /* 256MB */ + reg = <0x00000000 0x80000000 0x00000000 0x10000000>; + device_type = "memory"; + bootph-all; + }; + + thermal-zones { + wkup0-thermal { + polling-delay-passive = <250>; /* milliSeconds */ + polling-delay = <500>; /* milliSeconds */ + thermal-sensors = <&vtm0 0>; + + trips { + crit0 { + temperature = <125000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + }; + }; + + gpio_keys: gpio-keys { + compatible = "gpio-keys"; + autorepeat; + + 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"; + + multi-led { + color = <LED_COLOR_ID_RGB>; + max-brightness = <255>; + + led-red { + pwms = <&ecap2 0 10000000 0>; + color = <LED_COLOR_ID_RED>; + }; + + led-green { + pwms = <&ecap1 0 10000000 0>; + color = <LED_COLOR_ID_GREEN>; + }; + + led-blue { + pwms = <&epwm1 1 10000000 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>; + }; + + 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 = <&vcc_3v3_main>; + 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_pins_default>; + 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_pins_default>; + 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_pins_default: 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_pins_wakeup: 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_pins_default: uart1-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x019c, PIN_OUTPUT, 2) /* (A12) MCASP0_ACLKR.UART1_TXD */ + AM62LX_IOPAD(0x0198, PIN_INPUT, 2) /* (C11) MCASP0_AFSR.UART1_RXD */ + AM62LX_IOPAD(0x0180, PIN_INPUT, 2) /* (A8) MCASP0_AXR3.UART1_CTSn */ + AM62LX_IOPAD(0x0184, PIN_OUTPUT, 2) /* (B10) MCASP0_AXR2.UART1_RTSn */ + >; + bootph-all; + }; + + usr_button_pins_default: 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_pins_default: 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_pins_default: 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; + }; + + i2c2_qwiic_pins_default: i2c2-qwiic-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x01dc, PIN_INPUT_PULLUP, 0) /* (B8) I2C2_SCL */ + AM62LX_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (D8) I2C2_SDA */ + >; + bootph-all; + }; + + vdd_3v3_sd_ena_pins_default: 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_pins_default: sensor-3v3-ena-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x004, PIN_OUTPUT, 7) /* (AA23) WKUP_UART0_TXD.WKUP_GPIO0_1 */ + >; + }; + + mmc1_pins_default: 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, 7) /* (B6) MMC1_SDCD.GPIO0_122 */ + >; + 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-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x0110, PIN_OUTPUT, 7) /* (T20) MMC2_SDCD.GPIO0_51 */ + >; + }; + + usb1_pins_default: 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_pins_default: pwm-beeper-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x00b0, PIN_OUTPUT, 4) /* (F22) GPMC0_AD14.EHRPWM0_B */ + >; + }; + + pmic_irq_pins_default: pmic-irq-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x01e8, PIN_INPUT, 0) /* (C8) EXTINTn */ + >; + bootph-all; + }; + + wkup_i2c0_pins_default: 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_ecap2_pins_default: rgb-led-ecap2-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x0190, PIN_OUTPUT, 2) /* (A11) MCASP0_ACLKX.ECAP2_IN_APWM_OUT */ + >; + }; + + rgb_led_ecap1_pins_default: rgb-led-ecap1-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x0188, PIN_OUTPUT, 2) /* (A9) MCASP0_AXR1.ECAP1_IN_APWM_OUT */ + >; + }; + + rgb_led_epwm1_pins_default: rgb-led-epwm1-default-pins { + pinctrl-single,pins = < + 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, 7) /* (H21) GPMC0_AD10.GPIO0_25 */ + >; + }; + + epwm2_pins_default: epwm2-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x00c4, PIN_OUTPUT, 4) /* (N20) GPMC0_OEn_REn.EHRPWM2_A */ + >; + }; + + 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 */ + >; + }; + + gpio0_pins_default: gpio0-default-pins { + pinctrl-single,pins = < + AM62LX_IOPAD(0x0078, PIN_OUTPUT, 7) /* (L22) GPMC0_AD0.GPIO0_15 */ + AM62LX_IOPAD(0x00e0, PIN_INPUT, 7) /* (M21) GPMC0_DIR.GPIO0_40 */ + AM62LX_IOPAD(0x00ec, PIN_OUTPUT, 7) /* (M23) GPMC0_CSn2.GPIO0_43 */ + AM62LX_IOPAD(0x00f0, PIN_INPUT, 7) /* (M22) GPMC0_CSn3.GPIO0_44 */ + AM62LX_IOPAD(0x0194, PIN_OUTPUT, 7) /* (B11) MCASP0_AFSX.GPIO0_84 */ + >; + }; +}; + +&uart0 { + wakeup-source; + pinctrl-0 = <&uart0_pins_default>; + pinctrl-1 = <&uart0_pins_wakeup>; + pinctrl-names = "default", "wakeup"; + bootph-all; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins_default>; + bootph-all; + status = "okay"; +}; + +&i2c0 { + clock-frequency = <400000>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins_default>; + bootph-all; + status = "okay"; + + /* T&H Sensor */ + th-sensor@44 { + compatible = "sensirion,sht4x"; + reg = <0x44>; + }; + + /* EEPROM */ + eeprom@50 { + /* FT24C32A-ELRT */ + compatible = "atmel,24c32"; + reg = <0x50>; + }; + + /* Fuel Gauge */ + fuel-gauge@55 { + compatible = "ti,bq27541"; + reg = <0x55>; + }; + + /* IMU Sensor */ + accelerometer@6a { + compatible = "st,lsm6ds3tr-c"; + reg = <0x6a>; + vdd-supply = <&vcc_3v3_main>; + vddio-supply = <&vcc_3v3_main>; + }; +}; + +&i2c1 { + clock-frequency = <400000>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins_default>; + bootph-all; + status = "okay"; +}; + +&i2c2 { + clock-frequency = <400000>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_qwiic_pins_default>; + bootph-all; + status = "okay"; +}; + +&wkup_i2c0 { + clock-frequency = <400000>; + pinctrl-names = "default"; + pinctrl-0 = <&wkup_i2c0_pins_default>; + bootph-all; + status = "okay"; + + tps65214: pmic@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_pins_default>; + ti,power-button; + bootph-all; + + 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 */ + "","","","","","BOOST_5V_ENA","VDD_3V3_SD_ENA","","","", /* 10-19 */ + "","","","","","MCP23S18_RESET","BTN_SELECT","","","", /* 20-29 */ + "","BTN_LEFT","BTN_UP","","LORA_RESET","","","","","", /* 30-39 */ + "FUEL_GAUGE_BATLOW","LORA_RFSW","BTN_DOWN","USB_HUB_RST","MIKROBUS_INT","","","","","", /* 40-49 */ + "","WLAN_EN","","","","","","","","", /* 50-59 */ + "","","","","","","","","","", /* 60-69 */ + "","","","","","","","","","", /* 70-79 */ + "","","","","MIKROBUS_RST","","","","LORA_BUSY","", /* 80-89 */ + "","","","","LORA_DIO","BTN_RIGHT","","","","", /* 90-99 */ + "","","","","BTN_BACK","","","","","", /* 100-109 */ + "","","","","","","","","","", /* 110-119 */ + "","","SD_CD","","",""; /* 120-125 */ + pinctrl-names = "default"; + pinctrl-0 = <&gpio0_pins_default>, <&usr_button_pins_default>, <&lora_control_pins_default>; + 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; + cd-gpios = <&gpio0 122 GPIO_ACTIVE_LOW>; + cd-debounce-delay-ms = <100>; + ti,fails-without-test-cd; + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_default>; + bootph-all; + status = "okay"; +}; + +&sdhci2 { + vmmc-supply = <&wlan_en>; + bus-width = <4>; + non-removable; + cap-power-off-card; + keep-power-in-suspend; + pinctrl-names = "default"; + pinctrl-0 = <&mmc2_pins_default>; + ti,driver-strength-ohm = <50>; + ti,fails-without-test-cd; + status = "okay"; +}; + +&epwm0 { + pinctrl-names = "default"; + pinctrl-0 = <&pwm_beeper_pins_default>; + status = "okay"; +}; + +&epwm1 { + pinctrl-names = "default"; + pinctrl-0 = <&rgb_led_epwm1_pins_default>; + status = "okay"; +}; + +&epwm2 { + pinctrl-names = "default"; + pinctrl-0 = <&epwm2_pins_default>; + status = "okay"; +}; + +&ecap1 { + pinctrl-names = "default"; + pinctrl-0 = <&rgb_led_ecap1_pins_default>; + status = "okay"; +}; + +&ecap2 { + pinctrl-names = "default"; + pinctrl-0 = <&rgb_led_ecap2_pins_default>; + 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_pins_default>; + bootph-all; + status = "okay"; +}; + +&spi1 { + pinctrl-names = "default"; + pinctrl-0 = <&spi1_pins_default>; + status = "okay"; + + mcp23s18: gpio@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 = /bits/ 8 <0x01>; + }; +}; + +&spi3 { + pinctrl-names = "default"; + pinctrl-0 = <&spi3_pins_default>; + status = "okay"; +}; -- 2.54.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge 2026-05-15 15:35 ` [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge Judith Mendez @ 2026-05-18 13:11 ` Nishanth Menon 2026-05-26 21:53 ` Judith Mendez 0 siblings, 1 reply; 10+ messages in thread From: Nishanth Menon @ 2026-05-18 13:11 UTC (permalink / raw) To: Judith Mendez Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree, linux-kernel, Andrew Davis, Bryan Brattlof, Jason Kridner, Robert Nelson On 10:35-20260515, 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://github.com/beagleboard/BeagleBadge Why not use https://www.beagleboard.org/boards/beaglebadge ? > > Co-developed-by: Andrew Davis <afd@ti.com> > Signed-off-by: Andrew Davis <afd@ti.com> > Signed-off-by: Judith Mendez <jm@ti.com> > --- > Changelog since v3: > - Add missing newline in commit message > - Drop beagleboard URL > - Drop uneeded header files > - Add boothph flags in wkup_i2c0 & PMC nodes > --- > arch/arm64/boot/dts/ti/Makefile | 1 + > .../boot/dts/ti/k3-am62l3-beaglebadge.dts | 700 ++++++++++++++++++ > 2 files changed, 701 insertions(+) > create mode 100644 arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts > > diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile > index 5269c9619b65c..4e377ca011cd8 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-beaglebadge.dtb > > # Boards with AM62Px SoC > dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb > diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts b/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts > new file mode 100644 > index 0000000000000..30fc9c83b1f44 > --- /dev/null > +++ b/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts > @@ -0,0 +1,700 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * https://www.beagleboard.org/boards/beaglebadge > + * > + * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/ Seeing the tags, I assume no BeagleBoard.org member contributions? > + */ > + > +/dts-v1/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > +#include <dt-bindings/leds/common.h> > +#include "k3-am62l3.dtsi" > +#include "k3-pinctrl.h" > + > +/ { > + compatible = "beagle,am62l3-beaglebadge", "ti,am62l3"; > + model = "BeagleBoard.org BeagleBadge"; > + > + chosen { > + stdout-path = &uart0; > + }; > + > + aliases { > + gpio0 = &gpio0; > + gpio2 = &wkup_gpio0; > + i2c0 = &i2c0; > + i2c1 = &i2c1; > + i2c2 = &i2c2; > + i2c4 = &wkup_i2c0; > + mmc1 = &sdhci1; > + mmc2 = &sdhci2; > + serial3 = &uart1; > + usb0 = &usb0; > + usb1 = &usb1; is this valid? git grep of_alias_ driver/usb/ am I missing something? > + }; > + > + memory@80000000 { > + /* 256MB */ > + reg = <0x00000000 0x80000000 0x00000000 0x10000000>; > + device_type = "memory"; > + bootph-all; > + }; > + > + thermal-zones { > + wkup0-thermal { > + polling-delay-passive = <250>; /* milliSeconds */ > + polling-delay = <500>; /* milliSeconds */ > + thermal-sensors = <&vtm0 0>; > + > + trips { > + crit0 { > + temperature = <125000>; > + hysteresis = <2000>; > + type = "critical"; > + }; > + }; > + }; > + }; This is better done by having something like arch/arm64/boot/dts/ti/k3-am62l-industrial-thermal.dtsi [..] > + > + 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; Why sensor supply is always on? > + enable-active-high; > + gpio = <&wkup_gpio0 1 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&sensor_3v3_ena_pins_default>; > + 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>; > + }; > +}; > + [..] > + > + usr_button_pins_default: 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 */ > + >; > + }; no wakeup from usr buttons? [...] > +}; > + > +&gpio0 { > + gpio-line-names ="","","","","","","","","","", /* 0-9 */ space after that = > + "","","","","","BOOST_5V_ENA","VDD_3V3_SD_ENA","","","", /* 10-19 */ > + "","","","","","MCP23S18_RESET","BTN_SELECT","","","", /* 20-29 */ > + "","BTN_LEFT","BTN_UP","","LORA_RESET","","","","","", /* 30-39 */ > + "FUEL_GAUGE_BATLOW","LORA_RFSW","BTN_DOWN","USB_HUB_RST","MIKROBUS_INT","","","","","", /* 40-49 */ > + "","WLAN_EN","","","","","","","","", /* 50-59 */ > + "","","","","","","","","","", /* 60-69 */ > + "","","","","","","","","","", /* 70-79 */ > + "","","","","MIKROBUS_RST","","","","LORA_BUSY","", /* 80-89 */ > + "","","","","LORA_DIO","BTN_RIGHT","","","","", /* 90-99 */ > + "","","","","BTN_BACK","","","","","", /* 100-109 */ > + "","","","","","","","","","", /* 110-119 */ > + "","","SD_CD","","",""; /* 120-125 */ Could you keep these under 100 chars? > + pinctrl-names = "default"; > + pinctrl-0 = <&gpio0_pins_default>, <&usr_button_pins_default>, <&lora_control_pins_default>; > + bootph-all; > + status = "okay"; > +}; > + > +&wkup_gpio0 { > + gpio-line-names ="","SENSOR_3V3_ENA","","","","","",""; /* 0-7 */ same > + bootph-all; > + status = "okay"; > +}; > + > +&sdhci1 { > + /* SD/MMC */ > + vmmc-supply = <&vdd_3v3_sd>; > + disable-wp; > + cd-gpios = <&gpio0 122 GPIO_ACTIVE_LOW>; > + cd-debounce-delay-ms = <100>; > + ti,fails-without-test-cd; > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc1_pins_default>; > + bootph-all; > + status = "okay"; > +}; > + > +&sdhci2 { > + vmmc-supply = <&wlan_en>; > + bus-width = <4>; > + non-removable; > + cap-power-off-card; > + keep-power-in-suspend; > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc2_pins_default>; > + ti,driver-strength-ohm = <50>; > + ti,fails-without-test-cd; > + status = "okay"; > +}; Why not introduce the sdhci2 and supplies once we get wlan driver in upstream? [...] -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D https://ti.com/opensource ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge 2026-05-18 13:11 ` Nishanth Menon @ 2026-05-26 21:53 ` Judith Mendez 2026-05-26 22:36 ` Judith Mendez 0 siblings, 1 reply; 10+ messages in thread From: Judith Mendez @ 2026-05-26 21:53 UTC (permalink / raw) To: Nishanth Menon Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree, linux-kernel, Andrew Davis, Bryan Brattlof, Jason Kridner, Robert Nelson On 5/18/26 8:11 AM, Nishanth Menon wrote: > On 10:35-20260515, 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://github.com/beagleboard/BeagleBadge > > Why not use https://www.beagleboard.org/boards/beaglebadge ? Will switch link >> >> Co-developed-by: Andrew Davis <afd@ti.com> >> Signed-off-by: Andrew Davis <afd@ti.com> >> Signed-off-by: Judith Mendez <jm@ti.com> >> --- >> Changelog since v3: >> - Add missing newline in commit message >> - Drop beagleboard URL >> - Drop uneeded header files >> - Add boothph flags in wkup_i2c0 & PMC nodes >> --- >> arch/arm64/boot/dts/ti/Makefile | 1 + >> .../boot/dts/ti/k3-am62l3-beaglebadge.dts | 700 ++++++++++++++++++ >> 2 files changed, 701 insertions(+) >> create mode 100644 arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts >> >> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile >> index 5269c9619b65c..4e377ca011cd8 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-beaglebadge.dtb >> >> # Boards with AM62Px SoC >> dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb >> diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts b/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts >> new file mode 100644 >> index 0000000000000..30fc9c83b1f44 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts >> @@ -0,0 +1,700 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/* >> + * https://www.beagleboard.org/boards/beaglebadge >> + * >> + * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/ > > Seeing the tags, I assume no BeagleBoard.org member contributions? Not yet ^.^ > >> + */ >> + >> +/dts-v1/; >> + >> +#include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/input/input.h> >> +#include <dt-bindings/leds/common.h> >> +#include "k3-am62l3.dtsi" >> +#include "k3-pinctrl.h" >> + >> +/ { >> + compatible = "beagle,am62l3-beaglebadge", "ti,am62l3"; >> + model = "BeagleBoard.org BeagleBadge"; >> + >> + chosen { >> + stdout-path = &uart0; >> + }; >> + >> + aliases { >> + gpio0 = &gpio0; >> + gpio2 = &wkup_gpio0; >> + i2c0 = &i2c0; >> + i2c1 = &i2c1; >> + i2c2 = &i2c2; >> + i2c4 = &wkup_i2c0; >> + mmc1 = &sdhci1; >> + mmc2 = &sdhci2; >> + serial3 = &uart1; >> + usb0 = &usb0; >> + usb1 = &usb1; > > is this valid? > git grep of_alias_ driver/usb/ > > am I missing something? > >> + }; >> + >> + memory@80000000 { >> + /* 256MB */ >> + reg = <0x00000000 0x80000000 0x00000000 0x10000000>; >> + device_type = "memory"; >> + bootph-all; >> + }; >> + >> + thermal-zones { >> + wkup0-thermal { >> + polling-delay-passive = <250>; /* milliSeconds */ >> + polling-delay = <500>; /* milliSeconds */ >> + thermal-sensors = <&vtm0 0>; >> + >> + trips { >> + crit0 { >> + temperature = <125000>; >> + hysteresis = <2000>; >> + type = "critical"; >> + }; >> + }; >> + }; >> + }; > > This is better done by having something like > arch/arm64/boot/dts/ti/k3-am62l-industrial-thermal.dtsi I am following what k3-am62l3-evm.dts is doing [0], we moved thermal-zones node to the board file instead of defining in thermal.dtsi [0] https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts#L61 > > [..] > >> + >> + 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; > > Why sensor supply is always on? No special reason, I can remove to help with power saving. > >> + enable-active-high; >> + gpio = <&wkup_gpio0 1 GPIO_ACTIVE_HIGH>; >> + pinctrl-names = "default"; >> + pinctrl-0 = <&sensor_3v3_ena_pins_default>; >> + 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>; >> + }; >> +}; >> + > > [..] > >> + >> + usr_button_pins_default: 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 */ >> + >; >> + }; > > no wakeup from usr buttons? RTC wakeup node is not in upstream tree, so no, user button wakeup support is not enabled yet. > > [...] > >> +}; >> + >> +&gpio0 { >> + gpio-line-names ="","","","","","","","","","", /* 0-9 */ > > space after that = Will fix. > >> + "","","","","","BOOST_5V_ENA","VDD_3V3_SD_ENA","","","", /* 10-19 */ >> + "","","","","","MCP23S18_RESET","BTN_SELECT","","","", /* 20-29 */ >> + "","BTN_LEFT","BTN_UP","","LORA_RESET","","","","","", /* 30-39 */ >> + "FUEL_GAUGE_BATLOW","LORA_RFSW","BTN_DOWN","USB_HUB_RST","MIKROBUS_INT","","","","","", /* 40-49 */ >> + "","WLAN_EN","","","","","","","","", /* 50-59 */ >> + "","","","","","","","","","", /* 60-69 */ >> + "","","","","","","","","","", /* 70-79 */ >> + "","","","","MIKROBUS_RST","","","","LORA_BUSY","", /* 80-89 */ >> + "","","","","LORA_DIO","BTN_RIGHT","","","","", /* 90-99 */ >> + "","","","","BTN_BACK","","","","","", /* 100-109 */ >> + "","","","","","","","","","", /* 110-119 */ >> + "","","SD_CD","","",""; /* 120-125 */ > > Could you keep these under 100 chars? I could for most of these lines I believe, but it will completely mess up the alignment in comments, If that is fine, I will fix. (: > >> + pinctrl-names = "default"; >> + pinctrl-0 = <&gpio0_pins_default>, <&usr_button_pins_default>, <&lora_control_pins_default>; >> + bootph-all; >> + status = "okay"; >> +}; >> + >> +&wkup_gpio0 { >> + gpio-line-names ="","SENSOR_3V3_ENA","","","","","",""; /* 0-7 */ > > same > >> + bootph-all; >> + status = "okay"; >> +}; >> + >> +&sdhci1 { >> + /* SD/MMC */ >> + vmmc-supply = <&vdd_3v3_sd>; >> + disable-wp; >> + cd-gpios = <&gpio0 122 GPIO_ACTIVE_LOW>; >> + cd-debounce-delay-ms = <100>; >> + ti,fails-without-test-cd; >> + pinctrl-names = "default"; >> + pinctrl-0 = <&mmc1_pins_default>; >> + bootph-all; >> + status = "okay"; >> +}; >> + >> +&sdhci2 { >> + vmmc-supply = <&wlan_en>; >> + bus-width = <4>; >> + non-removable; >> + cap-power-off-card; >> + keep-power-in-suspend; >> + pinctrl-names = "default"; >> + pinctrl-0 = <&mmc2_pins_default>; >> + ti,driver-strength-ohm = <50>; >> + ti,fails-without-test-cd; >> + status = "okay"; >> +}; > > Why not introduce the sdhci2 and supplies once we get wlan driver in > upstream? I can do that. NP. ~ Judith ... ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge 2026-05-26 21:53 ` Judith Mendez @ 2026-05-26 22:36 ` Judith Mendez 0 siblings, 0 replies; 10+ messages in thread From: Judith Mendez @ 2026-05-26 22:36 UTC (permalink / raw) To: Nishanth Menon Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree, linux-kernel, Andrew Davis, Bryan Brattlof, Jason Kridner, Robert Nelson Hi Nishanth, On 5/26/26 4:53 PM, Judith Mendez wrote: > On 5/18/26 8:11 AM, Nishanth Menon wrote: >> On 10:35-20260515, 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://github.com/beagleboard/BeagleBadge >> >> Why not use https://www.beagleboard.org/boards/beaglebadge ? > > Will switch link > >>> >>> Co-developed-by: Andrew Davis <afd@ti.com> >>> Signed-off-by: Andrew Davis <afd@ti.com> >>> Signed-off-by: Judith Mendez <jm@ti.com> >>> --- >>> Changelog since v3: >>> - Add missing newline in commit message >>> - Drop beagleboard URL >>> - Drop uneeded header files >>> - Add boothph flags in wkup_i2c0 & PMC nodes >>> --- >>> arch/arm64/boot/dts/ti/Makefile | 1 + >>> .../boot/dts/ti/k3-am62l3-beaglebadge.dts | 700 ++++++++++++++++++ >>> 2 files changed, 701 insertions(+) >>> create mode 100644 arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts >>> >>> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ >>> ti/Makefile >>> index 5269c9619b65c..4e377ca011cd8 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-beaglebadge.dtb >>> # Boards with AM62Px SoC >>> dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb >>> diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts b/arch/ >>> arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts >>> new file mode 100644 >>> index 0000000000000..30fc9c83b1f44 >>> --- /dev/null >>> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts >>> @@ -0,0 +1,700 @@ >>> +// SPDX-License-Identifier: GPL-2.0 >>> +/* >>> + * https://www.beagleboard.org/boards/beaglebadge >>> + * >>> + * Copyright (C) 2026 Texas Instruments Incorporated - https:// >>> www.ti.com/ >> >> Seeing the tags, I assume no BeagleBoard.org member contributions? > > Not yet ^.^ > >> >>> + */ >>> + >>> +/dts-v1/; >>> + >>> +#include <dt-bindings/gpio/gpio.h> >>> +#include <dt-bindings/input/input.h> >>> +#include <dt-bindings/leds/common.h> >>> +#include "k3-am62l3.dtsi" >>> +#include "k3-pinctrl.h" >>> + >>> +/ { >>> + compatible = "beagle,am62l3-beaglebadge", "ti,am62l3"; >>> + model = "BeagleBoard.org BeagleBadge"; >>> + >>> + chosen { >>> + stdout-path = &uart0; >>> + }; >>> + >>> + aliases { >>> + gpio0 = &gpio0; >>> + gpio2 = &wkup_gpio0; >>> + i2c0 = &i2c0; >>> + i2c1 = &i2c1; >>> + i2c2 = &i2c2; >>> + i2c4 = &wkup_i2c0; >>> + mmc1 = &sdhci1; >>> + mmc2 = &sdhci2; >>> + serial3 = &uart1; >>> + usb0 = &usb0; >>> + usb1 = &usb1; >> >> is this valid? >> git grep of_alias_ driver/usb/ >> >> am I missing something? Missed this one, actually I had originally copied alias list from beagleplay [0], but checking once, seems like these aliases are not needed, so will remove for Badge & beagleplay as well. ~ Judith ... ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 3/3] arm64: defconfig: Enable drivers for BeagleBadge 2026-05-15 15:35 [PATCH v4 0/3] arm64: dts/bindings: Add support for BeagleBadge Judith Mendez 2026-05-15 15:35 ` [PATCH v4 1/3] dt-bindings: arm: ti: Add am62l3-beaglebadge Judith Mendez 2026-05-15 15:35 ` [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge Judith Mendez @ 2026-05-15 15:35 ` Judith Mendez 2026-05-18 12:49 ` [PATCH v4 0/3] arm64: dts/bindings: Add support " Nishanth Menon 3 siblings, 0 replies; 10+ messages in thread From: Judith Mendez @ 2026-05-15 15:35 UTC (permalink / raw) To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree, linux-kernel, Andrew Davis, Bryan Brattlof, Jason Kridner, Robert Nelson Enable drivers used on BeagleBadge[1]: - LED PWM Multicolor driver as a module - MCP SPI IO Expander driver as a module - Seven Segment display GPIO driver as module - Temperature Sensor driver as a module [1] https://github.com/beagleboard/BeagleBadge Signed-off-by: Judith Mendez <jm@ti.com> --- Changelog since v3: - Add missing newline in commit message --- arch/arm64/configs/defconfig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index d905a0777f939..5cfb7f6f2ae78 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -634,6 +634,7 @@ CONFIG_PINCTRL_BRCMSTB=y CONFIG_PINCTRL_BCM2712=y CONFIG_PINCTRL_DA9062=m CONFIG_PINCTRL_MAX77620=y +CONFIG_PINCTRL_MCP23S08=m CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SINGLE=y CONFIG_PINCTRL_SX150X=m @@ -766,6 +767,7 @@ CONFIG_SENSORS_LM90=m CONFIG_SENSORS_PWM_FAN=m CONFIG_SENSORS_RASPBERRYPI_HWMON=m CONFIG_SENSORS_SL28CPLD=m +CONFIG_SENSORS_SHT4x=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m @@ -955,6 +957,8 @@ CONFIG_VIDEO_IMX412=m CONFIG_VIDEO_OV5640=m CONFIG_VIDEO_OV5645=m CONFIG_VIDEO_S5KJN1=m +CONFIG_AUXDISPLAY=y +CONFIG_SEG_LED_GPIO=m CONFIG_DRM=m CONFIG_DRM_I2C_NXP_TDA998X=m CONFIG_DRM_HDLCD=m @@ -1332,6 +1336,7 @@ CONFIG_LEDS_GPIO=y CONFIG_LEDS_PWM=y CONFIG_LEDS_SYSCON=y CONFIG_LEDS_QCOM_FLASH=m +CONFIG_LEDS_PWM_MULTICOLOR=m CONFIG_LEDS_QCOM_LPG=m CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_DISK=y -- 2.54.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v4 0/3] arm64: dts/bindings: Add support for BeagleBadge 2026-05-15 15:35 [PATCH v4 0/3] arm64: dts/bindings: Add support for BeagleBadge Judith Mendez ` (2 preceding siblings ...) 2026-05-15 15:35 ` [PATCH v4 3/3] arm64: defconfig: Enable drivers for BeagleBadge Judith Mendez @ 2026-05-18 12:49 ` Nishanth Menon 2026-05-26 18:11 ` Judith Mendez 3 siblings, 1 reply; 10+ messages in thread From: Nishanth Menon @ 2026-05-18 12:49 UTC (permalink / raw) To: Judith Mendez Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree, linux-kernel, Andrew Davis, Bryan Brattlof, Jason Kridner, Robert Nelson On 10:35-20260515, Judith Mendez wrote: > Hi, > > BeagleBoard.org BeagleBadge[1] is a compact, affordable open source > hardware [2] single board computer based on the Texas Instruments AM62L3 > SoC designed for IoT and embedded applications. Add base support for > the same. > > SD boot: > Link: https://gist.github.com/jmenti/8818fa277597de927dd2b42ab1d2552f in all patches, Is https://www.beagleboard.org/boards/beaglebadge a better canonical link? Robert/Jason: for some reason https://www.beagleboard.org/boards does'nt list it. Is there a reason? > > This patch series adds: > - Device tree bindings update for am62l3-badge > - Device tree source for BeagleBadge board > - Defconfig: drivers for BeagleBadge > > Changelog since v3: > - Fix newline in commit messages > - Drop vendor URLs > DTS: > - Add bootph flags in wakup i2c & PMIC nodes for completeness > - Drop unneeded header files > > v3 > Link: https://lore.kernel.org/all/20260513233447.2713737-1-jm@ti.com/ > V2 > Link: https://lore.kernel.org/all/20260508230341.1891450-1-jm@ti.com/ > V1 > Link: https://lore.kernel.org/all/20260501233148.4180391-1-jm@ti.com/ > > Patch series depends on: > Link: https://lore.kernel.org/all/20260513231154.2703292-1-jm@ti.com/ > > [1] https://www.beagleboard.org/boards/beaglebadge > [2] https://github.com/beagleboard/BeagleBadge/blob/main/design/BeagleBadge_RevA_V0.7_SCH_251107.pdf > > Judith Mendez (3): > dt-bindings: arm: ti: Add am62l3-beaglebadge > arm64: dts: ti: Add k3-am62l3-beaglebadge > arm64: defconfig: Enable drivers for BeagleBadge > > .../devicetree/bindings/arm/ti/k3.yaml | 1 + > arch/arm64/boot/dts/ti/Makefile | 1 + > .../boot/dts/ti/k3-am62l3-beaglebadge.dts | 700 ++++++++++++++++++ > arch/arm64/configs/defconfig | 5 + > 4 files changed, 707 insertions(+) > create mode 100644 arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts > > -- > 2.54.0 > -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D https://ti.com/opensource ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 0/3] arm64: dts/bindings: Add support for BeagleBadge 2026-05-18 12:49 ` [PATCH v4 0/3] arm64: dts/bindings: Add support " Nishanth Menon @ 2026-05-26 18:11 ` Judith Mendez 0 siblings, 0 replies; 10+ messages in thread From: Judith Mendez @ 2026-05-26 18:11 UTC (permalink / raw) To: Nishanth Menon Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree, linux-kernel, Andrew Davis, Bryan Brattlof, Jason Kridner, Robert Nelson Hi Nishanth, On 5/18/26 7:49 AM, Nishanth Menon wrote: > On 10:35-20260515, Judith Mendez wrote: >> Hi, >> >> BeagleBoard.org BeagleBadge[1] is a compact, affordable open source >> hardware [2] single board computer based on the Texas Instruments AM62L3 >> SoC designed for IoT and embedded applications. Add base support for >> the same. >> >> SD boot: >> Link: https://gist.github.com/jmenti/8818fa277597de927dd2b42ab1d2552f > > in all patches, > Is https://www.beagleboard.org/boards/beaglebadge a better canonical > link? I can switch links, it seems to be working now. ... ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-05-26 22:36 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-05-15 15:35 [PATCH v4 0/3] arm64: dts/bindings: Add support for BeagleBadge Judith Mendez 2026-05-15 15:35 ` [PATCH v4 1/3] dt-bindings: arm: ti: Add am62l3-beaglebadge Judith Mendez 2026-05-15 17:06 ` Conor Dooley 2026-05-15 15:35 ` [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge Judith Mendez 2026-05-18 13:11 ` Nishanth Menon 2026-05-26 21:53 ` Judith Mendez 2026-05-26 22:36 ` Judith Mendez 2026-05-15 15:35 ` [PATCH v4 3/3] arm64: defconfig: Enable drivers for BeagleBadge Judith Mendez 2026-05-18 12:49 ` [PATCH v4 0/3] arm64: dts/bindings: Add support " Nishanth Menon 2026-05-26 18:11 ` Judith Mendez
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox