From patchwork Fri Apr 22 09:44:44 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?77ygU1JDSEFDSy5PUkc=?= X-Patchwork-Id: 613487 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (caladan.dune.hu [78.24.191.180]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3qrrMf5l6Dz9t5c for ; Fri, 22 Apr 2016 19:45:34 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=tkKey3QM; dkim-atps=neutral Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 4F78AB91732; Fri, 22 Apr 2016 11:45:29 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP; Fri, 22 Apr 2016 11:45:29 +0200 (CEST) Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 711D0B9171A for ; Fri, 22 Apr 2016 11:45:27 +0200 (CEST) X-policyd-weight: using cached result; rate: -7 Received: from mail-pf0-f178.google.com (mail-pf0-f178.google.com [209.85.192.178]) by arrakis.dune.hu (Postfix) with ESMTPS for ; Fri, 22 Apr 2016 11:45:27 +0200 (CEST) Received: by mail-pf0-f178.google.com with SMTP id n1so39914486pfn.2 for ; Fri, 22 Apr 2016 02:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=yXuKTrP7/IgpFmCEqICmO5Pxc5wusQKAMPYVLDEt++w=; b=tkKey3QMg311ggEXxipFL42ZguDhKiizouLszcS633udUXZKjdVQJxYJxk6Mwys9TZ /BNu4UXOzlpDNSNbkebotS3QcDKg11Iaere6049j+h2i8Vs5ZJbu4fhxUosJgBSiabRw AJbObIo+OBEyE/B0P6ucdpg0S8V6EtmTvcT2wKzdr+lcYOtr1dNfA6Xz/G3pCsY/tBZW c7pgZnlmpAwtJ7EGSW4SnNqJ/71d51nZevQDakB/VDHe0F6lERsRFfWqxcb+4OwVVdFo Fh+Zspq35aneoBAWssBWjSyv16XaxxryMAGj4xu42EiXB2a7kocjtrmCeNyDGmMglk3g 53KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=yXuKTrP7/IgpFmCEqICmO5Pxc5wusQKAMPYVLDEt++w=; b=QP9/LUb9fv6vyxelwFO3EYa8YfUhz9YRVbrf5IjOUtbjlgPBdIPYRyXmMtHMU79gNh nug8v0mCJc6as0uM7K6Po3CDHWUamF2R0r0QTObT5Plfe+4DloCBmvm8ji0xB6F4lPJG GluQ8GmDCMArVKVSWNie09Kf+GrzqS1gDly/7PPpXT+Sbll5lAudNUtjgGG89v7pUUAp JKQCypOTEHoNNTBo+cLTSyKjixjlSTsFFQ+9hQ6Wm1hZiCL8NHYJJLpypoQIXtJRow2k +hrtsUPz3ssXdxyL3F1ARhkDs3VnkYLWEk6gfz4f3drf0NT1XOph0P2xdqDuAVuuqKp6 b/SQ== X-Gm-Message-State: AOPr4FUaB2dAqQVu0e1+tVEWeqnMDZ4nQaaCC2vM05BRGBZ+05i8oCkB/MQT0sm0ceKlJQ== X-Received: by 10.98.9.83 with SMTP id e80mr27262308pfd.34.1461318325090; Fri, 22 Apr 2016 02:45:25 -0700 (PDT) Received: from dev.srchack.org (7c2945b5.i-revonet.jp. [124.41.69.181]) by smtp.gmail.com with ESMTPSA id t85sm7002907pfi.55.2016.04.22.02.45.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 22 Apr 2016 02:45:23 -0700 (PDT) From: YuheiOKAWA To: openwrt-devel@lists.openwrt.org Date: Fri, 22 Apr 2016 18:44:44 +0900 Message-Id: <1461318284-20817-1-git-send-email-tochiro.srchack@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: References: Subject: [OpenWrt-Devel] [PATCHv2] ramips: add support for Planex CS-QR10 X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" CS-QR10 is MT7620A based IP Camera. the camera and sound does not work with kernel 4.4. - camera chip is sn9c291. - sound chip is wm8960. Signed-off-by: YuheiOKAWA --- target/linux/ramips/base-files/etc/board.d/01_leds | 3 +- .../linux/ramips/base-files/etc/board.d/02_network | 1 + target/linux/ramips/base-files/etc/diag.sh | 1 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/CS-QR10.dts | 163 +++++++++++++++++++++ target/linux/ramips/image/mt7620.mk | 2 + target/linux/ramips/mt7620/profiles/planex.mk | 14 ++ 8 files changed, 187 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/CS-QR10.dts diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index e3b8500..367801d 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -30,7 +30,8 @@ br-6475nd|\ mzk-w300nh2) set_wifi_led "$board:amber:wlan" ;; -a5-v11) +a5-v11|\ +cs-qr10) ucidef_set_led_default "power" "POWER" "$board:red:power" "1" ;; ai-br100) diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network index 3c958ae..dc3d1bc 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -160,6 +160,7 @@ ramips_setup_interfaces() ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0" ;; + cs-qr10|\ d105|\ hpm|\ na930|\ diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index bd0ff05..2d43f54 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -33,6 +33,7 @@ get_status_led() { status_led="$board:green:power" ;; a5-v11|\ + cs-qr10|\ d105|\ dcs-930l-b1|\ ex2700|\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 550ec55..73dd599 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -88,6 +88,9 @@ ramips_board_detect() { *"CF-WR800N") name="cf-wr800n" ;; + *"CS-QR10") + name="cs-qr10" + ;; *"CY-SWR1100") name="cy-swr1100" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 73ba6e6..f153b02 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -34,6 +34,7 @@ platform_check_image() { broadway|\ carambola|\ cf-wr800n|\ + cs-qr10|\ d105|\ dap-1350|\ db-wrt01|\ diff --git a/target/linux/ramips/dts/CS-QR10.dts b/target/linux/ramips/dts/CS-QR10.dts new file mode 100644 index 0000000..08299e3 --- /dev/null +++ b/target/linux/ramips/dts/CS-QR10.dts @@ -0,0 +1,163 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "Planex CS-QR10"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + i2c@900 { + status = "okay"; + }; + + i2s: i2s@a00 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pcm_i2s_pins>; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + 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@2000 { + status = "okay"; + }; + + gdma@2800 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi refclk", "rgmii1"; + ralink,function = "gpio"; + }; + wdt { + ralink,group = "wdt"; + ralink,function = "wdt refclk"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + gsw@10110000 { + ralink,port4 = "ephy"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + }; + + sound { + compatible = "mediatek,mt7620-audio-wm8960"; + model = "mt7620-wm8960"; + i2s-controller = <&i2s>; + audio-routing = + "Ext Spk", "SPK_LP", + "Ext Spk", "SPK_LN", + "Ext Spk", "SPK_RP", + "Ext Spk", "SPK_RN"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "cs-qr10:red:power"; + gpios = <&gpio1 4 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + s1 { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <0x198>; + }; + + s2 { + label = "wps"; + gpios = <&gpio1 3 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk index c76e98e..d742151 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -95,6 +95,7 @@ whr_1166d_mtd_size=15400960 Image/Build/Profile/WHR1166D=$(call BuildFirmware/CustomFlash/$(1),$(1),whr-1166d,WHR-1166D,$(whr_1166d_mtd_size)) dlink810l_mtd_size=6881280 Image/Build/Profile/CF-WR800N=$(call BuildFirmware/Default8M/$(1),$(1),cf-wr800n,CF-WR800N) +Image/Build/Profile/CS-QR10=$(call BuildFirmware/Default8M/$(1),$(1),cs-qr10,CS-QR10) Image/Build/Profile/DIR-810L=$(call BuildFirmware/CustomFlash/$(1),$(1),dir-810l,DIR-810L,$(dlink810l_mtd_size)) na930_mtd_size=20971520 Image/Build/Profile/NA930=$(call BuildFirmware/CustomFlash/$(1),$(1),na930,NA930,$(na930_mtd_size)) @@ -138,6 +139,7 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/MT7620a_V22SG,$(1)) $(call Image/Build/Profile/AI-BR100,$(1)) $(call Image/Build/Profile/CF-WR800N,$(1)) + $(call Image/Build/Profile/CS-QR10,$(1)) $(call Image/Build/Profile/RP-N53,$(1)) $(call Image/Build/Profile/DIR-810L,$(1)) $(call Image/Build/Profile/WHR300HP2,$(1)) diff --git a/target/linux/ramips/mt7620/profiles/planex.mk b/target/linux/ramips/mt7620/profiles/planex.mk index f6f2cf1..15560ab 100644 --- a/target/linux/ramips/mt7620/profiles/planex.mk +++ b/target/linux/ramips/mt7620/profiles/planex.mk @@ -5,6 +5,20 @@ # See /LICENSE for more information. # +define Profile/CS-QR10 + NAME:=Planex CS-QR10 + PACKAGES:=\ + kmod-usb-core kmod-usb2 kmod-usb-ohci \ + i2c-core kmod-i2c-ralink kmod-sound-core kmod-sound-mtk \ + kmod-sdhci-mt7620 +endef + +define Profile/CS-QR10/Description + Package set optimized for the Planex CS-QR10. +endef +$(eval $(call Profile,CS-QR10)) + + define Profile/MZK-750DHP NAME:=Planex MZK-750DHP PACKAGES:= kmod-mt76 kmod-mt7610e