diff --git a/include/dt-bindings/input/linux-event-codes.h b/include/dt-bindings/input/linux-event-codes.h index 225ec87d4..7989d9483 100644 --- a/include/dt-bindings/input/linux-event-codes.h +++ b/include/dt-bindings/input/linux-event-codes.h @@ -278,7 +278,8 @@ #define KEY_PAUSECD 201 #define KEY_PROG3 202 #define KEY_PROG4 203 -#define KEY_DASHBOARD 204 /* AL Dashboard */ +#define KEY_ALL_APPLICATIONS 204 /* AC Desktop Show All Applications */ +#define KEY_DASHBOARD KEY_ALL_APPLICATIONS #define KEY_SUSPEND 205 #define KEY_CLOSE 206 /* AC Close */ #define KEY_PLAY 207 @@ -612,6 +613,7 @@ #define KEY_ASSISTANT 0x247 /* AL Context-aware desktop assistant */ #define KEY_KBD_LAYOUT_NEXT 0x248 /* AC Next Keyboard Layout Select */ #define KEY_EMOJI_PICKER 0x249 /* Show/hide emoji picker (HUTRR101) */ +#define KEY_DICTATE 0x24a /* Start or Stop Voice Dictation Session (HUTRR99) */ #define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */ #define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */ diff --git a/src/arm/am335x-boneblack-bbbmini.dts b/src/arm/am335x-boneblack-bbbmini.dts new file mode 100644 index 000000000..f2be7d34c --- /dev/null +++ b/src/arm/am335x-boneblack-bbbmini.dts @@ -0,0 +1,203 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/ + * Modified by Mirko Denecke + * Updated by Vinicius Juvinski + */ +/dts-v1/; + +#include "am33xx.dtsi" +#include "am335x-bone-common.dtsi" +#include + +/ { + model = "TI AM335x BeagleBone Black"; + compatible = "ti,am335x-bone-green","ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; +}; + +&ldo3_reg { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; +}; + +&mmc1 { + vmmc-supply = <&vmmcsd_fixed>; +}; + +&mmc2 { + vmmc-supply = <&vmmcsd_fixed>; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_pins>; + bus-width = <8>; + status = "okay"; +}; + +&cpu0_opp_table { + /* + * All PG 2.0 silicon may not support 1GHz but some of the early + * BeagleBone Blacks have PG 2.0 silicon which is guaranteed + * to support 1GHz OPP so enable it for PG 2.0 on this board. + */ + oppnitro-1000000000 { + opp-supported-hw = <0x06 0x0100>; + }; +}; + +&am33xx_pinmux { + dcan1_pins: pinmux_dcan1_pins { + pinctrl-single,pins = < + /* P9_26: uart1_rxd.d_can1_tx */ + AM33XX_IOPAD(0x0980, (PIN_OUTPUT_PULLUP | MUX_MODE2)) + /* P9_24: uart1_txd.d_can1_rx */ + AM33XX_IOPAD(0x0984,(PIN_INPUT_PULLUP | MUX_MODE2)) + >; + }; + + pru_pins: pinmux_pru_pins { + pinctrl-single,pins = < + 0x03c 0x35 /* ecap0_in_pwm0_out.pr1_ecap0_ecap_capin, MODE5 | INPUT_PULLUP | PRU, PPM-sum, SBUS, DSM */ + + 0x0e8 0x25 /* lcd_pclk.pr1_pru1_pru_r30_10, MODE5 | OUTPUT | PRU, CH_1 */ + 0x0e0 0x25 /* lcd_vsync.pr1_pru1_pru_r30_8, MODE5 | OUTPUT | PRU, CH_2 */ + 0x0ec 0x25 /* lcd_ac_bias_en.pr1_pru1_pru_r30_11, MODE5 | OUTPUT | PRU, CH_3 */ + 0x0e4 0x25 /* lcd_hsync.pr1_pru1_pru_r30_9, MODE5 | OUTPUT | PRU, CH_4 */ + 0x0bc 0x25 /* lcd_data7.pr1_pru1_pru_r30_7, MODE5 | OUTPUT | PRU, CH_5 */ + 0x0b8 0x25 /* lcd_data6.pr1_pru1_pru_r30_6, MODE5 | OUTPUT | PRU, CH_6 */ + 0x0b4 0x25 /* lcd_data5.pr1_pru1_pru_r30_5, MODE5 | OUTPUT | PRU, CH_7 */ + 0x0b0 0x25 /* lcd_data4.pr1_pru1_pru_r30_4, MODE5 | OUTPUT | PRU, CH_8 */ + 0x0ac 0x25 /* lcd_data3.pr1_pru1_pru_r30_3, MODE5 | OUTPUT | PRU, CH_9 */ + 0x0a8 0x25 /* lcd_data2.pr1_pru1_pru_r30_2, MODE5 | OUTPUT | PRU, CH_10 */ + 0x0a4 0x25 /* lcd_data1.pr1_pru1_pru_r30_1, MODE5 | OUTPUT | PRU, CH_11 */ + 0x0a0 0x25 /* lcd_data0.pr1_pru1_pru_r30_0, MODE5 | OUTPUT | PRU, CH_12 */ + + AM33XX_IOPAD(0x0830,(PIN_OUTPUT_PULLDOWN | MUX_MODE6)) /* HC-SR04 TRIG */ + AM33XX_IOPAD(0x0838,(PIN_INPUT_PULLDOWN | MUX_MODE6)) /* HC-SR04 ECHO */ + + AM33XX_IOPAD(0x09ac,(PIN_INPUT_PULLDOWN | MUX_MODE6)) /* MPU9250 INT */ + >; + }; + + spi0_pins: pinmux_spi0_pins { + pinctrl-single,pins = < + /* P9_22: spi0_sclk.spi0_sclk */ + AM33XX_IOPAD(0x0950,(PIN_INPUT_PULLUP | MUX_MODE0)) + /* P9_21: spi0_d0.spi0_d0 */ + AM33XX_IOPAD(0x0954,(PIN_INPUT_PULLUP | MUX_MODE0)) + /* P9_18: spi0_d1.spi0_d1 */ + AM33XX_IOPAD(0x0958, (PIN_OUTPUT_PULLUP | MUX_MODE0)) + /* P9_17: spi0_cs0.spi0_cs0 */ + AM33XX_IOPAD(0x095c, (PIN_OUTPUT_PULLUP | MUX_MODE0)) + >; + }; + + spi1_pins: pinmux_spi1_pins { + pinctrl-single,pins = < + /* P9_31: mcasp0_aclkx.spi1_sclk */ + AM33XX_IOPAD(0x0990, (PIN_INPUT_PULLUP | MUX_MODE3)) + + /* P9_29: mcasp0_fsx.spi1_d0 */ + AM33XX_IOPAD(0x0994, (PIN_INPUT_PULLUP | MUX_MODE3)) + + /* P9_30: mcasp0_axr0.spi1_d1 */ + AM33XX_IOPAD(0x0998, (PIN_OUTPUT_PULLUP | MUX_MODE3)) + + /* P9_28: mcasp0_ahclkr.spi1_cs0 */ + AM33XX_IOPAD(0x099c, (PIN_OUTPUT_PULLUP | MUX_MODE3)) + + /* P9_42: ecap0_in_pwm0_out.spi1_cs1 */ + AM33XX_IOPAD(0x0964, (PIN_OUTPUT_PULLUP | MUX_MODE2)) + >; + }; + + uart4_pins: pinmux_uart4_pins { + pinctrl-single,pins = < + /* P9_11: gpmc_wait0.uart4_rxd_mux2 */ + AM33XX_IOPAD(0x0870, (PIN_INPUT_PULLUP | MUX_MODE6)) + /* P9_13: gpmc_wpn.uart4_txd_mux2 */ + AM33XX_IOPAD(0x0874, (PIN_OUTPUT_PULLDOWN | MUX_MODE6)) + >; + }; + + uart5_pins: pinmux_uart5_pins { + pinctrl-single,pins = < + /* P8_38: lcd_data9.uart5_rxd */ + AM33XX_IOPAD(0x08c4, (PIN_INPUT_PULLUP | MUX_MODE4)) + /* P8_37: lcd_data8.uart5_txd */ + AM33XX_IOPAD(0x08c0, (PIN_OUTPUT_PULLDOWN | MUX_MODE4)) + >; + }; +}; + +&dcan1 { + pinctrl-names = "default"; + pinctrl-0 = <&dcan1_pins>; + status = "okay"; +}; + +&i2c2 { + clock-frequency = <400000>; +}; + +&spi0 { + pinctrl-names = "default"; + pinctrl-0 = <&spi0_pins>; + status = "okay"; + + spi0@0 { + #address-cells = <1>; + #size-cells = <0>; + spi-max-frequency = <24000000>; + reg = <0>; + compatible = "spidev"; + symlink = "bone/spi/0.0"; + }; +}; + +&spi1 { + pinctrl-names = "default"; + pinctrl-0 = <&spi1_pins>; + status = "okay"; + + spi1@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + spi-max-frequency = <24000000>; + compatible = "spidev"; + symlink = "bone/spi/1.0"; + }; + + spi1@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + spi-max-frequency = <24000000>; + compatible = "spidev"; + symlink = "bone/spi/1.1"; + }; +}; + +&tscadc { + adc { + ti,adc-channels = <0 1>; + }; +}; + +//&pruss { +// pinctrl-names = "default"; +// pinctrl-0 = <&pru_pins>; +// status = "okay"; +//}; + +&uart4 { + pinctrl-names = "default"; + pinctrl-0 = <&uart4_pins>; + status = "okay"; +}; + +&uart5 { + pinctrl-names = "default"; + pinctrl-0 = <&uart5_pins>; + status = "okay"; +}; \ No newline at end of file diff --git a/src/arm/overlays/AM335X-PRU-UIO-00A0.dts b/src/arm/overlays/AM335X-PRU-UIO-00A0.dts new file mode 100644 index 000000000..f3016efca --- /dev/null +++ b/src/arm/overlays/AM335X-PRU-UIO-00A0.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/ + */ + +/dts-v1/; +/plugin/; + +/* + * Helper to show loaded overlays under: /proc/device-tree/chosen/overlays/ + */ +&{/chosen} { + overlays { + AM335X-PRU-UIO-00A0.kernel = __TIMESTAMP__; + }; +}; + + +&pruss_tm { + status = "okay"; +}; + +&pruss { + compatible = "ti,pruss-v2"; + ti,pintc-offset = <0x20000>; + interrupt-parent = <&intc>; + interrupts = <20 21 22 23 24 25 26 27>; +}; diff --git a/src/arm/overlays/BB-BBGW-WL1835-00A0.dts b/src/arm/overlays/BB-BBGW-WL1835-00A0.dts index 8295afdbd..05b3c537c 100644 --- a/src/arm/overlays/BB-BBGW-WL1835-00A0.dts +++ b/src/arm/overlays/BB-BBGW-WL1835-00A0.dts @@ -16,6 +16,7 @@ &{/chosen} { overlays { BB-BBGW-WL1835-00A0.kernel = __TIMESTAMP__; + wl1835_bt = "S3-texas-300000"; }; }; @@ -52,12 +53,63 @@ gpio = <&gpio0 26 0>; enable-active-high; }; + + leds { + pinctrl-names = "default"; + //pinctrl-0 = <&user_leds_s0>; + pinctrl-0 = <&user_leds_s0 &bt_pins>; + + compatible = "gpio-leds"; + + led2 { + label = "beaglebone:green:usr0"; + gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + default-state = "off"; + }; + + led3 { + label = "beaglebone:green:usr1"; + gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc0"; + default-state = "off"; + }; + + led4 { + label = "beaglebone:green:usr2"; + gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "cpu0"; + default-state = "off"; + }; + + led5 { + label = "beaglebone:green:usr3"; + gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc1"; + default-state = "off"; + }; + + wl18xx_bt_en: led7 { + label = "wl18xx_bt_en"; + gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + }; }; &am33xx_pinmux { + user_leds_s0: user_leds_s0 { + pinctrl-single,pins = < + AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_a5.gpio1_21 */ + AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_OUTPUT_PULLUP, MUX_MODE7) /* gpmc_a6.gpio1_22 */ + AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_a7.gpio1_23 */ + AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_OUTPUT_PULLUP, MUX_MODE7) /* gpmc_a8.gpio1_24 */ + >; + }; + bt_pins: pinmux_bt_pins { pinctrl-single,pins = < - AM33XX_PADCONF(AM335X_PIN_GPMC_BEN1, PIN_OUTPUT_PULLUP, MUX_MODE7) /* gpmc_ad12.gpio1_28 BT_EN */ + AM33XX_PADCONF(AM335X_PIN_GPMC_BEN1, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_ad12.gpio1_28 BT_EN */ >; }; @@ -119,13 +171,14 @@ &uart3 { pinctrl-names = "default"; - pinctrl-0 = <&uart3_pins &bt_pins>; + pinctrl-0 = <&uart3_pins>; + //pinctrl-0 = <&uart3_pins &bt_pins>; status = "okay"; - bluetooth { - compatible = "ti,wl1835-st"; - enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; - }; + //bluetooth { + // compatible = "ti,wl1835-st"; + // enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; + //}; }; &gpio1 { diff --git a/src/arm/overlays/Makefile b/src/arm/overlays/Makefile index f0274a44a..97ad08dfd 100644 --- a/src/arm/overlays/Makefile +++ b/src/arm/overlays/Makefile @@ -1,6 +1,7 @@ # Overlays for the BeagleBone platform dtbo-$(CONFIG_ARCH_OMAP2PLUS) += \ + AM335X-PRU-UIO-00A0.dtbo \ BB-ADC-00A0.dtbo \ BB-BBBW-WL1835-00A0.dtbo \ BB-BBGG-WL1835-00A0.dtbo \