Skip to content

Instantly share code, notes, and snippets.

@jadonk
Created February 20, 2019 16:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jadonk/13c36373d24175fdaa8fc0ec7fa6a174 to your computer and use it in GitHub Desktop.
Save jadonk/13c36373d24175fdaa8fc0ec7fa6a174 to your computer and use it in GitHub Desktop.
whitherbone
/*
* Copyright (C) 2017 Seeed Technology Inc.
* Copyright (C) 2018-2019 Texas Instruments
*
* 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.
*
* dtb=am335x-bonegreen-wireless.dtb
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/board/am335x-bbw-bbb-base.h>
#include <dt-bindings/pinctrl/am33xx.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black", "ti,beaglebone-green";
// identification
part-number = "whitherbone";
fragment@0 {
target = <&ocp>;
__overlay__ {
P8_07_pinmux { status = "disabled"; }; /* P8_07: gpio2_2, OUTPUT | MODE7 */
P8_08_pinmux { status = "disabled"; }; /* P8_08: gpio2_3, OUTPUT | MODE7 */
P8_45_pinmux { status = "disabled"; }; /* P8_45: lcd_data0.lcd_data0 */
P8_46_pinmux { status = "disabled"; }; /* P8_46: lcd_data1.lcd_data1 */
P8_43_pinmux { status = "disabled"; }; /* P8_43: lcd_data2.lcd_data2 */
P8_44_pinmux { status = "disabled"; }; /* P8_44: lcd_data3.lcd_data3 */
P8_41_pinmux { status = "disabled"; }; /* P8_41: lcd_data4.lcd_data4 */
P8_42_pinmux { status = "disabled"; }; /* P8_42: lcd_data5.lcd_data5 */
P8_39_pinmux { status = "disabled"; }; /* P8_39: lcd_data6.lcd_data6 */
P8_40_pinmux { status = "disabled"; }; /* P8_40: lcd_data7.lcd_data7 */
P8_37_pinmux { status = "disabled"; }; /* P8_37: lcd_data8.lcd_data8 */
P8_38_pinmux { status = "disabled"; }; /* P8_38: lcd_data9.lcd_data9 */
P8_36_pinmux { status = "disabled"; }; /* P8_36: lcd_data10.lcd_data10 */
P8_34_pinmux { status = "disabled"; }; /* P8_34: lcd_data11.lcd_data11 */
P8_35_pinmux { status = "disabled"; }; /* P8_35: lcd_data12.lcd_data12 */
P8_33_pinmux { status = "disabled"; }; /* P8_33: lcd_data13.lcd_data13 */
P8_31_pinmux { status = "disabled"; }; /* P8_31: lcd_data14.lcd_data14 */
P8_32_pinmux { status = "disabled"; }; /* P8_32: lcd_data15.lcd_data15 */
P8_27_pinmux { status = "disabled"; }; /* P8_27: lcd_vsync.lcd_vsync */
P8_29_pinmux { status = "disabled"; }; /* P8_29: lcd_hsync.lcd_hsync */
P8_28_pinmux { status = "disabled"; }; /* P8_28: lcd_pclk.lcd_pclk */
P8_30_pinmux { status = "disabled"; }; /* P8_30: lcd_ac_bias_en.lcd_ac_bias_en */
P9_25_pinmux { status = "disabled"; }; /* P9_25: mcasp0_ahcklx.mcasp0_ahclkx */
P9_28_pinmux { status = "disabled"; }; /* P9_28: mcasp0_ahclkr.mcasp0_axr2*/
P9_29_pinmux { status = "disabled"; }; /* P9_29: mcasp0_fsx.mcasp0_fsx */
P9_31_pinmux { status = "disabled"; }; /* P9_31: mcasp0_aclkx.mcasp0_aclkx */
};
};
fragment@1 {
target = <&am33xx_pinmux>;
__overlay__ {
wb_led_pins: pinmux_wb_led_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x090c, PIN_OUTPUT | MUX_MODE7) /* (H17) gmii1_crs.gpio3[1] - WIFI_LED */
>;
};
wb_lcd_pins: pinmux_wb_lcd_pins {
pinctrl-single,pins = <
BONE_P8_07 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* P8_07: gpio2_2, OUTPUT | MODE7 */
BONE_P8_08 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* P8_08: gpio2_3, OUTPUT | MODE7 */
AM33XX_IOPAD(0x0864, PIN_INPUT | MUX_MODE7)
BONE_P8_45 (PIN_OUTPUT | MUX_MODE0) /* P8_45: lcd_data0.lcd_data0 */
BONE_P8_46 (PIN_OUTPUT | MUX_MODE0) /* P8_46: lcd_data1.lcd_data1 */
BONE_P8_43 (PIN_OUTPUT | MUX_MODE0) /* P8_43: lcd_data2.lcd_data2 */
BONE_P8_44 (PIN_OUTPUT | MUX_MODE0) /* P8_44: lcd_data3.lcd_data3 */
BONE_P8_41 (PIN_OUTPUT | MUX_MODE0) /* P8_41: lcd_data4.lcd_data4 */
BONE_P8_42 (PIN_OUTPUT | MUX_MODE0) /* P8_42: lcd_data5.lcd_data5 */
BONE_P8_39 (PIN_OUTPUT | MUX_MODE0) /* P8_39: lcd_data6.lcd_data6 */
BONE_P8_40 (PIN_OUTPUT | MUX_MODE0) /* P8_40: lcd_data7.lcd_data7 */
BONE_P8_37 (PIN_OUTPUT | MUX_MODE0) /* P8_37: lcd_data8.lcd_data8 */
BONE_P8_38 (PIN_OUTPUT | MUX_MODE0) /* P8_38: lcd_data9.lcd_data9 */
BONE_P8_36 (PIN_OUTPUT | MUX_MODE0) /* P8_36: lcd_data10.lcd_data10 */
BONE_P8_34 (PIN_OUTPUT | MUX_MODE0) /* P8_34: lcd_data11.lcd_data11 */
BONE_P8_35 (PIN_OUTPUT | MUX_MODE0) /* P8_35: lcd_data12.lcd_data12 */
BONE_P8_33 (PIN_OUTPUT | MUX_MODE0) /* P8_33: lcd_data13.lcd_data13 */
BONE_P8_31 (PIN_OUTPUT | MUX_MODE0) /* P8_31: lcd_data14.lcd_data14 */
BONE_P8_32 (PIN_OUTPUT | MUX_MODE0) /* P8_32: lcd_data15.lcd_data15 */
BONE_P8_27 (PIN_OUTPUT | MUX_MODE0) /* P8_27: lcd_vsync.lcd_vsync */
BONE_P8_29 (PIN_OUTPUT | MUX_MODE0) /* P8_29: lcd_hsync.lcd_hsync */
BONE_P8_28 (PIN_OUTPUT | MUX_MODE0) /* P8_28: lcd_pclk.lcd_pclk */
BONE_P8_30 (PIN_OUTPUT | MUX_MODE0) /* P8_30: lcd_ac_bias_en.lcd_ac_bias_en */
>;
};
wb_mcasp0_pins: pinmux_wb_mcasp0_pins {
pinctrl-single,pins = <
BONE_P9_25 (PIN_INPUT_PULLUP | MUX_MODE0) /* P9_25: mcasp0_ahcklx.mcasp0_ahclkx */
BONE_P9_28 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* P9_28: mcasp0_ahclkr.mcasp0_axr2*/
BONE_P9_29 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* P9_29: mcasp0_fsx.mcasp0_fsx */
BONE_P9_31 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* P9_31: mcasp0_aclkx.mcasp0_aclkx */
>;
};
};
};
fragment@2 {
target = <&i2c2>;
__overlay__ {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
it66121: it66121 {
compatible = "ite,it66121";
reg = <0x4d>;
pinctrl-names = "default";
pinctrl-0 = <&wb_lcd_pins>;
#sound-dai-cells = <0>;
interrupt-parent = <&gpio1>;
interrupts = <25 1>;
ports {
port@0 {
hdmi_0: endpoint@0 {
remote-endpoint = <&lcdc_0>;
};
};
};
};
};
};
fragment@3 {
target = <&lcdc>;
__overlay__ {
status = "okay";
port {
lcdc_0: endpoint@0 {
remote-endpoint = <&hdmi_0>;
};
};
};
};
fragment@4 {
target = <&mcasp0>;
__overlay__ {
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&wb_mcasp0_pins>;
status = "okay";
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
0 0 1 0
>;
tx-num-evt = <32>;
rx-num-evt = <32>;
};
};
fragment@5 {
target-path="/";
__overlay__ {
model = "TI AM335x BeagleBone Green Wireless";
compatible = "ti,am335x-bone-green-wireless", "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
clk_mcasp0_fixed: clk_mcasp0_fixed {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <24576000>;
};
clk_mcasp0: clk_mcasp0 {
#clock-cells = <0>;
compatible = "gpio-gate-clock";
clocks = <&clk_mcasp0_fixed>;
enable-gpios = <&gpio1 27 0>; /* BeagleBone Black Clk enable on GPIO1_27 */
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "TI BeagleBone Green HDMI cape";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&sound_master>;
simple-audio-card,frame-master = <&sound_master>;
sound_master: simple-audio-card,cpu {
sound-dai = <&mcasp0>;
clocks = <&clk_mcasp0>;
};
simple-audio-card,codec {
sound-dai = <&it66121>;
};
};
wlan_en_reg: fixedregulator@2 {
compatible = "regulator-fixed";
regulator-name = "wlan-en-regulator";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
startup-delay-us= <70000>;
gpio = <&gpio3 9 0>;
enable-active-high;
};
wb_leds: wb_leds {
pinctrl-names = "default";
pinctrl-0 = <&wb_wl18xx_pins &wb_led_pins>;
pinctrl-names = "default";
compatible = "gpio-leds";
wl18xx_bt_en {
label = "wl18xx_bt_en";
gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
wifi_led {
label = "wifi";
gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "phy0assoc";
};
};
};
};
};
From 6b8c1664318fc4ec7c0b2a9de9507e0a6be16978 Mon Sep 17 00:00:00 2001
From: Demo User <debian@whitherbone-97e6.localdomain>
Date: Tue, 13 Nov 2018 04:41:26 +0000
Subject: [PATCH] Hack to enable Whitherbone
---
src/arm/BB-BBGW-WL1835-00A0.dts | 156 ++++++++++++++--------------------------
src/arm/BB-GREEN-HDMI-00A0.dts | 9 ++-
src/arm/BB-RELAY-4PORT-00A0.dts | 81 +++++++--------------
src/arm/whitherbone-leds.dts | 50 +++++++++++++
4 files changed, 134 insertions(+), 162 deletions(-)
create mode 100644 src/arm/whitherbone-leds.dts
diff --git a/src/arm/BB-BBGW-WL1835-00A0.dts b/src/arm/BB-BBGW-WL1835-00A0.dts
index e27759a..fede4f8 100644
--- a/src/arm/BB-BBGW-WL1835-00A0.dts
+++ b/src/arm/BB-BBGW-WL1835-00A0.dts
@@ -14,24 +14,37 @@
#include <dt-bindings/interrupt-controller/irq.h>
/ {
- /*
- * Free up the pins used by the cape from the pinmux helpers.
- */
fragment@0 {
- target = <&ocp>;
+ target-path="/";
__overlay__ {
- P9_12_pinmux { status = "disabled"; }; /* gpmc_ad12.gpio1_28 BT_EN */
- P8_12_pinmux { status = "disabled"; }; /* gpmc_ad12.mmc2_dat0 */
- P8_11_pinmux { status = "disabled"; }; /* gpmc_ad13.mmc2_dat1 */
- P8_16_pinmux { status = "disabled"; }; /* gpmc_ad14.mmc2_dat2 */
- P8_15_pinmux { status = "disabled"; }; /* gpmc_ad15.mmc2_dat3 */
-
- P8_18_pinmux { status = "disabled"; }; /* gpmc_clk.mmc2_clk */
-
- //Audio...
- P9_28_pinmux { status = "disabled"; };
- P9_29_pinmux { status = "disabled"; };
- P9_31_pinmux { status = "disabled"; };
+ model = "TI AM335x BeagleBone Green Wireless";
+ compatible = "ti,am335x-bone-green-wireless", "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
+
+
+ wlan_en_reg: fixedregulator@2 {
+ compatible = "regulator-fixed";
+ regulator-name = "wlan-en-regulator";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ startup-delay-us= <70000>;
+
+
+ gpio = <&gpio3 9 0>;
+ enable-active-high;
+ };
+
+ leds {
+ pinctrl-names = "default";
+ pinctrl-0 = <&wl18xx_pins>;
+ compatible = "gpio-leds";
+
+ wl18xx_bt_en {
+ label = "wl18xx_bt_en";
+ gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ };
};
};
@@ -40,45 +53,47 @@
__overlay__ {
wl18xx_pins: pinmux_wl18xx_pins {
pinctrl-single,pins = <
- AM33XX_IOPAD(0x878, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_ad12.gpio1_28 BT_EN */
+ AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gmii1_txd0.gpio0_28 - BT_EN */
+ AM33XX_IOPAD(0x9b4, PIN_OUTPUT | MUX_MODE3) /* xdma_event_intr1.gpio0_20 */
>;
};
+
mmc3_pins: pinmux_mmc3_pins {
pinctrl-single,pins = <
- AM33XX_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad12.mmc2_dat0 */
- AM33XX_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad13.mmc2_dat1 */
- AM33XX_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad14.mmc2_dat2 */
- AM33XX_IOPAD(0x83c, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad15.mmc2_dat3 */
- AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_csn3.mmc2_cmd */
- AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_clk.mmc2_clk */
+ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLUP | MUX_MODE6 ) /* (L15) gmii1_rxd1.mmc2_clk */
+ AM33XX_IOPAD(0x914, PIN_INPUT_PULLUP | MUX_MODE6 ) /* (J16) gmii1_txen.mmc2_cmd */
+ AM33XX_IOPAD(0x918, PIN_INPUT_PULLUP | MUX_MODE5 ) /* (J17) gmii1_rxdv.mmc2_dat0 */
+ AM33XX_IOPAD(0x91c, PIN_INPUT_PULLUP | MUX_MODE5 ) /* (J18) gmii1_txd3.mmc2_dat1 */
+ AM33XX_IOPAD(0x920, PIN_INPUT_PULLUP | MUX_MODE5 ) /* (K15) gmii1_txd2.mmc2_dat2 */
+ AM33XX_IOPAD(0x908, PIN_INPUT_PULLUP | MUX_MODE5 ) /* (H16) gmii1_col.mmc2_dat3 */
>;
};
mmc3_pins_sleep: pinmux_mmc3_pins_sleep {
pinctrl-single,pins = <
- AM33XX_IOPAD(0x830, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpmc_ad12.mmc2_dat0 */
- AM33XX_IOPAD(0x834, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpmc_ad13.mmc2_dat1 */
- AM33XX_IOPAD(0x838, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpmc_ad14.mmc2_dat2 */
- AM33XX_IOPAD(0x83c, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpmc_ad15.mmc2_dat3 */
- AM33XX_IOPAD(0x888, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpmc_csn3.mmc2_cmd */
- AM33XX_IOPAD(0x88c, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpmc_clk.mmc2_clk */
+ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (L15) gmii1_rxd1.mmc2_clk */
+ AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (J16) gmii1_txen.mmc2_cmd */
+ AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE5 ) /* (J17) gmii1_rxdv.mmc2_dat0 */
+ AM33XX_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE5 ) /* (J18) gmii1_txd3.mmc2_dat1 */
+ AM33XX_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE5 ) /* (K15) gmii1_txd2.mmc2_dat2 */
+ AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE5 ) /* (H16) gmii1_col.mmc2_dat3 */
>;
};
/* wl18xx card enable/irq GPIOs. */
wlan_pins: pinmux_wlan_pins {
pinctrl-single,pins = <
- AM33XX_IOPAD(0x828, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10.gpio0_26 WL_EN */
- AM33XX_IOPAD(0x82C, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11.gpio0_27 WL_IRQ */
+ AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gmii1_txclk.gpio3_9 WL_EN */
+ AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_refclk.gpio0_21 WL_IRQ */
>;
};
/* wl18xx card enable/irq GPIOs. */
wlan_pins_sleep: pinmux_wlan_pins_sleep {
pinctrl-single,pins = <
- AM33XX_IOPAD(0x828, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10.gpio0_26 WL_EN */
- AM33XX_IOPAD(0x82C, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11.gpio0_27 WL_IRQ */
+ AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gmii1_txclk.gpio3_9 WL_EN */
+ AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_refclk.gpio0_21 WL_IRQ */
>;
};
@@ -103,60 +118,28 @@
};
fragment@2 {
- target-path="/";
- __overlay__ {
- model = "TI AM335x BeagleBone Green Wireless";
- compatible = "ti,am335x-bone-green-wireless", "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
-
- wlan_en_reg: fixedregulator@2 {
- compatible = "regulator-fixed";
- regulator-name = "wlan-en-regulator";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- startup-delay-us= <70000>;
-
- /* WL_EN */
- gpio = <&gpio0 26 0>;
- enable-active-high;
- };
-
- leds {
- pinctrl-names = "default";
- pinctrl-0 = <&wl18xx_pins>;
- compatible = "gpio-leds";
-
- wl18xx_bt_en {
- label = "wl18xx_bt_en";
- gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
- default-state = "off";
- };
- };
- };
- };
-
- fragment@3 {
target = <&mac>;
__overlay__ {
status = "disabled";
};
};
- fragment@4 {
+ fragment@3 {
target = <&mmc3>;
__overlay__ {
dmas = <&edma_xbar 12 0 1
&edma_xbar 13 0 2>;
dma-names = "tx", "rx";
status = "okay";
- vmmc-supply = <&wlan_en_reg>;
+ vmmc-supply = <&wlan_en_reg>;
bus-width = <4>;
non-removable;
cap-power-off-card;
ti,needs-special-hs-handling;
keep-power-in-suspend;
- pinctrl-names = "default", "sleep";
+ pinctrl-names = "default";
pinctrl-0 = <&mmc3_pins &wlan_pins>;
- pinctrl-1 = <&mmc3_pins_sleep &wlan_pins_sleep>;
+ /* pinctrl-1 = <&mmc3_pins_sleep &wlan_pins_sleep>;*/
#address-cells = <1>;
#size-cells = <0>;
@@ -164,12 +147,12 @@
compatible = "ti,wl1835";
reg = <2>;
interrupt-parent = <&gpio0>;
- interrupts = <27 IRQ_TYPE_EDGE_RISING>;
+ interrupts = <21 IRQ_TYPE_EDGE_RISING>;
};
};
};
- fragment@5 {
+ fragment@4 {
target = <&uart3>;
__overlay__ {
pinctrl-names = "default", "sleep";
@@ -179,35 +162,4 @@
};
};
- fragment@6 {
- target = <&gpio1>;
- __overlay__ {
- ls_buf_en {
- gpio-hog;
- gpios = <29 GPIO_ACTIVE_HIGH>;
- output-high;
- line-name = "LS_BUF_EN";
- };
- };
- };
-
-/* BT_AUD_OUT from wl1835 has to be pulled low when WL_EN is activated.*/
-/* in case it isn't, wilink8 ends up in one of the test modes that */
-/* intruces various issues (elp wkaeup timeouts etc.) */
-/* On the BBGW this pin is routed through the level shifter (U21) that */
-/* introduces a pullup on the line and wilink8 ends up in a bad state. */
-/* use a gpio hog to force this pin low. An alternative may be adding */
-/* an external pulldown on U21 pin 4. */
-
- fragment@7 {
- target = <&gpio3>;
- __overlay__ {
- bt_aud_in {
- gpio-hog;
- gpios = <16 GPIO_ACTIVE_HIGH>;
- output-low;
- line-name = "MCASP0_AHCLKR";
- };
- };
- };
};
diff --git a/src/arm/BB-GREEN-HDMI-00A0.dts b/src/arm/BB-GREEN-HDMI-00A0.dts
index c7f605e..cab7460 100644
--- a/src/arm/BB-GREEN-HDMI-00A0.dts
+++ b/src/arm/BB-GREEN-HDMI-00A0.dts
@@ -25,7 +25,6 @@
/* the display pin header uses */
"P8.7", /* hdmi nrst: gpio2_2 */
"P8.8", /* hdmi en: gpio2_3 */
- "P8.10", /* hdmi int: gpio2_4 */
"P8.45", /* lcd: lcd_data0 */
"P8.46", /* lcd: lcd_data1 */
"P8.43", /* lcd: lcd_data2 */
@@ -56,6 +55,7 @@
/* the hardware IP uses */
"gpio2_2",
"gpio1_27",
+ "gpio1_25",
"gpio2_3",
"gpio2_4",
"mcasp0",
@@ -69,7 +69,6 @@
__overlay__ {
P8_07_pinmux { status = "disabled"; }; /* P8_07: gpio2_2, OUTPUT | MODE7 */
P8_08_pinmux { status = "disabled"; }; /* P8_08: gpio2_3, OUTPUT | MODE7 */
- P8_10_pinmux { status = "disabled"; }; /* P8_10: gpio2_4, INTPUT | MODE7 */
P8_45_pinmux { status = "disabled"; }; /* P8_45: lcd_data0.lcd_data0 */
P8_46_pinmux { status = "disabled"; }; /* P8_46: lcd_data1.lcd_data1 */
@@ -108,7 +107,7 @@
BONE_P8_07 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* P8_07: gpio2_2, OUTPUT | MODE7 */
BONE_P8_08 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* P8_08: gpio2_3, OUTPUT | MODE7 */
- BONE_P8_10 (PIN_INPUT | MUX_MODE7) /* P8_10: gpio2_4, INTPUT | MODE7 */
+ AM33XX_IOPAD(0x0864, PIN_INPUT | MUX_MODE7)
BONE_P8_45 (PIN_OUTPUT | MUX_MODE0) /* P8_45: lcd_data0.lcd_data0 */
BONE_P8_46 (PIN_OUTPUT | MUX_MODE0) /* P8_46: lcd_data1.lcd_data1 */
@@ -159,8 +158,8 @@
#sound-dai-cells = <0>;
- interrupt-parent = <&gpio2>;
- interrupts = <4 1>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <25 1>;
ports {
port@0 {
hdmi_0: endpoint@0 {
diff --git a/src/arm/BB-RELAY-4PORT-00A0.dts b/src/arm/BB-RELAY-4PORT-00A0.dts
index c5c88a5..6fd2694 100644
--- a/src/arm/BB-RELAY-4PORT-00A0.dts
+++ b/src/arm/BB-RELAY-4PORT-00A0.dts
@@ -14,56 +14,45 @@
#include <dt-bindings/pinctrl/am33xx.h>
/ {
- compatible = "ti,beaglebone", "ti,beaglebone-black", "ti,beaglebone-green";
+ model = "TI AM335x BeagleBone Green Wireless";
+ compatible = "ti,am335x-bone-green-wireless", "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
+
+ /* identification */
+ part-number = "BB-RELAY-4PORT";
+ version = "00A0";
- /* identification */
- part-number = "BB-RELAY-4PORT";
- version = "00A0";
+ /* state the resources this cape uses */
+ exclusive-use =
+ /* the hardware ip uses */
+ "gpio0_21";
- /* state the resources this cape uses */
- exclusive-use =
- /* the pin header uses */
- "P9.15", /* gpio1_16 */
- "P9.23", /* gpio1_17 */
- "P9.12", /* gpio1_28 */
- "P9.27", /* gpio3_19 */
- /* the hardware ip uses */
- "gpio1_16",
- "gpio1_17",
- "gpio1_28",
- "gpio3_19";
- /*
- * Free up the pins used by the cape from the pinmux helpers.
- */
fragment@0 {
- target = <&ocp>;
- __overlay__ {
- P9_15_pinmux { status = "disabled"; }; /* P9_15: gpmc_a0.gpio1_16 */
- P9_23_pinmux { status = "disabled"; }; /* P9_23: gpmc_a1.gpio1_17 */
- P9_12_pinmux { status = "disabled"; }; /* P9_12: gpmc_be1n.gpio1_28 */
- P9_27_pinmux { status = "disabled"; }; /* P9_27: mcasp0_fsr.gpio3_19 */
-
- };
- };
-
- fragment@1 {
target = <&am33xx_pinmux>;
__overlay__ {
bb_gpio_relay_pins: pinmux_bb_gpio_relay_pins {
pinctrl-single,pins = <
- BONE_P9_15 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* P9_15: gpmc_a0.gpio1_16 */
- BONE_P9_23 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* P9_23: gpmc_a1.gpio1_17 */
- BONE_P9_12 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* P9_12: gpmc_be1n.gpio1_28 */
- BONE_P9_27 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* P9_27: mcasp0_fsr.gpio3_19 */
+ AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLUP | MUX_MODE7) /* rmii1_refclk.gpio0_21 WL_IRQ */
+ AM33XX_IOPAD(0x93c, PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* (L15) gmii1_rxd1.mmc2_clk */
+ AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* (J16) gmii1_txen.mmc2_cmd */
+ AM33XX_IOPAD(0x918, PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* (J17) gmii1_rxdv.mmc2_dat0 */
+ AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* (J18) gmii1_txd3.mmc2_dat1 */
+ AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* (K15) gmii1_txd2.mmc2_dat2 */
+ AM33XX_IOPAD(0x908, PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* (H16) gmii1_col.mmc2_dat3 */
>;
};
};
};
-
- fragment@2 {
+ fragment@2 {
+ target = <&mac>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@3 {
target-path="/";
__overlay__ {
@@ -75,25 +64,7 @@
jp@1 {
label = "relay-jp1";
- gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
- default-state = "keep";
- };
-
- jp@2 {
- label = "relay-jp2";
- gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
- default-state = "keep";
- };
-
- jp@3 {
- label = "relay-jp3";
- gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
- default-state = "keep";
- };
-
- jp@4 {
- label = "relay-jp4";
- gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
+ gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
};
diff --git a/src/arm/whitherbone-leds.dts b/src/arm/whitherbone-leds.dts
new file mode 100644
index 0000000..64fc2be
--- /dev/null
+++ b/src/arm/whitherbone-leds.dts
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2018 Texas Instruments
+ *
+ * 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/pinctrl/am33xx.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ compatible = "ti,beaglebone", "ti,beaglebone-black", "ti,beaglebone-green";
+
+ // identification
+ part-number = "whitherbone-leds";
+
+#if 0
+ fragment@0 {
+ target = <&am33xx_pinmux>;
+ __overlay__ {
+ whitherbone_led_pins: pinmux_whitherbone_led_pins {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x090c, PIN_OUTPUT | MUX_MODE7) /* (H17) gmii1_crs.gpio3[1] - WIFI_LED */
+ >;
+ };
+ };
+ };
+#endif
+
+ fragment@1 {
+ target-path = "/";
+ __overlay__ {
+ whitherbone_leds {
+ //pinctrl-names = "default";
+ //pinctrl-0 = <&whitherbone_led_pins>;
+ compatible = "gpio-leds";
+
+ wifi_led {
+ label = "wifi";
+ gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ linux,default-trigger = "phy0assoc";
+ };
+ };
+ };
+ };
+};
--
2.11.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment