From 6ba58b7b020c4b793e6fb7a43c8adef070579d8d Mon Sep 17 00:00:00 2001 From: Anton Arapov Date: Sat, 29 Dec 2018 01:28:27 +0100 Subject: [PATCH] ramips: cleanup the RB750Gr3 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Always enable the pwr led and use the usr led for boot status indication. Rename nodes in the dts, to match what is recommend in the devicetree specification. Increase the maximum spi frequency to 20MHz and drop the m25p,chunked-io which isn't required on mt7621. Use the BTN_0 keycode for the mode button. This board doesn't have any wireless. Use a more descriptive label for the reset button and the GPIO enabling the usb vcc supply. Use the beeper kernel module for the buzzer. Fix the pinmux to switch only pins used as GPIOs to the GPIO function. Add support for the PoE enable GPIO to the userspace. The PoE power status can be read via GPIO7. Since OpenWrt doesn't have support for reading inputs from userspace, prepare only the pinmux for the GPIO. Signed-off-by: Anton Arapov Signed-off-by: Thibaut VARĂˆNE Signed-off-by: Mathias Kresin --- .../base-files/etc/board.d/03_gpio_switches | 3 ++ target/linux/ramips/dts/RB750Gr3.dts | 48 +++++++++---------- target/linux/ramips/image/mt7621.mk | 1 + 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches index a847a64d6b..a5f9124d12 100755 --- a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches +++ b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches @@ -7,6 +7,9 @@ board_config_update board=$(board_name) case "$board" in +mikrotik,rb750gr3) + ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "17" + ;; ubnt-erx) ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "0" ;; diff --git a/target/linux/ramips/dts/RB750Gr3.dts b/target/linux/ramips/dts/RB750Gr3.dts index da9167ad81..e0df72d967 100644 --- a/target/linux/ramips/dts/RB750Gr3.dts +++ b/target/linux/ramips/dts/RB750Gr3.dts @@ -7,13 +7,13 @@ / { compatible = "mikrotik,rb750gr3", "mediatek,mt7621-soc"; - model = "MikroTik RB750Gr3"; + model = "MikroTik RouterBOARD 750Gr3"; aliases { - led-boot = &led_pwr; - led-failsafe = &led_pwr; - led-running = &led_pwr; - led-upgrade = &led_pwr; + led-boot = &led_usr; + led-failsafe = &led_usr; + led-running = &led_usr; + led-upgrade = &led_usr; }; memory@0 { @@ -25,49 +25,49 @@ bootargs = "console=ttyS0,115200"; }; - gpio-leds { + leds { compatible = "gpio-leds"; - led_pwr: pwr { + pwr { label = "rb750gr3:blue:pwr"; gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; + default-state = "on"; }; - usr { + led_usr: usr { label = "rb750gr3:green:usr"; gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>; }; }; - gpio-keys-polled { + keys { compatible = "gpio-keys-polled"; poll-interval = <20>; mode { label = "mode"; gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; - linux,code = ; + linux,code = ; }; - res { - label = "res"; + reset { + label = "reset"; gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; linux,code = ; }; }; + beeper { + compatible = "gpio-beeper"; + gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; + }; + gpio_export { compatible = "gpio-export"; #size-cells = <0>; - buzzer { - gpio-export,name = "buzzer"; - gpio-export,output = <0>; - gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; - }; - - usb { - gpio-export,name = "usb"; + usb_power { + gpio-export,name = "usb_power"; gpio-export,output = <1>; gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; }; @@ -77,11 +77,10 @@ &spi0 { status = "okay"; - m25p80@0 { + flash@0 { compatible = "jedec,spi-nor"; reg = <0>; - spi-max-frequency = <10000000>; - m25p,chunked-io = <32>; + spi-max-frequency = <20000000>; partitions { compatible = "fixed-partitions"; @@ -143,7 +142,8 @@ &pinctrl { state_default: pinctrl0 { gpio { - ralink,group = "i2c", "uart2", "uart3", "pcie", "rgmii2", "jtag"; + /* via gpio7 (uart3 group) the PoE status can be read */ + ralink,group = "uart2", "uart3", "jtag", "wdt"; ralink,function = "gpio"; }; }; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 3f0c4bb76e..0e5e48770c 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -339,6 +339,7 @@ define Device/mikrotik_rb750gr3 $(Device/MikroTik) DTS := RB750Gr3 DEVICE_TITLE := MikroTik RouterBOARD RB750Gr3 + DEVICE_PACKAGES += kmod-gpio-beeper endef TARGET_DEVICES += mikrotik_rb750gr3