ramips: add support for Planex CS-QR10

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 <tochiro.srchack@gmail.com>

SVN-Revision: 49234
This commit is contained in:
John Crispin 2016-04-26 11:43:01 +00:00
parent 83ca0efb3e
commit e55d86ef32
8 changed files with 187 additions and 1 deletions

View file

@ -30,7 +30,8 @@ br-6475nd|\
mzk-w300nh2) mzk-w300nh2)
set_wifi_led "$board:amber:wlan" set_wifi_led "$board:amber:wlan"
;; ;;
a5-v11) a5-v11|\
cs-qr10)
ucidef_set_led_default "power" "POWER" "$board:red:power" "1" ucidef_set_led_default "power" "POWER" "$board:red:power" "1"
;; ;;
ai-br100) ai-br100)

View file

@ -160,6 +160,7 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0" "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
;; ;;
cs-qr10|\
d105|\ d105|\
hpm|\ hpm|\
na930|\ na930|\

View file

@ -33,6 +33,7 @@ get_status_led() {
status_led="$board:green:power" status_led="$board:green:power"
;; ;;
a5-v11|\ a5-v11|\
cs-qr10|\
d105|\ d105|\
dcs-930l-b1|\ dcs-930l-b1|\
ex2700|\ ex2700|\

View file

@ -88,6 +88,9 @@ ramips_board_detect() {
*"CF-WR800N") *"CF-WR800N")
name="cf-wr800n" name="cf-wr800n"
;; ;;
*"CS-QR10")
name="cs-qr10"
;;
*"CY-SWR1100") *"CY-SWR1100")
name="cy-swr1100" name="cy-swr1100"
;; ;;

View file

@ -34,6 +34,7 @@ platform_check_image() {
broadway|\ broadway|\
carambola|\ carambola|\
cf-wr800n|\ cf-wr800n|\
cs-qr10|\
d105|\ d105|\
dap-1350|\ dap-1350|\
db-wrt01|\ db-wrt01|\

View file

@ -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>;
};
};
};

View file

@ -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)) Image/Build/Profile/WHR1166D=$(call BuildFirmware/CustomFlash/$(1),$(1),whr-1166d,WHR-1166D,$(whr_1166d_mtd_size))
dlink810l_mtd_size=6881280 dlink810l_mtd_size=6881280
Image/Build/Profile/CF-WR800N=$(call BuildFirmware/Default8M/$(1),$(1),cf-wr800n,CF-WR800N) 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)) Image/Build/Profile/DIR-810L=$(call BuildFirmware/CustomFlash/$(1),$(1),dir-810l,DIR-810L,$(dlink810l_mtd_size))
na930_mtd_size=20971520 na930_mtd_size=20971520
Image/Build/Profile/NA930=$(call BuildFirmware/CustomFlash/$(1),$(1),na930,NA930,$(na930_mtd_size)) 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/MT7620a_V22SG,$(1))
$(call Image/Build/Profile/AI-BR100,$(1)) $(call Image/Build/Profile/AI-BR100,$(1))
$(call Image/Build/Profile/CF-WR800N,$(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/RP-N53,$(1))
$(call Image/Build/Profile/DIR-810L,$(1)) $(call Image/Build/Profile/DIR-810L,$(1))
$(call Image/Build/Profile/WHR300HP2,$(1)) $(call Image/Build/Profile/WHR300HP2,$(1))

View file

@ -5,6 +5,20 @@
# See /LICENSE for more information. # 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 define Profile/MZK-750DHP
NAME:=Planex MZK-750DHP NAME:=Planex MZK-750DHP
PACKAGES:= kmod-mt76 kmod-mt7610e PACKAGES:= kmod-mt76 kmod-mt7610e