152 lines
3.6 KiB
Plaintext
152 lines
3.6 KiB
Plaintext
/*
|
|
* This is the Device Tree overlay for the IBB Home Automation Cape
|
|
* for BeagleBone, BeagleBone Black and Beaglebone Green.
|
|
*
|
|
* Copyright (c) 2015 - Ingenieurbuero Budde
|
|
* Copyright (c) 2026 - Vincent Schweiger <vincent.schweiger@getcom.de>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
/plugin/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/pinctrl/am33xx.h>
|
|
|
|
/*
|
|
* Helper to show loaded overlays under: /proc/device-tree/chosen/overlays/
|
|
*/
|
|
&{/chosen} {
|
|
overlays {
|
|
cape-bone-ibb-00A0.kernel = __TIMESTAMP__;
|
|
};
|
|
};
|
|
|
|
/*
|
|
* Free up the pins used by the cape from the pinmux helpers.
|
|
*/
|
|
&ocp {
|
|
P9_24_pinmux { status = "disabled"; }; /* uart1_txd.uart1_txd */
|
|
P9_26_pinmux { status = "disabled"; }; /* uart1_rxd.uart1_rxd */
|
|
P9_21_pinmux { status = "disabled"; }; /* spi0_d0.uart2_txd */
|
|
P9_22_pinmux { status = "disabled"; }; /* spi0_sclk.uart2_rxd */
|
|
P9_11_pinmux { status = "disabled"; }; /* gpmc_wait0.uart4_rxd_mux2 */
|
|
P9_13_pinmux { status = "disabled"; }; /* gpmc_wpn.uart4_txd_mux2 */
|
|
P9_15_pinmux { status = "disabled"; }; /* gpmc_a0.gpio1_16 */
|
|
};
|
|
|
|
&am33xx_pinmux {
|
|
bb_uart1_pins: pinmux_uart1_pins {
|
|
pinctrl-single,pins = <
|
|
AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0) /* P9_24: uart1_txd.uart1_txd */
|
|
AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_INPUT_PULLUP, MUX_MODE0) /* P9_26: uart1_rxd.uart1_rxd */
|
|
>;
|
|
};
|
|
|
|
bb_uart2_pins: pinmux_uart2_pins {
|
|
pinctrl-single,pins = <
|
|
AM33XX_PADCONF(AM335X_PIN_SPI0_D0, PIN_OUTPUT_PULLDOWN, MUX_MODE1) /* P9_21: spi0_d0.uart2_txd */
|
|
AM33XX_PADCONF(AM335X_PIN_SPI0_SCLK, PIN_INPUT_PULLUP, MUX_MODE1) /* P9_22: spi0_sclk.uart2_rxd */
|
|
>;
|
|
};
|
|
|
|
bb_uart4_pins: pinmux_uart4_pins {
|
|
pinctrl-single,pins = <
|
|
AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE6) /* P9_11: gpmc_wait0.uart4_rxd_mux2 */
|
|
AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLDOWN, MUX_MODE6) /* P9_13: gpmc_wait0.uart4_txd_mux2 */
|
|
>;
|
|
};
|
|
|
|
bb_gpio1_16_pins: pinmux_gpio1_16_pins {
|
|
pinctrl-single,pins = <
|
|
AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_INPUT, MUX_MODE7) /* P9_15: gpmc_a0.gpio1_16 */
|
|
>;
|
|
};
|
|
};
|
|
|
|
&uart1 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&bb_uart1_pins>;
|
|
};
|
|
|
|
&uart2 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&bb_uart2_pins>;
|
|
};
|
|
|
|
&uart4 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&bb_uart4_pins>;
|
|
};
|
|
|
|
&i2c2 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
/* shut up DTC warnings */
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
rtc@68 {
|
|
compatible = "maxim,ds3231";
|
|
reg = <0x68>;
|
|
};
|
|
|
|
/* PCA9546 I2C multiplexer */
|
|
i2cmux@70 {
|
|
compatible = "nxp,pca9546";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x70>;
|
|
|
|
im0: bus@0 {
|
|
compatible = "nxp,pca954x-bus";
|
|
reg = <0>;
|
|
};
|
|
im1: bus@1 {
|
|
compatible = "nxp,pca954x-bus";
|
|
reg = <1>;
|
|
};
|
|
im2: bus@2 {
|
|
compatible = "nxp,pca954x-bus";
|
|
reg = <2>;
|
|
};
|
|
im3: bus@3 {
|
|
compatible = "nxp,pca954x-bus";
|
|
reg = <3>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&{/} {
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&bb_gpio1_16_pins>;
|
|
|
|
/* avoid stupid warning */
|
|
#address-cells = <1>;
|
|
#size-celss = <0>;
|
|
|
|
rtc_mfp@1 {
|
|
label = "rtc_mfp";
|
|
gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
|
|
linux,code = <143>; /* System Wake Up */
|
|
gpio-key,wakeup;
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
i2c3 = &im0;
|
|
i2c4 = &im1;
|
|
i2c5 = &im2;
|
|
i2c6 = &im3;
|
|
};
|
|
};
|