diff --git a/projects/hi3518ev200_cip37210/.dot b/projects/hi3518ev200_cip37210/.dot
deleted file mode 100644
index e69de29..0000000
diff --git a/projects/hi3518ev200_cip37210/Makefile b/projects/hi3518ev200_cip37210/Makefile
new file mode 100644
index 0000000..ccc9d0a
--- /dev/null
+++ b/projects/hi3518ev200_cip37210/Makefile
@@ -0,0 +1,174 @@
+
+ROOT_DIR      := $(CURDIR)
+BR_VER        ?= 2021.02.12
+BR_DIR        := $(ROOT_DIR)/buildroot-$(BR_VER)
+
+ifeq ($(PLATFORM),)
+    ifneq ($(BOARD),)
+		FULL_PATH := $(shell find br-ext-chip-* -name "$(BOARD)*_defconfig")
+		ifeq ($(FULL_PATH),)
+			FULL_PATH := $(error Cannot find anything for $(BOARD))
+		else ifneq ($(shell echo $(FULL_PATH) | wc -w), 1)
+			FULL_PATH := $(error For provided '$(BOARD)' multiple options found: $(FULL_PATH))
+		endif
+
+		PLATFORM := $(shell echo $(FULL_PATH) | cut -d '/' -f 1 | cut -d '-' -f 4 )
+    endif
+endif
+
+BR_EXT_DIR    := $(ROOT_DIR)/br-ext-chip-$(PLATFORM)
+SCRIPTS_DIR   := $(ROOT_DIR)/scripts
+#BOARDS       := $(shell ls -1 $(BR_EXT_DIR)/configs)
+
+.PHONY: usage help clean distclean prepare install-deps all toolchain-params run-tests overlayed-rootfs-%
+
+usage help:
+	@echo -e \
+	"\n\
+	BR-OpenIPC usage:\n\
+	  - make help|usage - print this help\n\
+	  - make install-deps - install system deps\n\
+	  - make prepare - download and unpack buildroot\n\
+	  - make list-configs - show available hardware configs list\n\
+	  - make BOARD=<BOARD-ID> board-info - write to stdout information about selected board\n\
+	  - make BOARD=<BOARD-ID> all - build all needed for a board (toolchain, kernel and rootfs images)\n\
+	  - make overlayed-rootfs-<FS-TYPE> ROOTFS_OVERLAYS=... - create rootfs image that contains original\n\
+	  - make clean - cleaning before reassembly\n\
+	  - make distclean - switching to the factory state\n\
+	  Buildroot target dir overlayed by some custom layers.\n\
+	  Example:\n\
+	      make overlayed-rootfs-squashfs ROOTFS_OVERLAYS=./examples/echo_server/overlay\n\
+	"
+
+distclean:
+	@rm -rf output buildroot-$(BR_VER)
+
+clean:
+	@rm -rf output/target output/.config
+
+prepare: $(BR_DIR)
+$(ROOT_DIR)/buildroot-$(BR_VER).tar.gz:
+	wget -O $@ -nv \
+		--retry-connrefused --continue --timeout=15 \
+		http://buildroot.org/downloads/buildroot-$(BR_VER).tar.gz
+
+$(BR_DIR): $(ROOT_DIR)/buildroot-$(BR_VER).tar.gz
+	tar -C $(ROOT_DIR) -xf buildroot-$(BR_VER).tar.gz
+	rm -f buildroot-$(BR_VER).tar.gz
+
+
+install-deps:
+ifneq ($(shell id -u), 0)
+	@echo "You must be root to perform this action."
+else
+	DEBIAN_FRONTEND=noninteractive apt-get update && \
+		apt-get -y install \
+		build-essential git make libncurses-dev wget curl \
+		cpio rsync bc unzip file
+endif
+
+
+%_info:
+	@echo
+	@cat $(BR_EXT_DIR)/board/$(subst _info,,$@)/config | grep RAM_LINUX_SIZE
+	$(eval VENDOR 	:= $(shell echo $@ | cut -d "_" -f 1))
+	$(eval FAMILY 	:= $(shell cat $(BR_EXT_DIR)/board/$(subst _info,,$@)/config | grep FAMILY | cut -d "=" -f 2))
+	$(eval CHIP	:= $(shell echo $@ | cut -d "_" -f 3))
+	@cat $(BR_EXT_DIR)/board/$(FAMILY)/$(CHIP).config
+
+buildroot-version:
+	@echo $(BR_VER)
+
+has-nand:
+	@sed -rn "s/^BR2_TARGET_ROOTFS_UBI=(y)/\1/p" $(FULL_PATH)
+
+toolname:
+	@$(SCRIPTS_DIR)/show_toolchains.sh $(FULL_PATH) $(BR_VER)
+
+list-configs:
+	@echo
+	@ls -1 $(BR_EXT_DIR)/configs
+
+
+# -------------------------------------------------------------------------------------------------
+OUT_DIR ?= $(ROOT_DIR)/output
+
+# Buildroot considers relative paths relatively to its' own root directory. So we use absolute paths
+# to avoid ambiguity
+override OUT_DIR := $(abspath $(OUT_DIR))
+BOARD_MAKE := $(MAKE) -C $(BR_DIR) BR2_EXTERNAL=$(BR_EXT_DIR) O=$(OUT_DIR)
+
+define CREATE_TOOLCHAIN_PARAMS
+    eval $$($(BOARD_MAKE) -s --no-print-directory VARS=GNU_TARGET_NAME printvars) \
+    && $(SCRIPTS_DIR)/create_toolchain_binding.sh $(OUT_DIR)/host/bin $$GNU_TARGET_NAME \
+    > $(OUT_DIR)/toolchain-params.mk
+endef
+
+# -------------------------------------------------------------------------------------------------
+$(OUT_DIR)/.config:
+ifndef BOARD
+	@echo "Variable BOARD must be defined to initialize output directory" >&2 && exit 1
+endif
+	$(BOARD_MAKE) BR2_DEFCONFIG=$(BR_EXT_DIR)/configs/$(BOARD)_defconfig defconfig
+
+
+$(OUT_DIR)/toolchain-params.mk: $(OUT_DIR)/.config $(SCRIPTS_DIR)/create_toolchain_binding.sh
+	$(CREATE_TOOLCHAIN_PARAMS)
+
+
+# -------------------------------------------------------------------------------------------------
+# build all needed for a board
+all: $(OUT_DIR)/.config $(OUT_DIR)/toolchain-params.mk
+	$(BOARD_MAKE) all
+
+
+# -------------------------------------------------------------------------------------------------
+# re-create params file
+toolchain-params:
+	$(CREATE_TOOLCHAIN_PARAMS)
+
+# -------------------------------------------------------------------------------------------------
+# create rootfs image that contains original Buildroot target dir overlayed by some custom layers
+# space-separated list of overlays
+
+ROOTFS_OVERLAYS ?=
+# overlayed rootfs directory
+ROOTFS_OVERLAYED_DIR ?= $(OUT_DIR)/target-overlayed
+# overlayed rootfs image's name (without prefix)
+ROOTFS_OVERLAYED_IMAGE ?= rootfs-overlayed
+
+overlayed-rootfs-%: $(OUT_DIR)/.config
+	$(SCRIPTS_DIR)/create_overlayed_rootfs.sh $(ROOTFS_OVERLAYED_DIR) $(OUT_DIR)/target $(ROOTFS_OVERLAYS)
+	$(BOARD_MAKE) $(subst overlayed-,,$@) \
+	    BASE_TARGET_DIR=$(abspath $(ROOTFS_OVERLAYED_DIR)) \
+	    ROOTFS_$(call UPPERCASE,$(subst overlayed-rootfs-,,$@))_FINAL_IMAGE_NAME=$(ROOTFS_OVERLAYED_IMAGE).$(subst overlayed-rootfs-,,$@)
+
+
+# -------------------------------------------------------------------------------------------------
+board-info:
+	@cat $(BR_EXT_DIR)/board/$(BOARD)/config | grep RAM_LINUX_SIZE
+	$(eval VENDOR := $(shell echo $(BOARD) | cut -d "_" -f 1))
+	$(eval FAMILY := $(shell cat $(BR_EXT_DIR)/board/$(BOARD)/config | grep FAMILY | cut -d "=" -f 2))
+	$(eval CHIP   := $(shell echo $(BOARD) | cut -d "_" -f 3))
+	@cat $(BR_EXT_DIR)/board/$(FAMILY)/$(CHIP).config
+	@cat $(BR_EXT_DIR)/board/$(BOARD)/config
+
+# -------------------------------------------------------------------------------------------------
+# such targets (with trimmed `br-` prefix) are passed to Buildroot's Makefile
+br-%: $(OUT_DIR)/.config
+	$(BOARD_MAKE) $(subst br-,,$@)
+
+
+# -------------------------------------------------------------------------------------------------
+run-tests:
+	$(MAKE) -C $(ROOT_DIR)/tests
+
+
+# -------------------------------------------------------------------------------------------------
+# there are some extra targets of specific packages
+include $(sort $(wildcard $(ROOT_DIR)/extra/*.mk))
+
+
+# -------------------------------------------------------------------------------------------------
+# util stuff is below
+UPPERCASE = $(shell echo $(1) | tr a-z A-Z)
diff --git a/projects/hi3518ev200_cip37210/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_hs303v1_defconfig b/projects/hi3518ev200_cip37210/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_hs303v1_defconfig
new file mode 100644
index 0000000..e525e2b
--- /dev/null
+++ b/projects/hi3518ev200_cip37210/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_hs303v1_defconfig
@@ -0,0 +1,108 @@
+# Architecture
+BR2_arm=y
+BR2_arm926t=y
+BR2_ARM_EABI=y
+# BR2_ARM_INSTRUCTIONS_THUMB is not set
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="4.9.37"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
+
+# Toolchain
+BR2_PER_PACKAGE_DIRECTORIES=y
+BR2_GCC_VERSION_8_X=y
+# BR2_TOOLCHAIN_USES_UCLIBC is not set
+# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
+# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
+BR2_TOOLCHAIN_USES_MUSL=y
+BR2_TOOLCHAIN_BUILDROOT_MUSL=y
+BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.37"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516cv200/kernel/hi3518ev200.generic.config"
+BR2_LINUX_KERNEL_UIMAGE=y
+BR2_LINUX_KERNEL_XZ=y
+BR2_LINUX_KERNEL_EXT_HISI_PATCHER=y
+BR2_LINUX_KERNEL_EXT_HISI_PATCHER_LIST="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516cv200/kernel/patches/ $(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516cv200/kernel/overlay"
+
+# Filesystem
+# BR2_TARGET_TZ_INFO is not set
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ROOTFS_SQUASHFS=y
+BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
+BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh"
+
+# OpenIPC configuration
+BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
+BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.2"
+BR2_TARGET_GENERIC_HOSTNAME="openipc-hi3518ev200"
+BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
+
+# OpenIPC packages
+BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"
+BR2_PACKAGE_DROPBEAR_OPENIPC=y
+# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
+BR2_PACKAGE_FWPRINTENV_OPENIPC=y
+BR2_PACKAGE_HASERL=y
+BR2_PACKAGE_HISI_GPIO is not set
+BR2_PACKAGE_HISILICON_OSDRV_HI3516CV200=y
+BR2_PACKAGE_IPCTOOL=y
+BR2_PACKAGE_JSON_C=y
+BR2_PACKAGE_LAME_OPENIPC=y
+BR2_PACKAGE_LIBCURL_OPENIPC=y
+BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
+# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set
+# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
+# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
+# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
+BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y
+BR2_PACKAGE_LIBEVENT_OPENIPC=y
+BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y
+BR2_PACKAGE_LIBOGG_OPENIPC=y
+BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
+BR2_PACKAGE_LIBYAML=y
+BR2_PACKAGE_MAJESTIC_FONTS=y
+BR2_PACKAGE_MAJESTIC=y
+BR2_PACKAGE_MBEDTLS_OPENIPC=y
+# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
+# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
+BR2_PACKAGE_MICROBE_WEB=y
+# BR2_PACKAGE_MINI_SNMPD is not set
+# BR2_PACKAGE_MOTORS is not set
+BR2_PACKAGE_OPUS_OPENIPC=y
+BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
+# BR2_PACKAGE_SSHPASS is not set
+BR2_PACKAGE_UACME_OPENIPC=y
+BR2_PACKAGE_VTUND_OPENIPC=y
+BR2_PACKAGE_YAML_CLI=y
+
+# WiFi
+BR2_PACKAGE_WIRELESS_TOOLS=y
+BR2_PACKAGE_WPA_SUPPLICANT=y
+BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
+BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
+BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
+BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
+BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
+BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL8188EU=y
+# BR2_PACKAGE_RTL8188EU is not set
+# BR2_PACKAGE_RTL8188FU_OPENIPC is not set
+
+# WIREGUARD
+# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set
+# BR2_PACKAGE_WIREGUARD_TOOLS is not set
+
+# MQTT
+BR2_PACKAGE_MOSQUITTO=y
+# BR2_PACKAGE_MOSQUITTO_BROKER is not set
+
+# DEBUG
+BR2_PACKAGE_HOST_GDB=y
+BR2_PACKAGE_GDB=y