From 84a0282dd0f47b7b8fa4b477d89bba1fa1635acd Mon Sep 17 00:00:00 2001
From: Dmitry Ilyin <dima@doty.ru>
Date: Sun, 31 Oct 2021 17:45:00 +0300
Subject: [PATCH 1/2] Redesign README (#63)

* Shorten badges

* Rearrange columns in status table

* Redesign README
---
 .github/workflows/fh8632_images.yml      |   2 +-
 .github/workflows/fh8852_images.yml      |   2 +-
 .github/workflows/fh8856_images.yml      |   2 +-
 .github/workflows/gk7102s_images.yml     |   2 +-
 .github/workflows/gk7202v300_images.yml  |   2 +-
 .github/workflows/gk7205v200_images.yml  |   2 +-
 .github/workflows/gk7205v300_images.yml  |   2 +-
 .github/workflows/gk7605v100_images.yml  |   2 +-
 .github/workflows/hi3516av300_images.yml |   2 +-
 .github/workflows/hi3516cv200_images.yml |   2 +-
 .github/workflows/hi3516cv300_images.yml |   2 +-
 .github/workflows/hi3516cv500_images.yml |   2 +-
 .github/workflows/hi3516dv300_images.yml |   2 +-
 .github/workflows/hi3516ev200_images.yml |   2 +-
 .github/workflows/hi3516ev300_images.yml |   2 +-
 .github/workflows/hi3518ev200_images.yml |   2 +-
 .github/workflows/hi3518ev300_images.yml |   2 +-
 .github/workflows/nt98562_images.yml     |   2 +-
 .github/workflows/nt98566_images.yml     |   2 +-
 .github/workflows/ssc325_images.yml      |   2 +-
 .github/workflows/ssc335_images.yml      |   2 +-
 .github/workflows/ssc337_images.yml      |   2 +-
 .github/workflows/ssc337de_images.yml    |   2 +-
 .github/workflows/t31_images.yml         |   2 +-
 .github/workflows/xm510_images.yml       |   2 +-
 .github/workflows/xm530_images.yml       |   2 +-
 .github/workflows/xm550_images.yml       |   2 +-
 docs/index.md                            | 124 ++++++++++++-----------
 28 files changed, 94 insertions(+), 84 deletions(-)

diff --git a/.github/workflows/fh8632_images.yml b/.github/workflows/fh8632_images.yml
index a6d169ea..975b2c0f 100644
--- a/.github/workflows/fh8632_images.yml
+++ b/.github/workflows/fh8632_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for FH8632
+name: FH8632
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/fh8852_images.yml b/.github/workflows/fh8852_images.yml
index fc1e017d..f4d3ea0f 100644
--- a/.github/workflows/fh8852_images.yml
+++ b/.github/workflows/fh8852_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for FH8852
+name: FH8852
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/fh8856_images.yml b/.github/workflows/fh8856_images.yml
index 46429fc0..61106c04 100644
--- a/.github/workflows/fh8856_images.yml
+++ b/.github/workflows/fh8856_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for FH8856
+name: FH8856
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/gk7102s_images.yml b/.github/workflows/gk7102s_images.yml
index 65b40045..742b17ee 100644
--- a/.github/workflows/gk7102s_images.yml
+++ b/.github/workflows/gk7102s_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for GK7102S
+name: GK7102S
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/gk7202v300_images.yml b/.github/workflows/gk7202v300_images.yml
index 7768c231..5889190a 100644
--- a/.github/workflows/gk7202v300_images.yml
+++ b/.github/workflows/gk7202v300_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for GK7202v300
+name: GK7202v300
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/gk7205v200_images.yml b/.github/workflows/gk7205v200_images.yml
index 27c5bc75..947b6376 100644
--- a/.github/workflows/gk7205v200_images.yml
+++ b/.github/workflows/gk7205v200_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for GK7205v200
+name: GK7205v200
 
 on:
   push:
diff --git a/.github/workflows/gk7205v300_images.yml b/.github/workflows/gk7205v300_images.yml
index 7dd695e6..ef9ed976 100644
--- a/.github/workflows/gk7205v300_images.yml
+++ b/.github/workflows/gk7205v300_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for GK7205v300
+name: GK7205v300
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/gk7605v100_images.yml b/.github/workflows/gk7605v100_images.yml
index 17caaf61..e7eb9d6a 100644
--- a/.github/workflows/gk7605v100_images.yml
+++ b/.github/workflows/gk7605v100_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for GK7605v100
+name: GK7605v100
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/hi3516av300_images.yml b/.github/workflows/hi3516av300_images.yml
index cd840304..9bf489bc 100644
--- a/.github/workflows/hi3516av300_images.yml
+++ b/.github/workflows/hi3516av300_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for Hi3516Av300
+name: Hi3516Av300
 
 on:
   push:
diff --git a/.github/workflows/hi3516cv200_images.yml b/.github/workflows/hi3516cv200_images.yml
index 5980b794..72a28377 100644
--- a/.github/workflows/hi3516cv200_images.yml
+++ b/.github/workflows/hi3516cv200_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for Hi3516Cv200
+name: Hi3516Cv200
 
 on:
   push:
diff --git a/.github/workflows/hi3516cv300_images.yml b/.github/workflows/hi3516cv300_images.yml
index 1e91dc81..5731bbc6 100644
--- a/.github/workflows/hi3516cv300_images.yml
+++ b/.github/workflows/hi3516cv300_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for Hi3516Cv300
+name: Hi3516Cv300
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/hi3516cv500_images.yml b/.github/workflows/hi3516cv500_images.yml
index d8f87410..80d812bb 100644
--- a/.github/workflows/hi3516cv500_images.yml
+++ b/.github/workflows/hi3516cv500_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for Hi3516Cv500
+name: Hi3516Cv500
 
 on:
   push:
diff --git a/.github/workflows/hi3516dv300_images.yml b/.github/workflows/hi3516dv300_images.yml
index c3275c1e..2a518856 100644
--- a/.github/workflows/hi3516dv300_images.yml
+++ b/.github/workflows/hi3516dv300_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for Hi3516Dv300
+name: Hi3516Dv300
 
 on:
   push:
diff --git a/.github/workflows/hi3516ev200_images.yml b/.github/workflows/hi3516ev200_images.yml
index a7578e51..d0120fe4 100644
--- a/.github/workflows/hi3516ev200_images.yml
+++ b/.github/workflows/hi3516ev200_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for Hi3516Ev200
+name: Hi3516Ev200
 
 on:
   push:
diff --git a/.github/workflows/hi3516ev300_images.yml b/.github/workflows/hi3516ev300_images.yml
index 707fd4ca..ad77c3b0 100644
--- a/.github/workflows/hi3516ev300_images.yml
+++ b/.github/workflows/hi3516ev300_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for Hi3516Ev300
+name: Hi3516Ev300
 
 on:
   push:
diff --git a/.github/workflows/hi3518ev200_images.yml b/.github/workflows/hi3518ev200_images.yml
index 8b34d1a5..a598c6db 100644
--- a/.github/workflows/hi3518ev200_images.yml
+++ b/.github/workflows/hi3518ev200_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for Hi3518Ev200
+name: Hi3518Ev200
 
 on:
   push:
diff --git a/.github/workflows/hi3518ev300_images.yml b/.github/workflows/hi3518ev300_images.yml
index 4ac82136..26eb92b7 100644
--- a/.github/workflows/hi3518ev300_images.yml
+++ b/.github/workflows/hi3518ev300_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for Hi3518Ev300
+name: Hi3518Ev300
 
 on:
   push:
diff --git a/.github/workflows/nt98562_images.yml b/.github/workflows/nt98562_images.yml
index 15f44cf6..8445da3a 100644
--- a/.github/workflows/nt98562_images.yml
+++ b/.github/workflows/nt98562_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for NT98562
+name: NT98562
 
 on:
   push:
diff --git a/.github/workflows/nt98566_images.yml b/.github/workflows/nt98566_images.yml
index d8cf7e02..93e16385 100644
--- a/.github/workflows/nt98566_images.yml
+++ b/.github/workflows/nt98566_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for NT98566
+name: NT98566
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/ssc325_images.yml b/.github/workflows/ssc325_images.yml
index d1316a46..29bebdb9 100644
--- a/.github/workflows/ssc325_images.yml
+++ b/.github/workflows/ssc325_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for SSC325
+name: SSC325
 
 on:
   push:
diff --git a/.github/workflows/ssc335_images.yml b/.github/workflows/ssc335_images.yml
index b48d9f63..4ff6cd78 100644
--- a/.github/workflows/ssc335_images.yml
+++ b/.github/workflows/ssc335_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for SSC335
+name: SSC335
 
 on:
   push:
diff --git a/.github/workflows/ssc337_images.yml b/.github/workflows/ssc337_images.yml
index 52e95730..c084e0eb 100644
--- a/.github/workflows/ssc337_images.yml
+++ b/.github/workflows/ssc337_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for SSC337
+name: SSC337
 
 on:
   push:
diff --git a/.github/workflows/ssc337de_images.yml b/.github/workflows/ssc337de_images.yml
index c7f1dec9..a26fb72d 100644
--- a/.github/workflows/ssc337de_images.yml
+++ b/.github/workflows/ssc337de_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for SSC337DE
+name: SSC337DE
 
 on:
   push:
diff --git a/.github/workflows/t31_images.yml b/.github/workflows/t31_images.yml
index effbd98f..28588422 100644
--- a/.github/workflows/t31_images.yml
+++ b/.github/workflows/t31_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for T31
+name: T31
 
 on:
   workflow_dispatch:
diff --git a/.github/workflows/xm510_images.yml b/.github/workflows/xm510_images.yml
index 8e6be80b..e4f3e739 100644
--- a/.github/workflows/xm510_images.yml
+++ b/.github/workflows/xm510_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for XM510
+name: XM510
 
 on:
   push:
diff --git a/.github/workflows/xm530_images.yml b/.github/workflows/xm530_images.yml
index 076e2f22..80718cc6 100644
--- a/.github/workflows/xm530_images.yml
+++ b/.github/workflows/xm530_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for XM530
+name: XM530
 
 on:
   push:
diff --git a/.github/workflows/xm550_images.yml b/.github/workflows/xm550_images.yml
index 5e113343..fa7360f1 100644
--- a/.github/workflows/xm550_images.yml
+++ b/.github/workflows/xm550_images.yml
@@ -1,4 +1,4 @@
-name: OpenIPC for XM550
+name: XM550
 
 on:
   push:
diff --git a/docs/index.md b/docs/index.md
index e1232e6e..ab26b0f2 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -31,37 +31,38 @@ If you like our work, please consider supporting us on [Opencollective](https://
 
 -----
 
-### Downloads (for research only, no any guarantees)
+### Downloads (for research only, without any guarantee) <a href="#commercial">*</a>
 
-| Building status |    SoC    | Files    | Status |
-|-----------------|-----------|----------|--------|
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/fh8632_images.yml/badge.svg)     |FH8632     |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.fh8632-br.tgz)     | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/fh8852_images.yml/badge.svg)     |FH8852     |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.fh8852-br.tgz)     | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/fh8856_images.yml/badge.svg)     |FH8856     |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.fh8856-br.tgz)     | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7102s_images.yml/badge.svg)    |GK7102S    |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.gk7102s-br.tgz)    | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7202v300_images.yml/badge.svg) |GK7202v300 |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.gk7202v300-br.tgz) | WIP   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7205v200_images.yml/badge.svg) |GK7205v200 |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.gk7205v200-br.tgz) | READY |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7205v300_images.yml/badge.svg) |GK7205v300 |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.gk7205v300-br.tgz) | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7605v100_images.yml/badge.svg) |GK7605v100 |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.gk7605v100-br.tgz) | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516av300_images.yml/badge.svg)|Hi3516Av300|[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516av300-br.tgz)| WIP   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516cv500_images.yml/badge.svg)|Hi3516Cv500|[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516cv500-br.tgz)| WIP   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516dv300_images.yml/badge.svg)|Hi3516Dv300|[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516dv300-br.tgz)| WIP   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516ev200_images.yml/badge.svg)|Hi3516Ev200|[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516ev200-br.tgz)| READY |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516ev300_images.yml/badge.svg)|Hi3516Ev300|[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516ev300-br.tgz)| READY |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3518ev300_images.yml/badge.svg)|Hi3518Ev300|[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3518ev300-br.tgz)| READY |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/msc313e_images.yml/badge.svg)    |MSC313E    |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.msc313e-br.tgz)    | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/nt98562_images.yml/badge.svg)    |NT98562    |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.nt98562-br.tgz)    | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/nt98566_images.yml/badge.svg)    |NT98566    |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.nt98566-br.tgz)    | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/ssc325_images.yml/badge.svg)     |SSC325     |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.ssc325-br.tgz)     | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/ssc335_images.yml/badge.svg)     |SSC335     |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.ssc335-br.tgz)     | WORK  |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/ssc337_images.yml/badge.svg)     |SSC337     |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.ssc337-br.tgz)     | WORK  |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/ssc337de_images.yml/badge.svg)   |SSC337DE   |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.ssc337de-br.tgz)   | WIP   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/t20_images.yml/badge.svg)        |T20        |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.t20-br.tgz)        | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/t21_images.yml/badge.svg)        |T21        |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.t21-br.tgz)        | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/t31_images.yml/badge.svg)        |T31        |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.t31-br.tgz)        | RND   |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/xm510_images.yml/badge.svg)      |XM510      |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.xm510-br.tgz)      | WORK  |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/xm530_images.yml/badge.svg)      |XM530      |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.xm530-br.tgz)      | WORK  |
-|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/xm550_images.yml/badge.svg)      |XM550      |[uImage + rootfs.squashfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.xm550-br.tgz)      | WORK  |
+| Manufacturer | SoC | Files | Status |
+|---|---|---|---|
+|Fullhan|![Image](https://img.shields.io/static/v1?label=FH8632&message=help%20needed&color=5500ff&logo=github)     |     | R&D   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/fh8852_images.yml/badge.svg)     |     | R&D   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/fh8856_images.yml/badge.svg)     |     | R&D   |
+|Goke|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7102s_images.yml/badge.svg)    |    | R&D   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7202v300_images.yml/badge.svg) | | WIP   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7205v200_images.yml/badge.svg) |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.gk7205v200-br.tgz) | READY |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7205v300_images.yml/badge.svg) | | R&D   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/gk7605v100_images.yml/badge.svg) | | R&D   |
+|HiSilicon|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516cv300_images.yml/badge.svg)|[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516cv300-br.tgz)| WIP   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516av300_images.yml/badge.svg)|[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516av300-br.tgz)| WIP   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516cv500_images.yml/badge.svg)|[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516cv500-br.tgz)| WIP   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516dv300_images.yml/badge.svg)|[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516dv300-br.tgz)| WIP   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516ev200_images.yml/badge.svg)|[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516ev200-br.tgz)| READY |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3516ev300_images.yml/badge.svg)|[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3516ev300-br.tgz)| READY |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/hi3518ev300_images.yml/badge.svg)|[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.hi3518ev300-br.tgz)| READY |
+|MStar|![Image](https://img.shields.io/static/v1?label=MSC313E&message=help%20needed&color=5500ff&logo=github)    |    | R&D   |
+|Novatek|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/nt98562_images.yml/badge.svg)    |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.nt98562-br.tgz)    | R&D   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/nt98566_images.yml/badge.svg)    |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.nt98566-br.tgz)    | R&D   |
+|SigmaStar|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/ssc325_images.yml/badge.svg)     |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.ssc325-br.tgz)     | R&D   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/ssc335_images.yml/badge.svg)     |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.ssc335-br.tgz)     | WORK  |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/ssc337_images.yml/badge.svg)     |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.ssc337-br.tgz)     | WORK  |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/ssc337de_images.yml/badge.svg)   |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.ssc337de-br.tgz)   | WIP   |
+|Ingenic| ![Image](https://img.shields.io/static/v1?label=T20&message=help%20needed&color=5500ff&logo=github) |        | R&D   |
+|| ![Image](https://img.shields.io/static/v1?label=T21&message=help%20needed&color=5500ff&logo=github) |        | R&D   |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/t31_images.yml/badge.svg)        |        | R&D   |
+|Xiongmai|![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/xm510_images.yml/badge.svg)      |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.xm510-br.tgz)      | WORK  |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/xm530_images.yml/badge.svg)      |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.xm530-br.tgz)      | WORK  |
+||![Image](https://github.com/OpenIPC/openipc-2.1/actions/workflows/xm550_images.yml/badge.svg)      |[uImage + rootfs](https://github.com/OpenIPC/openipc-2.1/releases/download/latest/openipc.xm550-br.tgz)      | WORK  |
 
 -----
 
@@ -69,30 +70,39 @@ If you like our work, please consider supporting us on [Opencollective](https://
 
 | Chip        | U-Boot | Kernel | Rootfs | Video  | Audio  | GPIO   | USB    | WiFi   | MMC    | IPv6   |
 |-------------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
-| fh8632      |
-| fh8852      |
-| fh8856      |
-| gk7102s     |
-| gk7202v300  |
-| gk7205v200  |  yes   |  yes   |  yes   |        |        |        |        |        |        |        |
-| gk7205v300  |
-| gk7605v100  |
-| hi3516av300 |        |  yes   |  yes   |  yes   |        |        |        |        |        |        |
-| hi3516cv500 |        |  yes   |  yes   |  yes   |        |        |        |        |        |        |
-| hi3516dv300 |        |  yes   |  yes   |  yes   |        |        |        |        |        |        |
-| hi3516ev200 |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |
-| hi3516ev300 |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |
-| hi3518ev300 |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |  yes   |
-| msc313e     |
-| nt98562     |
-| nt98566     |
-| ssc325      |        |  yes   |  yes   |        |        |        |        |        |        |
-| ssc335      |        |  yes   |  yes   |  yes   |        |  yes   |  yes   |        |  yes   |
-| ssc337      |        |  yes   |  yes   |  yes   |        |  yes   |  yes   |        |  yes   |
-| ssc337de    |        |  yes   |  yes   |        |        |        |        |        |        |
-| t20         |
-| t21         |
-| t31         |
-| xm510       |
-| xm530       |        |  yes   |  yes   |
-| xm550       |        |  yes   |  yes   |
+| FH8632      |
+| FH8852      |
+| FH8856      |
+| GK7102S     |
+| GK7202v300  |
+| GK7205v200  |  ✅   |  ✅   |  ✅   |        |        |        |        |        |        |        |
+| GK7205v300  |
+| GK7605v100  |
+| Hi3516Av300 |        |  ✅   |  ✅   |  ✅   |        |        |        |        |        |        |
+| Hi3516Cv500 |        |  ✅   |  ✅   |  ✅   |        |        |        |        |        |        |
+| Hi3516Dv300 |        |  ✅   |  ✅   |  ✅   |        |        |        |        |        |        |
+| Hi3516Ev200 |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |
+| Hi3516Ev300 |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |
+| Hi3518Ev300 |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |  ✅   |
+| MSC313E     |
+| NT98562     |
+| NT98566     |
+| SSC325      |        |  ✅   |  ✅   |        |        |        |        |        |        |
+| SSC335      |        |  ✅   |  ✅   |  ✅   |        |  ✅   |  ✅   |        |  ✅   |
+| SSC337      |        |  ✅   |  ✅   |  ✅   |        |  ✅   |  ✅   |        |  ✅   |
+| SSC337DE    |        |  ✅   |  ✅   |        |        |        |        |        |        |
+| T20         |
+| T21         |
+| T31         |
+| XM510       |
+| XM530       |        |  ✅   |  ✅   |
+| XM550       |        |  ✅   |  ✅   |
+
+### Commercial Support
+<a id="commercial"></a>
+
+If you're using OpenIPC in your product consider buying commercial support. It's
+a win-win strategy that supports your business and helps core developers to work
+full-time on the project.
+
+Please contact [OpenIPC](mailto:flyrouter@gmail.com) to inquire further.

From 081814f9269ddaf7acdba7cd87aa8985b916bbb2 Mon Sep 17 00:00:00 2001
From: Dmitry Ermakov <de@dimer.org.ua>
Date: Sun, 31 Oct 2021 19:34:12 +0300
Subject: [PATCH 2/2] Add VFP and NEON support for Novatek toolchain

---
 .../board/nt9856x/kernel/nt98562.generic.config              | 4 ++--
 .../configs/unknown_unknown_nt98562_openipc_defconfig        | 5 ++++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/br-ext-chip-novatek/board/nt9856x/kernel/nt98562.generic.config b/br-ext-chip-novatek/board/nt9856x/kernel/nt98562.generic.config
index 0f6391a6..4128427d 100644
--- a/br-ext-chip-novatek/board/nt9856x/kernel/nt98562.generic.config
+++ b/br-ext-chip-novatek/board/nt9856x/kernel/nt98562.generic.config
@@ -493,7 +493,7 @@ CONFIG_MODULES=y
 # CONFIG_MODULE_FORCE_LOAD is not set
 CONFIG_MODULE_UNLOAD=y
 # CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_MODVERSIONS=y
+CONFIG_MODVERSIONS=n
 # CONFIG_MODULE_SRCVERSION_ALL is not set
 # CONFIG_MODULE_SIG is not set
 # CONFIG_MODULE_COMPRESS is not set
@@ -1983,7 +1983,7 @@ CONFIG_NVT_HDAL_BUILD_IN=y
 # Novatek HDAL Drivers
 #
 CONFIG_NVT_DMA_MONITOR=y
-# CONFIG_NVT_SMALL_HDAL is not set
+CONFIG_NVT_SMALL_HDAL=y
 CONFIG_NVT_VOS_KWRAP=y
 CONFIG_NVT_HDAL_KDRV_BUILTIN=y
 CONFIG_NVT_FAST_ISP_FLOW=y
diff --git a/br-ext-chip-novatek/configs/unknown_unknown_nt98562_openipc_defconfig b/br-ext-chip-novatek/configs/unknown_unknown_nt98562_openipc_defconfig
index ce3aebce..ba8cb4d9 100644
--- a/br-ext-chip-novatek/configs/unknown_unknown_nt98562_openipc_defconfig
+++ b/br-ext-chip-novatek/configs/unknown_unknown_nt98562_openipc_defconfig
@@ -2,7 +2,10 @@
 BR2_arm=y
 BR2_cortex_a9=y
 BR2_ARM_EABIHF=y
-BR2_ARM_FPU_NEON_VFPV4=y
+
+BR2_ARM_ENABLE_NEON=y
+BR2_ARM_ENABLE_VFP=y
+BR2_ARM_FPU_VFPV3=y
 BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_KERNEL_HEADERS_VERSION=y
 BR2_DEFAULT_KERNEL_VERSION="4.19.91"