ramips: add support for YUKAI Engineering Inc. BOCCO
authorYuheiOKAWA <tochiro.srchack@gmail.com>
Thu, 22 Feb 2018 16:58:23 +0000 (01:58 +0900)
committerJohn Crispin <john@phrozen.org>
Fri, 18 May 2018 09:19:00 +0000 (11:19 +0200)
BOCCO is a communication robot provided by YUKAI Engineering Inc.

SoC: MT7620A
MEM: 256MB
Flash: 8MB
NAND: 512MB (non support)
Include Sound DAC and AMP.
No Wired Ethernet.

Signed-off-by: YuheiOKAWA <tochiro.srchack@gmail.com>
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/BOCCO.dts [new file with mode: 0644]
target/linux/ramips/image/mt7620.mk

index 2c92a6a93b368ea1d587ef50f25ffdbd0e7037be..3fc5e55df1cbbba17960a693439046d87db239a4 100755 (executable)
@@ -44,6 +44,7 @@ ramips_setup_interfaces()
        all0256n-8M|\
        all5002|\
        all5003|\
+       bocco|\
        broadway|\
        dcs-930|\
        dcs-930l-b1|\
index 8c151552dcafe73471323dba2d825c068e1b2eba..edccfcd4a894c1d0aed209139e15f3ee3f749a69 100755 (executable)
@@ -76,6 +76,9 @@ ramips_board_detect() {
        *"BC2")
                name="bc2"
                ;;
+       *"BOCCO")
+               name="bocco"
+               ;;
        *"BR-6475nD")
                name="br-6475nd"
                ;;
index e90b560731a010d075f797f1e0eb2e9d2e87eb44..7aa14770caa65db6e1ed567855deb09a664ba827 100755 (executable)
@@ -31,6 +31,7 @@ platform_check_image() {
        awm002-evb-4M|\
        awm002-evb-8M|\
        bc2|\
+       bocco|\
        broadway|\
        c108|\
        carambola|\
diff --git a/target/linux/ramips/dts/BOCCO.dts b/target/linux/ramips/dts/BOCCO.dts
new file mode 100644 (file)
index 0000000..96aab7b
--- /dev/null
@@ -0,0 +1,162 @@
+/dts-v1/;
+
+#include "mt7620a.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       compatible = "planex,cs-qr10", "ralink,mt7620a-soc";
+       model = "YUKAI Engineering BOCCO";
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+       };
+
+       gpio_export {
+               compatible = "gpio-export";
+               #size-cells = <0>;
+
+               s1 {
+                       gpio-export,name = "rec";
+                       gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+               };
+               s2 {
+                       gpio-export,name = "play";
+                       gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "Audio-I2S";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&dailink0_master>;
+               simple-audio-card,frame-master = <&dailink0_master>;
+               simple-audio-card,widgets =
+                       "Headphone", "Headphones";
+               simple-audio-card,routing =
+                       "Headphones", "HP_L",
+                       "Headphones", "HP_R";
+               simple-audio-card,mclk-fs = <256>;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&i2s>;
+               };
+
+               dailink0_master: simple-audio-card,codec {
+                       sound-dai = <&codec>;
+               };
+       };
+};
+
+&gpio0 {
+       status = "okay";
+};
+
+&gpio1 {
+       status = "okay";
+};
+
+&gpio2 {
+       status = "okay";
+};
+
+&gpio3 {
+       status = "okay";
+};
+
+&i2c {
+       status = "okay";
+
+       codec: wm8960@1a {
+               #sound-dai-cells = <0>;
+               compatible = "wlf,wm8960";
+               reg = <0x1a>;
+
+               wlf,shared-lrclk;
+       };
+};
+
+&i2s {
+       #sound-dai-cells = <0>;
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pcm_i2s_pins>;
+};
+
+&spi0 {
+       status = "okay";
+
+       m25p80@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <10000000>;
+
+               partition@0 {
+                       label = "u-boot";
+                       reg = <0x0 0x30000>;
+                       read-only;
+               };
+
+               partition@30000 {
+                       label = "u-boot-env";
+                       reg = <0x30000 0x10000>;
+                       read-only;
+               };
+
+               factory: partition@40000 {
+                       label = "factory";
+                       reg = <0x40000 0x10000>;
+                       read-only;
+               };
+
+               partition@50000 {
+                       label = "firmware";
+                       reg = <0x50000 0x7b0000>;
+               };
+       };
+};
+
+&pcm {
+       status = "okay";
+};
+
+&gdma {
+       status = "okay";
+};
+
+&pinctrl {
+       state_default: pinctrl0 {
+               gpio {
+                       ralink,group = "spi refclk", "rgmii1";
+                       ralink,function = "gpio";
+               };
+       };
+};
+
+&ethernet {
+       pinctrl-names = "default";
+       pinctrl-0 = <&ephy_pins>;
+       mtd-mac-address = <&factory 0x4>;
+       mediatek,portmap = "llllw";
+};
+
+&gsw {
+       ralink,port4 = "ephy";
+};
+
+&wmac {
+       ralink,mtd-eeprom = <&factory 0>;
+};
index 6ddbf066dfd7e9014377b095b50927ca9bfedbe7..8081d906f6be9c6fb2cc21a2a8640369626f7ff2 100644 (file)
@@ -83,6 +83,13 @@ define Device/ArcherMR200
 endef
 TARGET_DEVICES += ArcherMR200
 
+define Device/bocco
+  DTS := BOCCO
+  DEVICE_TITLE := YUKAI Engineering BOCCO
+  DEVICE_PACKAGES := kmod-sound-core kmod-sound-mt7620 kmod-i2c-ralink
+endef
+TARGET_DEVICES += bocco
+
 define Device/c108
   DTS := C108
   IMAGE_SIZE := 16777216