{"id":810458,"url":"http://patchwork.ozlabs.org/api/patches/810458/?format=json","web_url":"http://patchwork.ozlabs.org/project/lede/patch/20170906091416.31542-1-kristian.evensen@gmail.com/","project":{"id":54,"url":"http://patchwork.ozlabs.org/api/projects/54/?format=json","name":"LEDE development","link_name":"lede","list_id":"lede-dev.lists.infradead.org","list_email":"lede-dev@lists.infradead.org","web_url":"http://lede-project.org/","scm_url":"","webscm_url":"http://git.lede-project.org/","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170906091416.31542-1-kristian.evensen@gmail.com>","list_archive_url":null,"date":"2017-09-06T09:14:16","name":"[LEDE-DEV,v4] ramips: Add support for the HNET C108","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"484d55b6552a17a301e617c085fe05c658a39ca9","submitter":{"id":34169,"url":"http://patchwork.ozlabs.org/api/people/34169/?format=json","name":"Kristian Evensen","email":"kristian.evensen@gmail.com"},"delegate":{"id":55824,"url":"http://patchwork.ozlabs.org/api/users/55824/?format=json","username":"mkresin","first_name":"Mathias","last_name":"Kresin","email":"openwrt@kresin.me"},"mbox":"http://patchwork.ozlabs.org/project/lede/patch/20170906091416.31542-1-kristian.evensen@gmail.com/mbox/","series":[{"id":1730,"url":"http://patchwork.ozlabs.org/api/series/1730/?format=json","web_url":"http://patchwork.ozlabs.org/project/lede/list/?series=1730","date":"2017-09-06T09:14:16","name":"[LEDE-DEV,v4] ramips: Add support for the HNET C108","version":4,"mbox":"http://patchwork.ozlabs.org/series/1730/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/810458/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/810458/checks/","tags":{},"related":[],"headers":{"Return-Path":"<lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org; spf=none (mailfrom)\n\tsmtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133;\n\thelo=bombadil.infradead.org;\n\tenvelope-from=lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"qz8KEg1i\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"WtAw+jFw\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xnHwg2NNHz9sNd\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  6 Sep 2017 19:14:59 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dpWQ6-0004lV-Ee; Wed, 06 Sep 2017 09:14:50 +0000","from mail-lf0-x243.google.com ([2a00:1450:4010:c07::243])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dpWQ1-0004i9-JP\n\tfor lede-dev@lists.infradead.org; Wed, 06 Sep 2017 09:14:48 +0000","by mail-lf0-x243.google.com with SMTP id h80so2807057lfe.1\n\tfor <lede-dev@lists.infradead.org>;\n\tWed, 06 Sep 2017 02:14:25 -0700 (PDT)","from localhost.localdomain ([193.213.155.210])\n\tby smtp.gmail.com with ESMTPSA id\n\t70sm592885ljc.67.2017.09.06.02.14.22\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 06 Sep 2017 02:14:22 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:\n\tList-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Subject:Message-Id:\n\tDate:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:\n\tList-Owner; bh=Oo41zEvdxH7FqWeryP3ZRCL1gEuFt+6ikDzGSRaL3L0=;\n\tb=qz8KEg1ixXRtpP\n\tr4cI+JAIy5bvXa9SnvKU8B8U73W5j7kiib1XIlobT1AXFsCbCDJJjrVWHuAS3SjLegITRyAMpbc8v\n\t9JwMfjFTk2xCC6UpAKBnxF+N2wWBvUUtc2BDB3KO0IaMauuIYQyxgI1zib/blIgqBF56XI9gvqA6U\n\t6ZbzOsx3Uderf7Um9wXd+GawBrYqZzgcd7e3czGUez2/ahckvOtXVVA+V7BG67Hc/48pC+0XKxvAj\n\tPlt90DVUBTyFUYsA2dsINu2A8NX8KOAcT3SL3EEM1nL5bK9GScAG2HLswZLLBf9VVa420zZyAQl6j\n\tmJGtWFGI6H1430bpHv8A==;","v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id;\n\tbh=m4StbFca5jbrsrkBVmSZbuUya5d72Xa51bGPmByWXnI=;\n\tb=WtAw+jFw0UfkFK4L4jnALPouWQssFFdu34Q1z1pvsYuiJ9JGxOzq6iF14ocbCx/8wm\n\teQE5MYt5YMxaKiDXIjrpMeR14jYIkjfrBE9ChK4BIbFrQejAJHyQbeqTDqw+SblC5bbw\n\tjTnV4o/xcoxU4gsuZkMR78mVt3o3WxM6xlLCLNny4FS9pBk4mShBXW90UQjI4KX0CcFD\n\t/YV1FHp7vU0ZRi9e1p3vnXmXjd6tfBQIqJh6/pOZk1Sk1QP4dA8pripj8nJeYkq7sus2\n\tbscs5FkkcgjjnhMZovj3HEG1CjtO31Ru+ahFEoq9Kxag4Bz0WCWWUn4bhDoHJi+zLHTP\n\t2uYg=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=m4StbFca5jbrsrkBVmSZbuUya5d72Xa51bGPmByWXnI=;\n\tb=nbnKj+WwZatPuzXGwN4XnKV+ypjKDMsv7SKxfltyvD+c20mVBiU/JtWQJTz0oGk9Rb\n\tMXGy9bdnSfDI+wxoCBzIZPALvDmfWEmAnzoFaC1XTIEgXn61nTIvBju3QVJrH+kIOaRM\n\tsvGeEDGfCe/rIULLQLm6Z1FSvOsc0hWbJ0pMT3um3BSteirxuv2abF0MdqKY4HTOyRrN\n\tJJLSKHJaDLYrhOR5Brg3tboWesXrvdqkjAE5bwyesqKJ6crnBmjgA2T5ZZa+EoRLUjL3\n\tNOXbG1N9ypRg6in9dZiKbBNobkf7HLOt398jSq4C2qY6opwvy/uJqm856+lFpmk68ghy\n\tsiHQ==","X-Gm-Message-State":"AHPjjUhUOm78/jc0/YgRE7CFHwR9afVENtN/EbhS+H6Uq1KMkkmnwqm5\n\tDSvoKYit9tzSP/Wz","X-Google-Smtp-Source":"ADKCNb4F6B8dyJBuoGJsYTB+08NBQ0/9j1AC+8gxeAR4pdaBlobnjbvt11mOnPfxfV/DhC1AiKKJaw==","X-Received":"by 10.25.79.18 with SMTP id d18mr685922lfb.118.1504689263078;\n\tWed, 06 Sep 2017 02:14:23 -0700 (PDT)","From":"Kristian Evensen <kristian.evensen@gmail.com>","To":"lede-dev@lists.infradead.org","Date":"Wed,  6 Sep 2017 11:14:16 +0200","Message-Id":"<20170906091416.31542-1-kristian.evensen@gmail.com>","X-Mailer":"git-send-email 2.11.0","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170906_021446_029392_85BAD03C ","X-CRM114-Status":"GOOD (  15.98  )","X-Spam-Score":"-2.0 (--)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-2.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,\n\tno\n\ttrust [2a00:1450:4010:c07:0:0:0:243 listed in] [list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail\n\tprovider (kristian.evensen[at]gmail.com)\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid\n\t-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n\tauthor's domain","Subject":"[LEDE-DEV] [PATCH v4] ramips: Add support for the HNET C108","X-BeenThere":"lede-dev@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<lede-dev.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/lede-dev>,\n\t<mailto:lede-dev-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/lede-dev/>","List-Post":"<mailto:lede-dev@lists.infradead.org>","List-Help":"<mailto:lede-dev-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/lede-dev>,\n\t<mailto:lede-dev-request@lists.infradead.org?subject=subscribe>","Cc":"Kristian Evensen <kristian.evensen@gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"Lede-dev\" <lede-dev-bounces@lists.infradead.org>","Errors-To":"lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"The HNET C108\n(http://www.szhwtech88.com/Product-product-cid-100-id-4374.html) is a\nmifi based on MT7602A, which has the following specifications:\n\n* CPU: MT7620A\n* 1x 10/100Mbps Ethernet.\n* 16 MB Flash.\n* 64 MB RAM.\n* 1x USB 2.0 port. Only power is connected, this port is meant for\ncharging other devices.\n* 1x mini-PCIe slots.\n* 1x SIM slots.\n* 1x 2.4Ghz WIFI.\n* 1x button.\n* 6000 mAh battery.\n* 5x controllable LEDs.\n\nWorks:\n* Wifi.\n* Switch.\n* mini-PCIe slot. Only tested with a USB device (a modem).\n* SIM slot.\n* Sysupgrade.\n* Button (reset).\n\nNot working (also applies to the factory firmware):\n* Wifi LED. It is always switched on, there is no relation to the\nup/down state or activity of the wireless interface.\n\nNot tested:\n* SD card reader.\n\nNotes:\n* The C108 has no dedicated status LED. I therefore set the LAN LED as\nstatus LED.\n\nInstallation:\nThe router comes pre-installed with OpenWRT, including a variant of\nLuci. The initial firmware install can be done through this UI,\nfollowing normal procedure. I.e., access the UI and update the firmware\nusing the sysupgrade-image. Remember to select that you do not want to\nkeep existing settings.\n\nRecovery:\nIf you brick the device, the C108 supports recovery using TFTP. Keep the\nreset button pressed for ~5sec when booting to trigger TFTP. Set the\naddress of the network interface on your machine to 10.10.10.3/24, and\nrename your image file to Kernal.bin.\n\nv3->v4:\n* Fixed typo in diag.sh.\n\nv2->v3:\n* Update description of USB port after discussing with factory.\n* Updated Wifi LED description (thanks Mathias Kresin).\n* Removed non-used GPIO bank and invalid portmap from dts, as well as\nusing absolute value for the gpio output value (thanks Mathias Kresin).\n* Update size of firmware parition in Makefile to match factory firmware\n(thanks Mathias Kresin).\n* Respect ordering in diag.sh (thanks Mathias Kresin).\n\nv1->v2:\n* Update \"Not working\" based on more testing with factory firmware.\n* Changed offset of LAN MAC address.\n\nSigned-off-by: Kristian Evensen <kristian.evensen@gmail.com>\n---\n target/linux/ramips/base-files/etc/board.d/01_leds |   4 +\n .../linux/ramips/base-files/etc/board.d/02_network |   1 +\n target/linux/ramips/base-files/etc/diag.sh         |   3 +\n target/linux/ramips/base-files/lib/ramips.sh       |   3 +\n .../ramips/base-files/lib/upgrade/platform.sh      |   1 +\n target/linux/ramips/dts/C108.dts                   | 177 +++++++++++++++++++++\n target/linux/ramips/image/mt7620.mk                |   8 +\n 7 files changed, 197 insertions(+)\n create mode 100644 target/linux/ramips/dts/C108.dts","diff":"diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds\nindex ff5d156f2c..83e1a94000 100755\n--- a/target/linux/ramips/base-files/etc/board.d/01_leds\n+++ b/target/linux/ramips/base-files/etc/board.d/01_leds\n@@ -82,6 +82,10 @@ broadway)\n \tset_usb_led \"$board:red:diskmounted\"\n \tset_wifi_led \"$board:red:wps_active\"\n \t;;\n+c108)\n+\tucidef_set_led_netdev \"lan\" \"lan\" \"$board:green:lan\" \"eth0\"\n+\tucidef_set_led_netdev \"modem\" \"modem\" \"$board:green:modem\" \"wwan0\"\n+\t;;\n c20i)\n \tucidef_set_led_switch \"lan\" \"lan\" \"$board:blue:lan\" \"switch0\" \"0x1e\"\n \tucidef_set_led_switch \"wan\" \"wan\" \"$board:blue:wan\" \"switch0\" \"0x01\"\ndiff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network\nindex df70a8b2ec..9284b1812f 100755\n--- a/target/linux/ramips/base-files/etc/board.d/02_network\n+++ b/target/linux/ramips/base-files/etc/board.d/02_network\n@@ -217,6 +217,7 @@ ramips_setup_interfaces()\n \t\tucidef_add_switch \"switch0\" \\\n \t\t\t\"1:lan\" \"2:lan\" \"3:lan\" \"4:lan\" \"0:wan\" \"9@eth0\"\n \t\t;;\n+\tc108|\\\n \tcf-wr800n)\n \t\tucidef_add_switch \"switch0\" \\\n \t\t\t\"4:lan\" \"6t@eth0\"\ndiff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh\nindex 960e189283..75171673bb 100644\n--- a/target/linux/ramips/base-files/etc/diag.sh\n+++ b/target/linux/ramips/base-files/etc/diag.sh\n@@ -103,6 +103,9 @@ get_status_led() {\n \twrh-300cr)\n \t\tstatus_led=\"$board:green:wps\"\n \t\t;;\n+\tc108)\n+\t\tstatus_led=\"$board:green:lan\"\n+\t\t;;\n \tcf-wr800n|\\\n \tpsg1208)\n \t\tstatus_led=\"$board:white:wps\"\ndiff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh\nindex fe66a87c2e..174e29e434 100755\n--- a/target/linux/ramips/base-files/lib/ramips.sh\n+++ b/target/linux/ramips/base-files/lib/ramips.sh\n@@ -85,6 +85,9 @@ ramips_board_detect() {\n \t*\"Broadway\")\n \t\tname=\"broadway\"\n \t\t;;\n+\t*\"C108\")\n+\t\tname=\"c108\"\n+\t\t;;\n \t*\"C20i\")\n \t\tname=\"c20i\"\n \t\t;;\ndiff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh\nindex 3cb1d19a28..5cfca52ab1 100755\n--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh\n+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh\n@@ -29,6 +29,7 @@ platform_check_image() {\n \tawm002-evb-8M|\\\n \tbc2|\\\n \tbroadway|\\\n+\tc108|\\\n \tcarambola|\\\n \tcf-wr800n|\\\n \tcs-qr10|\\\ndiff --git a/target/linux/ramips/dts/C108.dts b/target/linux/ramips/dts/C108.dts\nnew file mode 100644\nindex 0000000000..c449a36fc7\n--- /dev/null\n+++ b/target/linux/ramips/dts/C108.dts\n@@ -0,0 +1,177 @@\n+/*\n+ *  BSD LICENSE\n+ *\n+ *  Copyright(c) 2017 Kristian Evensen <kristian.evensen@gmail.com>.\n+ *  All rights reserved.\n+ *\n+ *  Redistribution and use in source and binary forms, with or without\n+ *  modification, are permitted provided that the following conditions\n+ *  are met:\n+ *\n+ *    * Redistributions of source code must retain the above copyright\n+ *      notice, this list of conditions and the following disclaimer.\n+ *    * Redistributions in binary form must reproduce the above copyright\n+ *      notice, this list of conditions and the following disclaimer in\n+ *      the documentation and/or other materials provided with the\n+ *      distribution.\n+ *    * Neither the name of Broadcom Corporation nor the names of its\n+ *      contributors may be used to endorse or promote products derived\n+ *      from this software without specific prior written permission.\n+ *\n+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ *  \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+/dts-v1/;\n+\n+#include \"mt7620a.dtsi\"\n+\n+#include <dt-bindings/gpio/gpio.h>\n+#include <dt-bindings/input/input.h>\n+\n+/ {\n+\tcompatible = \"hnet,c108\", \"ralink,mt7620a-soc\";\n+\tmodel = \"HNET C108\";\n+\n+\tchosen {\n+\t\tbootargs = \"console=ttyS0,115200\";\n+\t};\n+\n+\tgpio-export {\n+\t\tcompatible = \"gpio-export\";\n+\t\t#size-cells = <0>;\n+\n+\t\tpower_modem {\n+\t\t\tgpio-export,name = \"power_modem\";\n+\t\t\tgpio-export,output = <1>;\n+\t\t\tgpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;\n+\t\t};\n+\t};\n+\n+\tgpio-leds {\n+\t\tcompatible = \"gpio-leds\";\n+\n+\t\tsdcard {\n+\t\t\tlabel = \"c108:green:sdcard\";\n+\t\t\tgpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;\n+\t\t};\n+\n+\t\tmodem_green {\n+\t\t\tlabel = \"c108:green:modem\";\n+\t\t\tgpios = <&gpio1 14 GPIO_ACTIVE_LOW>;\n+\t\t};\n+\n+\t\tmodem_red {\n+\t\t\tlabel = \"c108:red:modem\";\n+\t\t\tgpios = <&gpio1 15 GPIO_ACTIVE_LOW>;\n+\t\t};\n+\n+\t\tlan_red {\n+\t\t\tlabel = \"c108:red:lan\";\n+\t\t\tgpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;\n+\t\t};\n+\n+\t\tlan_green {\n+\t\t\tlabel = \"c108:green:lan\";\n+\t\t\tgpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;\n+\t\t};\n+\t};\n+\n+\tgpio-keys-polled {\n+\t\tcompatible = \"gpio-keys-polled\";\n+\t\t#address-cells = <1>;\n+\t\t#size-cells = <0>;\n+\t\tpoll-interval = <20>;\n+\n+\t\treset {\n+\t\t\tlabel = \"reset\";\n+\t\t\tgpios = <&gpio0 1 GPIO_ACTIVE_LOW>;\n+\t\t\tlinux,code = <KEY_RESTART>;\n+\t\t};\n+\t};\n+};\n+\n+&gpio1 {\n+\tstatus = \"okay\";\n+};\n+\n+&gpio2 {\n+\tstatus = \"okay\";\n+};\n+\n+&spi0 {\n+\tstatus = \"okay\";\n+\n+\ten25q128@0 {\n+\t\t#address-cells = <1>;\n+\t\t#size-cells = <1>;\n+\t\tcompatible = \"jedec,spi-nor\";\n+\t\treg = <0>;\n+\t\tspi-max-frequency = <10000000>;\n+\n+\t\tpartition@0 {\n+\t\t\tlabel = \"u-boot\";\n+\t\t\treg = <0x0 0x30000>;\n+\t\t\tread-only;\n+\t\t};\n+\n+\t\tpartition@30000 {\n+\t\t\tlabel = \"u-boot-env\";\n+\t\t\treg = <0x30000 0x10000>;\n+\t\t\tread-only;\n+\t\t};\n+\n+\t\tfactory: partition@40000 {\n+\t\t\tlabel = \"factory\";\n+\t\t\treg = <0x40000 0x10000>;\n+\t\t\tread-only;\n+\t\t};\n+\n+\t\tpartition@50000 {\n+\t\t\tlabel = \"firmware\";\n+\t\t\treg = <0x50000 0xfb0000>;\n+\t\t};\n+\t};\n+};\n+\n+&sdhci {\n+\tstatus = \"okay\";\n+};\n+\n+&ehci {\n+\tstatus = \"okay\";\n+};\n+\n+&ohci {\n+\tstatus = \"okay\";\n+};\n+\n+&ethernet {\n+\tmtd-mac-address = <&factory 0x28>;\n+};\n+\n+&wmac {\n+\tralink,mtd-eeprom = <&factory 0>;\n+};\n+\n+&pinctrl {\n+\tstate_default: pinctrl0 {\n+\t\tdefault {\n+\t\t\tralink,group = \"i2c\", \"uartf\", \"spi refclk\", \"ephy\";\n+\t\t\tralink,function = \"gpio\";\n+\t\t};\n+\t};\n+};\n+\n+&pcie {\n+\tstatus = \"okay\";\n+};\ndiff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk\nindex f9a9fdb84c..b0eb337a47 100644\n--- a/target/linux/ramips/image/mt7620.mk\n+++ b/target/linux/ramips/image/mt7620.mk\n@@ -62,6 +62,14 @@ define Device/ArcherMR200\n endef\n TARGET_DEVICES += ArcherMR200\n \n+define Device/c108\n+  DTS := C108\n+  IMAGE_SIZE := 16777216\n+  DEVICE_TITLE := HNET C108\n+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620\n+endef\n+TARGET_DEVICES += c108\n+\n define Device/cf-wr800n\n   DTS := CF-WR800N\n   DEVICE_TITLE := Comfast CF-WR800N\n","prefixes":["LEDE-DEV","v4"]}