ipq40xx: add support for Crisis Innovation Lab MeshPoint.One
MeshPoint.One is Wi-Fi hotspot and smart IoT gateway (based upon Jalapeno module from 8Devices). MeshPoint.One (https://meshpointone.com) is a unique Wi-Fi hotspot and smart city gateway that can be installed and powered from street lighting (even solar power in the future). MeshPoint provides up to 27 hours of interrupted Wi-Fi and IoT services from internal battery even when external power is not available. MeshPoint.One can be used for disaster relief efforts in order to provide instant Wi-Fi coverage that can be easily expanded by just adding more devices that create wide area mesh network. MeshPoint.One devices have standard Luci UI for management. Features: - 1x 1Gpbs WAN - 1x 1Gbps LAN - POE input (eth0) - POE output (eth1) - Sensor for temperature, humidity and pressure (Bosch BME280) - current, voltage and power measurement via TI INA230 - Hardware real time clock - optional power via Li-Ion battery - micro USB port with USB to serial chip for easy OpenWrt terminal access - I2C header for connecting additional sensors Installation: ------------- Simply flash the sysupgrade image from stock firmware. Or use the built in Web recovery into bootloader: Hold Reset button for 5 to 20 seconds or use UART and httpd command. Web UI will appear on 192.168.2.100 by default. For web recovery use the factory.ubi image. Signed-off-by: Damir Samardzic <damir.samardzic@sartura.hr> Signed-off-by: Damir Franusic <damir.franusic@sartura.hr> Signed-off-by: Valent Turkovic <valent@meshpoint.me> Signed-off-by: Robert Marko <robert@meshpoint.me> [commit description long line wrap, usb->USB] Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
		 Robert Marko
					Robert Marko
				
			
				
					committed by
					
						 Petr Štetiar
						Petr Štetiar
					
				
			
			
				
	
			
			
			 Petr Štetiar
						Petr Štetiar
					
				
			
						parent
						
							c550b1acfc
						
					
				
				
					commit
					146eb4925c
				
			| @@ -18,6 +18,7 @@ ipq40xx_setup_interfaces() | |||||||
| 		ucidef_set_interfaces_lan_wan "eth0" "eth1" | 		ucidef_set_interfaces_lan_wan "eth0" "eth1" | ||||||
| 		;; | 		;; | ||||||
| 	asus,map-ac2200|\ | 	asus,map-ac2200|\ | ||||||
|  | 	cilab,meshpoint-one|\ | ||||||
| 	openmesh,a42|\ | 	openmesh,a42|\ | ||||||
| 	openmesh,a62) | 	openmesh,a62) | ||||||
| 		ucidef_set_interfaces_lan_wan "eth1" "eth0" | 		ucidef_set_interfaces_lan_wan "eth1" "eth0" | ||||||
| @@ -84,6 +85,9 @@ ipq40xx_setup_macs() | |||||||
| 		wan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006) | 		wan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006) | ||||||
| 		lan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) | 		lan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) | ||||||
| 		;; | 		;; | ||||||
|  | 	cilab,meshpoint-one) | ||||||
|  | 		label_mac=$(mtd_get_mac_binary "ART" 0x1006) | ||||||
|  | 		;; | ||||||
| 	engenius,ens620ext) | 	engenius,ens620ext) | ||||||
| 		wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) | 		wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) | ||||||
| 		lan_mac=$(macaddr_add "$wan_mac" 1) | 		lan_mac=$(macaddr_add "$wan_mac" 1) | ||||||
| @@ -96,6 +100,7 @@ ipq40xx_setup_macs() | |||||||
|  |  | ||||||
| 	[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac | 	[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac | ||||||
| 	[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac | 	[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac | ||||||
|  | 	[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac | ||||||
| } | } | ||||||
|  |  | ||||||
| board_config_update | board_config_update | ||||||
|   | |||||||
| @@ -7,6 +7,9 @@ board_config_update | |||||||
| board=$(board_name) | board=$(board_name) | ||||||
|  |  | ||||||
| case "$board" in | case "$board" in | ||||||
|  | cilab,meshpoint-one) | ||||||
|  | 	ucidef_add_gpio_switch "poe_passtrough" "POE passtrough enable" "413" "1" | ||||||
|  | 	;; | ||||||
| compex,wpj428) | compex,wpj428) | ||||||
| 	ucidef_add_gpio_switch "sim_card_select" "SIM card select" "3" "0" | 	ucidef_add_gpio_switch "sim_card_select" "SIM card select" "3" "0" | ||||||
| 	;; | 	;; | ||||||
|   | |||||||
| @@ -45,6 +45,7 @@ case "$FIRMWARE" in | |||||||
| 	case "$board" in | 	case "$board" in | ||||||
| 	8dev,jalapeno |\ | 	8dev,jalapeno |\ | ||||||
| 	alfa-network,ap120c-ac |\ | 	alfa-network,ap120c-ac |\ | ||||||
|  | 	cilab,meshpoint-one |\ | ||||||
| 	glinet,gl-b1300 |\ | 	glinet,gl-b1300 |\ | ||||||
| 	linksys,ea6350v3 |\ | 	linksys,ea6350v3 |\ | ||||||
| 	qcom,ap-dk01.1-c1) | 	qcom,ap-dk01.1-c1) | ||||||
| @@ -109,6 +110,7 @@ case "$FIRMWARE" in | |||||||
| 	case "$board" in | 	case "$board" in | ||||||
| 	8dev,jalapeno |\ | 	8dev,jalapeno |\ | ||||||
| 	alfa-network,ap120c-ac |\ | 	alfa-network,ap120c-ac |\ | ||||||
|  | 	cilab,meshpoint-one |\ | ||||||
| 	glinet,gl-b1300 |\ | 	glinet,gl-b1300 |\ | ||||||
| 	linksys,ea6350v3 |\ | 	linksys,ea6350v3 |\ | ||||||
| 	qcom,ap-dk01.1-c1) | 	qcom,ap-dk01.1-c1) | ||||||
|   | |||||||
| @@ -50,6 +50,7 @@ platform_do_upgrade() { | |||||||
| 	avm,fritzbox-7530 |\ | 	avm,fritzbox-7530 |\ | ||||||
| 	avm,fritzrepeater-1200 |\ | 	avm,fritzrepeater-1200 |\ | ||||||
| 	avm,fritzrepeater-3000 |\ | 	avm,fritzrepeater-3000 |\ | ||||||
|  | 	cilab,meshpoint-one |\ | ||||||
| 	qxwlan,e2600ac-c2) | 	qxwlan,e2600ac-c2) | ||||||
| 		nand_do_upgrade "$1" | 		nand_do_upgrade "$1" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -0,0 +1,81 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  | /* Copyright (c) 2019, CRISIS INNOVATION LAB d.o.o. | ||||||
|  |  * Author: Robert Marko <robert@meshpoint.me> | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "qcom-ipq4018-jalapeno.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	model = "Crisis Innovation Lab MeshPoint.One"; | ||||||
|  | 	compatible = "cilab,meshpoint-one"; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		led-boot = &led_status; | ||||||
|  | 		led-failsafe = &led_status; | ||||||
|  | 		led-running = &led_status; | ||||||
|  | 		led-upgrade = &led_status; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	soc { | ||||||
|  | 		i2c-gpio { | ||||||
|  | 			status = "okay"; | ||||||
|  |  | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  |  | ||||||
|  | 			compatible = "i2c-gpio"; | ||||||
|  | 			gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* sda */ | ||||||
|  | 					 &tlmm 4 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* scl */ | ||||||
|  | 					>; | ||||||
|  |  | ||||||
|  | 			bme280@76 { | ||||||
|  | 				status = "okay"; | ||||||
|  |  | ||||||
|  | 				compatible = "bosch,bme280"; | ||||||
|  | 				reg = <0x76>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			pcf2129@51 { | ||||||
|  | 				status = "okay"; | ||||||
|  |  | ||||||
|  | 				compatible = "nxp,pcf2129"; | ||||||
|  | 				reg = <0x51>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ina230@40 { | ||||||
|  | 				status = "okay"; | ||||||
|  |  | ||||||
|  | 				compatible = "ti,ina230"; | ||||||
|  | 				reg = <0x40>; | ||||||
|  | 				shunt-resistor = <2000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ina230@44 { | ||||||
|  | 				status = "okay"; | ||||||
|  |  | ||||||
|  | 				compatible = "ti,ina230"; | ||||||
|  | 				reg = <0x44>; | ||||||
|  | 				shunt-resistor = <2000>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,code = <KEY_RESTART >; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		led_status: status { | ||||||
|  | 			label = "meshpoint-one:blue:status"; | ||||||
|  | 			gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -60,14 +60,18 @@ define Build/SenaoFW | |||||||
| 	@cp $@.new $@ | 	@cp $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Device/8dev_jalapeno | define Device/8dev_jalapeno-common | ||||||
| 	$(call Device/FitImage) | 	$(call Device/FitImage) | ||||||
| 	$(call Device/UbiFit) | 	$(call Device/UbiFit) | ||||||
|  | 	BLOCKSIZE := 128k | ||||||
|  | 	PAGESIZE := 2048 | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Device/8dev_jalapeno | ||||||
|  | 	$(call Device/8dev_jalapeno-common) | ||||||
| 	DEVICE_VENDOR := 8devices | 	DEVICE_VENDOR := 8devices | ||||||
| 	DEVICE_MODEL := Jalapeno | 	DEVICE_MODEL := Jalapeno | ||||||
| 	DEVICE_DTS := qcom-ipq4018-jalapeno | 	DEVICE_DTS := qcom-ipq4018-jalapeno | ||||||
| 	BLOCKSIZE := 128k |  | ||||||
| 	PAGESIZE := 2048 |  | ||||||
| endef | endef | ||||||
| TARGET_DEVICES += 8dev_jalapeno | TARGET_DEVICES += 8dev_jalapeno | ||||||
|  |  | ||||||
| @@ -164,6 +168,15 @@ define Device/avm_fritzrepeater-3000 | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += avm_fritzrepeater-3000 | TARGET_DEVICES += avm_fritzrepeater-3000 | ||||||
|  |  | ||||||
|  | define Device/cilab_meshpoint-one | ||||||
|  | 	$(call Device/8dev_jalapeno-common) | ||||||
|  | 	DEVICE_DTS := qcom-ipq4018-meshpoint-one | ||||||
|  | 	DEVICE_VENDOR := Crisis Innovation Lab | ||||||
|  | 	DEVICE_MODEL := MeshPoint.One | ||||||
|  | 	DEVICE_PACKAGES := kmod-i2c-gpio kmod-iio-bmp280-i2c kmod-hwmon-ina2xx kmod-rtc-pcf2127 | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += cilab_meshpoint-one | ||||||
|  |  | ||||||
| define Device/compex_wpj419 | define Device/compex_wpj419 | ||||||
| 	$(call Device/FitImage) | 	$(call Device/FitImage) | ||||||
| 	$(call Device/UbiFit) | 	$(call Device/UbiFit) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org> | |||||||
|  |  | ||||||
| --- a/arch/arm/boot/dts/Makefile | --- a/arch/arm/boot/dts/Makefile | ||||||
| +++ b/arch/arm/boot/dts/Makefile | +++ b/arch/arm/boot/dts/Makefile | ||||||
| @@ -785,11 +785,36 @@ dtb-$(CONFIG_ARCH_QCOM) += \ | @@ -785,11 +785,37 @@ dtb-$(CONFIG_ARCH_QCOM) += \ | ||||||
|  	qcom-apq8074-dragonboard.dtb \ |  	qcom-apq8074-dragonboard.dtb \ | ||||||
|  	qcom-apq8084-ifc6540.dtb \ |  	qcom-apq8084-ifc6540.dtb \ | ||||||
|  	qcom-apq8084-mtp.dtb \ |  	qcom-apq8084-mtp.dtb \ | ||||||
| @@ -23,6 +23,7 @@ Signed-off-by: John Crispin <john@phrozen.org> | |||||||
| +	qcom-ipq4018-ex6150v2.dtb \ | +	qcom-ipq4018-ex6150v2.dtb \ | ||||||
| +	qcom-ipq4018-fritz4040.dtb \ | +	qcom-ipq4018-fritz4040.dtb \ | ||||||
| +	qcom-ipq4018-jalapeno.dtb \ | +	qcom-ipq4018-jalapeno.dtb \ | ||||||
|  | +	qcom-ipq4018-meshpoint-one.dtb \ | ||||||
| +	qcom-ipq4018-nbg6617.dtb \ | +	qcom-ipq4018-nbg6617.dtb \ | ||||||
| +	qcom-ipq4018-rt-ac58u.dtb \ | +	qcom-ipq4018-rt-ac58u.dtb \ | ||||||
| +	qcom-ipq4018-wre6606.dtb \ | +	qcom-ipq4018-wre6606.dtb \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user