diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml
new file mode 100644
index 0000000..213e530
--- /dev/null
+++ b/.github/workflows/docs-update.yml
@@ -0,0 +1,47 @@
+name: Publish Documentation
+
+on:
+ push:
+ # Pattern matched against refs/tags
+ tags:
+ - '**' # Push events to every tag including hierarchical tags like v1.0/beta
+
+permissions:
+ contents: write
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Configure Git Credentials
+ run: |
+ git config user.name github-actions[bot]
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
+
+ - uses: actions/setup-python@v5
+ with:
+ python-version: 3.x
+
+ - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
+
+ - uses: actions/cache@v4
+ with:
+ key: mkdocs-material-${{ env.cache_id }}
+ path: .cache
+ restore-keys: |
+ mkdocs-material-
+
+ - name: Setup Environments
+ run: |
+ cd docs
+ . work/setup.sh
+
+ - name: Compile Documentations
+ run: |
+ cd docs
+ mike deploy --push --update-aliases ${GITHUB_REF_NAME} latest
+ mike set-default --push latest
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..12c9843
--- /dev/null
+++ b/README.md
@@ -0,0 +1,4 @@
+# HMI SDK on RZ/G series
+
+The best solution for starting your HMI applications.
+
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..45ddf0a
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1 @@
+site/
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..4933ff9
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,57 @@
+# rzg_hmi_sdk/docs
+
+This is a documentation sources for [rzg_hmi_sdk](https://renesas-rz.github.io/rzg_hmi_sdk) website (github.io).
+
+## Prepare environment
+
+Python3 and pip3 are required.
+
+In some case you may need to make a `symlink` to pip (of python3).
+
+### Setup from script
+
+Working directory should be `rzg_hmi_sdk/docs/`.
+
+```
+. work/setup.sh
+```
+
+### Serve local server
+
+Working directory should be `rzg_hmi_sdk/docs/`.
+
+```
+. serve.sh
+```
+
+## Test versioning with `mike`
+
+Working directory should be `rzg_hmi_sdk/docs/`.
+
+### Deploy
+
+This will generate a static website into `local/gh-pages` branch.
+
+`dev` will be used as version.
+
+```
+. mike/deploy.sh
+```
+
+### Serve
+
+You must deploy first.
+
+```
+. mike/serve.sh
+```
+
+### Clean-up
+
+This step is not mandatory.
+
+After you complete checking your website, you may want to remove `local/gh-pages` branch.
+
+```
+. mike/remove.sh
+```
diff --git a/docs/docs/_themes/announce.html b/docs/docs/_themes/announce.html
new file mode 100644
index 0000000..7b74b43
--- /dev/null
+++ b/docs/docs/_themes/announce.html
@@ -0,0 +1,16 @@
+{% if config.extra.announcements %}
+
+ {% for announce in config.extra.announcements %}
+ {% if config.extra.announcements_urls %}
+ {% for urls in config.extra.announcements_urls %}
+ {% for key, value in urls.items() %}
+ {{ announce | replace(key, "" + key + " ") }}
+ {% endfor %}
+ {% endfor %}
+ {% else %}
+ {{ announce }}
+ {% endif %}
+
+ {% endfor %}
+
+{% endif %}
diff --git a/docs/docs/_themes/g_translate.html b/docs/docs/_themes/g_translate.html
new file mode 100644
index 0000000..966a56e
--- /dev/null
+++ b/docs/docs/_themes/g_translate.html
@@ -0,0 +1,24 @@
+{#-
+ This code was originally taken from
+ https://stackoverflow.com/a/32020855
+ by
+ Mousey
+ and may be subject to copyright.
+-#}
+
+
+
+
diff --git a/docs/docs/_themes/main.html b/docs/docs/_themes/main.html
new file mode 100644
index 0000000..30e53f4
--- /dev/null
+++ b/docs/docs/_themes/main.html
@@ -0,0 +1,12 @@
+{% extends "base.html" %}
+
+{% block extrahead %}
+ {% include 'g_translate.html' ignore missing %}
+ {{ super() }}
+{% endblock %}
+
+
+{% block announce %}
+ {% include 'announce.html' ignore missing %}
+{% endblock %}
+
diff --git a/docs/docs/_themes/partials/header.html b/docs/docs/_themes/partials/header.html
new file mode 100644
index 0000000..9683646
--- /dev/null
+++ b/docs/docs/_themes/partials/header.html
@@ -0,0 +1,101 @@
+{#-
+ Copyright (c) 2016-2024 Martin Donath
+ Copyright (c) 2024 Renesas Electronics Corporation and/or its affiliates
+ SPDX-License-Identifier: MIT
+
+ This code was originally taken from
+ https://github.com/squidfunk/mkdocs-material/blob/master/material/templates/partials/header.html
+ and have sources in
+ https://github.com/squidfunk/mkdocs-material/blob/master/src/templates/partials/header.html
+-#}
+
+{% set class = "md-header" %}
+{% if "navigation.tabs.sticky" in features %}
+ {% set class = class ~ " md-header--shadow md-header--lifted" %}
+{% elif "navigation.tabs" not in features %}
+ {% set class = class ~ " md-header--shadow" %}
+{% endif %}
+
+
+ {% if "navigation.tabs.sticky" in features %}
+ {% if "navigation.tabs" in features %}
+ {% include "partials/tabs.html" %}
+ {% endif %}
+ {% endif %}
+
diff --git a/docs/docs/_themes/partials/nav-top-btn.html b/docs/docs/_themes/partials/nav-top-btn.html
new file mode 100644
index 0000000..a69e50c
--- /dev/null
+++ b/docs/docs/_themes/partials/nav-top-btn.html
@@ -0,0 +1,9 @@
+{% if config.theme.nav_top and config.theme.nav_top.btn %}
+
+
+
+ {{ config.theme.nav_top.btn.name }}
+
+
+
+{% endif %}
diff --git a/docs/docs/_themes/partials/nav-top.html b/docs/docs/_themes/partials/nav-top.html
new file mode 100644
index 0000000..fd70254
--- /dev/null
+++ b/docs/docs/_themes/partials/nav-top.html
@@ -0,0 +1,33 @@
+{% if config.theme.logo %}
+ {% set class = "md-nav-top-title" %}
+{% else %}
+ {% set class = "md-nav-top-title md-nav-top-no-icon" %}
+{% endif %}
+
+
+ {{ config.site_name }}
+
+
+ {{ config.site_name }}
+
+ {% if config.site_description %}
+
+ {{ config.site_description }}
+
+ {% endif %}
+
+ {% if config.theme.nav_top %}
+ {% for logo in config.theme.nav_top.logos %}
+
+ {% endfor %}
+ {% endif %}
+ {% if config.theme.nav_top and config.theme.nav_top.btn %}
+
+
+ {{ config.theme.nav_top.btn.name }}
+
+
+ {% endif %}
+
+
+
diff --git a/docs/docs/_themes/partials/nav.html b/docs/docs/_themes/partials/nav.html
new file mode 100644
index 0000000..33a6dc1
--- /dev/null
+++ b/docs/docs/_themes/partials/nav.html
@@ -0,0 +1,48 @@
+{#-
+ Copyright (c) 2016-2024 Martin Donath
+ Copyright (c) 2024 Renesas Electronics Corporation and/or its affiliates
+ SPDX-License-Identifier: MIT
+
+ This code was originally taken from
+ https://github.com/squidfunk/mkdocs-material/blob/master/material/templates/partials/nav.html
+ and have sources in
+ https://github.com/squidfunk/mkdocs-material/blob/master/src/templates/partials/nav.html
+-#}
+
+{% import "partials/nav-item.html" as item with context %}
+{% set class = "md-nav md-nav--primary" %}
+{% if "navigation.tabs" in features %}
+ {% set class = class ~ " md-nav--lifted" %}
+{% endif %}
+{% if "toc.integrate" in features %}
+ {% set class = class ~ " md-nav--integrated" %}
+{% endif %}
+
+
+ {% if config.theme.logo %}
+ {% if config.extra.homepage is defined %}
+ {% set target = "_blank" %}
+ {% set title = "Home" %}
+ {% else %}
+ {% set target = "_self" %}
+ {% set title = config.site_name | e %}
+ {% endif %}
+
+ {% include "partials/logo.html" %}
+
+ {% endif %}
+ {% include "partials/nav-top.html" %}
+
+ {% if config.repo_url %}
+
+ {% include "partials/source.html" %}
+
+ {% endif %}
+
+ {% include "partials/nav-top-btn.html" %}
+ {% for nav_item in nav %}
+ {% set path = "__nav_" ~ loop.index %}
+ {{ item.render(nav_item, path, 1) }}
+ {% endfor %}
+
+
diff --git a/docs/docs/_themes/partials/source.html b/docs/docs/_themes/partials/source.html
new file mode 100644
index 0000000..29664ae
--- /dev/null
+++ b/docs/docs/_themes/partials/source.html
@@ -0,0 +1,20 @@
+{#-
+ Copyright (c) 2016-2024 Martin Donath
+ Copyright (c) 2024 Renesas Electronics Corporation and/or its affiliates
+ SPDX-License-Identifier: MIT
+
+ This code was originally taken from
+ https://github.com/squidfunk/mkdocs-material/blob/master/material/templates/partials/source.html
+ and have sources in
+ https://github.com/squidfunk/mkdocs-material/blob/master/src/templates/partials/source.html
+-#}
+
+
+
+ {% set icon = config.theme.icon.repo or "fontawesome/brands/git-alt" %}
+ {% include ".icons/" ~ icon ~ ".svg" %}
+
+
+ {{ config.repo_name }}
+
+
diff --git a/docs/docs/assets/icons/6723.T.png b/docs/docs/assets/icons/6723.T.png
new file mode 100644
index 0000000..808a450
Binary files /dev/null and b/docs/docs/assets/icons/6723.T.png differ
diff --git a/docs/docs/assets/icons/ai_sdk.svg b/docs/docs/assets/icons/ai_sdk.svg
new file mode 100644
index 0000000..acd4947
--- /dev/null
+++ b/docs/docs/assets/icons/ai_sdk.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/docs/assets/icons/board.svg b/docs/docs/assets/icons/board.svg
new file mode 100644
index 0000000..6fe7475
--- /dev/null
+++ b/docs/docs/assets/icons/board.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/docs/assets/images/banner-01.svg b/docs/docs/assets/images/banner-01.svg
new file mode 100644
index 0000000..721b67f
--- /dev/null
+++ b/docs/docs/assets/images/banner-01.svg
@@ -0,0 +1 @@
+① Run Demo Application Write the SD card image Sample
\ No newline at end of file
diff --git a/docs/docs/assets/images/banner-02.svg b/docs/docs/assets/images/banner-02.svg
new file mode 100644
index 0000000..0a825fe
--- /dev/null
+++ b/docs/docs/assets/images/banner-02.svg
@@ -0,0 +1 @@
+Application exec file write to SD card Sample Cross Compile Application Install cross compiler ② Modify and Deploy Application
\ No newline at end of file
diff --git a/docs/docs/assets/images/banner-03.svg b/docs/docs/assets/images/banner-03.svg
new file mode 100644
index 0000000..8453f9a
--- /dev/null
+++ b/docs/docs/assets/images/banner-03.svg
@@ -0,0 +1 @@
+Built binary write to SD card Bitbake Source Code User board ③ Develop to Your System
\ No newline at end of file
diff --git a/docs/docs/assets/javascripts/tablesort.js b/docs/docs/assets/javascripts/tablesort.js
new file mode 100644
index 0000000..7fac435
--- /dev/null
+++ b/docs/docs/assets/javascripts/tablesort.js
@@ -0,0 +1,22 @@
+document$.subscribe(function() {
+ var tables = document.querySelectorAll("article table:not([class])")
+ tables.forEach(function(table) {
+ // remove p from thead > tr > th
+ var thead = table.getElementsByTagName('thead');
+ var p = thead[0].getElementsByTagName('p');
+ while(p[0])
+ p[0].parentNode.innerHTML = p[0].innerHTML;
+
+ if (table.closest('.table-no-sort')) {
+ // no sorting for this
+ } else {
+ new Tablesort(table)
+ }
+ })
+
+ // back btn @ download page
+ if (window.location.href.indexOf("?src=getting_started") > -1) {
+ var btn = document.getElementById("back_to_getting_started_btn");
+ btn.style.display = "block";
+ }
+})
diff --git a/docs/docs/assets/stylesheets/extra.css b/docs/docs/assets/stylesheets/extra.css
new file mode 100644
index 0000000..02347ca
--- /dev/null
+++ b/docs/docs/assets/stylesheets/extra.css
@@ -0,0 +1,757 @@
+:root {
+ /* https://www.color-blindness.com/color-name-hue/ */
+ /* renesas primary colors */
+ --renesas-primary-color-fg-blue: rgb(42, 40, 157); /* #282a9d Cerulean Blue */
+ --renesas-primary-color-fg-grey: rgb(112, 111, 111); /* #706f6f Dim Gray */
+
+ --renesas-primary-color-bg-blue: rgba(42, 40, 157, 0.1);
+ --renesas-primary-color-bg-grey: rgba(112, 111, 111, 0.1);
+
+ --renesas-primary-color-bg-blue--softer: rgba(42, 40, 157, 0.075);
+
+ /* renesas secondary colors */
+ --renesas-secondary-color-fg-grey: rgb(124, 144, 156); /* #7c909c Light Slate Grey */
+ --renesas-secondary-color-fg-violet-purple: rgb(97, 94, 142); /* #615e8e Kimberly */
+ --renesas-secondary-color-fg-blue: rgb(67, 171, 226); /* #43abe2 Summer Sky */
+ --renesas-secondary-color-fg-blue-teal: rgb(96, 169, 180); /* #60a9b4 Fountain Blue */
+ --renesas-secondary-color-fg-blue-sky: rgb(48, 102, 131); /* #306683 Astral */
+ --renesas-secondary-color-fg-yellow: rgb(223, 177, 24); /* #dfb118 Sunflower */
+ --renesas-secondary-color-fg-red-orange: rgb(235, 98, 9); /* #eb6209 Persimmon */
+ --renesas-secondary-color-fg-red: rgb(183, 25, 33); /* #b71921 Fire Brick */
+ --renesas-secondary-color-fg-violet: rgb(136, 61, 144); /* #883d90 Vivid Violet */
+ --renesas-secondary-color-fg-green: rgb(96, 154, 59); /* #609a3b Apple */
+ --renesas-secondary-color-fg-green-shade: rgb(117, 136, 89); /* #758859 Highland */
+ --renesas-secondary-color-fg-black: rgb(0, 0, 0); /* #000000 Black */
+
+ --renesas-secondary-color-bg-grey: rgba(124, 144, 156, 0.1);
+ --renesas-secondary-color-bg-violet-purple: rgba(97, 94, 142, 0.1);
+ --renesas-secondary-color-bg-blue: rgba(67, 171, 226, 0.1);
+ --renesas-secondary-color-bg-blue-teal: rgba(96, 169, 180, 0.1);
+ --renesas-secondary-color-bg-blue-sky: rgba(48, 102, 131, 0.1);
+ --renesas-secondary-color-bg-yellow: rgba(223, 177, 24, 0.1);
+ --renesas-secondary-color-bg-red-orange: rgba(235, 98, 9, 0.1);
+ --renesas-secondary-color-bg-red: rgba(183, 25, 33, 0.1);
+ --renesas-secondary-color-bg-violet: rgba(136, 61, 144, 0.1);
+ --renesas-secondary-color-bg-green: rgba(96, 154, 59, 0.1);
+ --renesas-secondary-color-bg-green-shade: rgba(117, 136, 89, 0.1);
+ --renesas-secondary-color-bg-black: rgba(0, 0, 0, 0.1);
+
+ /* https://www.colorhexa.com/282a9d */
+ /* material for mkdocs - primary color */
+ --md-primary-fg-color: var(--renesas-primary-color-fg-blue);
+ --md-primary-fg-color--light: #4543cf;
+ --md-primary-fg-color--dark: #1a1860;
+
+ /* target_blank icon */
+ --md-target_blank-icon: url('data:image/svg+xml;charset=utf-8, ')
+}
+
+/* admonitions */
+/* =========== */
+
+.md-typeset .admonition,
+.md-typeset details {
+ border: none !important;
+ background-color: var(--renesas-primary-color-bg-blue) !important;
+ position: relative !important;
+ top: 0.1rem !important;
+ left: 0.1rem !important;
+}
+
+.md-typeset .admonition:not(:has(.admonition-title)) {
+ top: 0 !important;
+ left: 0 !important;
+}
+
+.md-typeset .admonition-title,
+.md-typeset summary {
+ background-color: var(--renesas-primary-color-fg-blue) !important;
+ display: inline-block !important;
+ color: white !important;
+ padding: 0.1rem 0.3rem !important;
+ border-radius: 0.1rem !important;
+ position: relative !important;
+ top: -0.1rem !important;
+ left: -0.1rem !important;
+}
+
+.md-typeset .admonition-title::before,
+.md-typeset summary::before {
+ display: none !important;
+}
+
+.md-typeset .admonition.abstract,
+.md-typeset details.abstract {
+ background-color: var(--renesas-secondary-color-bg-blue) !important;
+}
+
+.md-typeset .abstract > .admonition-title,
+.md-typeset .abstract > summary {
+ background-color: var(--renesas-secondary-color-fg-blue) !important;
+}
+
+.md-typeset .admonition.info,
+.md-typeset details.info {
+ background-color: var(--renesas-secondary-color-bg-blue-sky) !important;
+}
+
+.md-typeset .info > .admonition-title,
+.md-typeset .info > summary {
+ background-color: var(--renesas-secondary-color-fg-blue-sky) !important;
+}
+
+.md-typeset .admonition.tip,
+.md-typeset details.tip {
+ background-color: var(--renesas-secondary-color-bg-blue-teal) !important;
+}
+
+.md-typeset .tip > .admonition-title,
+.md-typeset .tip > summary {
+ background-color: var(--renesas-secondary-color-fg-blue-teal) !important;
+}
+
+.md-typeset .admonition.success,
+.md-typeset details.success {
+ background-color: var(--renesas-secondary-color-bg-green) !important;
+}
+
+.md-typeset .success > .admonition-title,
+.md-typeset .success > summary {
+ background-color: var(--renesas-secondary-color-fg-green) !important;
+}
+
+.md-typeset .admonition.question,
+.md-typeset details.question {
+ background-color: var(--renesas-secondary-color-bg-green-shade) !important;
+}
+
+.md-typeset .question > .admonition-title,
+.md-typeset .question > summary {
+ background-color: var(--renesas-secondary-color-fg-green-shade) !important;
+}
+
+.md-typeset .admonition.warning,
+.md-typeset details.warning {
+ background-color: var(--renesas-secondary-color-bg-yellow) !important;
+}
+
+.md-typeset .warning > .admonition-title,
+.md-typeset .warning > summary {
+ background-color: var(--renesas-secondary-color-fg-yellow) !important;
+}
+
+.md-typeset .admonition.failure,
+.md-typeset details.failure {
+ background-color: var(--renesas-secondary-color-bg-red-orange) !important;
+}
+
+.md-typeset .failure > .admonition-title,
+.md-typeset .failure > summary {
+ background-color: var(--renesas-secondary-color-fg-red-orange) !important;
+}
+
+.md-typeset .admonition.danger,
+.md-typeset details.danger {
+ background-color: var(--renesas-secondary-color-bg-red) !important;
+}
+
+.md-typeset .danger > .admonition-title,
+.md-typeset .danger > summary {
+ background-color: var(--renesas-secondary-color-fg-red) !important;
+}
+
+.md-typeset .admonition.bug,
+.md-typeset details.bug {
+ background-color: var(--renesas-secondary-color-bg-violet) !important;
+}
+
+.md-typeset .bug > .admonition-title,
+.md-typeset .bug > summary {
+ background-color: var(--renesas-secondary-color-fg-violet) !important;
+}
+
+.md-typeset .admonition.example,
+.md-typeset details.example {
+ background-color: var(--renesas-secondary-color-bg-violet-purple) !important;
+}
+
+.md-typeset .example > .admonition-title,
+.md-typeset .example > summary {
+ background-color: var(--renesas-secondary-color-fg-violet-purple) !important;
+}
+
+.md-typeset .admonition.quote,
+.md-typeset details.quote {
+ background-color: var(--renesas-secondary-color-bg-grey) !important;
+}
+
+.md-typeset .quote > .admonition-title,
+.md-typeset .quote > summary {
+ background-color: var(--renesas-secondary-color-fg-grey) !important;
+}
+
+/* tables */
+/* ====== */
+
+.md-typeset__table {
+ table {
+ /* border: 0.025rem solid !important; */
+ /* border-color: var(--renesas-primary-color-fg-grey) !important; */
+ border-collapse: separate;
+ border-radius: 0.5rem !important;
+ border-spacing: 0;
+ }
+
+ thead {
+ display: table-header-group;
+ vertical-align: middle;
+ border-color: inherit;
+ border-collapse: separate;
+ background-color: var(--renesas-primary-color-fg-blue);
+ color: white !important;
+ }
+
+ tr {
+ display: table-row;
+ vertical-align: inherit;
+ border-color: var(--renesas-primary-color-fg-grey) !important;
+ border: 0 !important;
+ /* background-color: var(--renesas-primary-color-bg-blue--softer); */
+ }
+
+ th,
+ td {
+ vertical-align: top;
+ padding: .5375em 0.75em !important;
+ }
+
+ th {
+ text-align: center !important;
+ /* border: 0.025rem solid !important; */
+ border-color: var(--renesas-primary-color-fg-grey) !important;
+ }
+
+ th::after {
+ background-color: white !important;
+ opacity: 1;
+ }
+
+ th:hover:after,
+ th[aria-sort=ascending]:hover:after,
+ th[aria-sort=descending]:hover:after {
+ background-color: var(--renesas-secondary-color-fg-yellow) !important;
+ }
+
+ th[aria-sort=ascending]:after,
+ th[aria-sort=descending]:after {
+ background-color: var(--renesas-secondary-color-fg-red-orange) !important;
+ }
+
+ th > code {
+ background-color: var(--md-primary-fg-color--light);
+ color: white;
+ }
+
+ td {
+ /* border: 0.025rem solid !important; */
+ /* border-color: var(--renesas-primary-color-fg-grey) !important; */
+ vertical-align: middle !important;
+ }
+}
+
+/* admonitions used as content-wrapper, and its extension (sub) class */
+/* ================================================================== */
+
+.md-typeset .content-wrapper > .admonition-title,
+.md-typeset .content-wrapper > summary,
+.md-typeset .content-wrapper > .admonition-title::before,
+.md-typeset .content-wrapper > summary::before {
+ display: none !important;
+}
+
+.md-typeset .admonition.content-wrapper,
+.md-typeset details.content-wrapper {
+ top: 0 !important;
+ left: 0 !important;
+ margin: 0;
+ border: none;
+ box-shadow: none;
+ background-color: transparent !important;
+
+ & > .md-typeset__scrollwrap {
+ margin-top: 0;
+ margin-bottom: 0;
+ }
+
+ li {
+ line-height: .76rem;
+ color: var(--md-default-fg-color--light);
+ font-size: .64rem;
+ margin-left: 0.6em;
+ }
+
+ li:target,
+ li:has(p:target) {
+ color: var(--md-default-fg-color);
+ }
+
+ [id^="tfref:"]:target > a {
+ outline: auto;
+ }
+
+ a {
+ outline-offset: .1rem;
+ }
+
+ .tf-backref {
+ color: var(--md-typeset-a-color);
+ display: inline-block;
+ font-size: 0;
+ opacity: 0;
+ transform: translateX(.25rem);
+ transition: color .25s, transform .25s .25s, opacity 125ms .25s;
+ vertical-align: text-bottom;
+ }
+
+ .tf-backref::before {
+ background-color: currentcolor;
+ content: "";
+ display: inline-block;
+ height: .6rem;
+ -webkit-mask-image: var(--md-footnotes-icon);
+ mask-image: var(--md-footnotes-icon);
+ -webkit-mask-position: center;
+ mask-position: center;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-size: contain;
+ mask-size: contain;
+ width: .8rem;
+ position: absolute;
+ }
+
+ .tf-backref:hover {
+ color: var(--md-accent-fg-color);
+ }
+
+ li:has(.tf-backref):hover,
+ li:target,
+ li:has(p:target) {
+ .tf-backref {
+ opacity: 1;
+ transform: translateX(0);
+ }
+ }
+}
+
+.no-indent {
+ padding: 0 !important;
+}
+
+.table-no-sort {
+ /* nothing */
+}
+
+.table-no-hover {
+ tr:hover {
+ background-color: transparent !important;
+ }
+}
+
+.tabbed-block > .admonition.content-wrapper:first-child {
+ margin-top: 0.6rem;
+}
+
+/* headings */
+/* ======== */
+
+.md-typeset h1 {
+ background-color: var(--renesas-primary-color-fg-blue);
+ color: white !important;
+ font-style: italic;
+ font-weight: 500 !important;
+ padding: 0.6rem;
+ border-radius: 0.2rem;
+}
+
+.md-typeset h1 > .headerlink {
+ color: var(--renesas-secondary-color-fg-yellow) !important;
+}
+
+.md-typeset h1 > .headerlink:focus,
+.md-typeset h1 > .headerlink:hover,
+.md-typeset h1:target>.headerlink {
+ color: var(--renesas-secondary-color-fg-red-orange) !important;
+}
+
+.md-typeset h1 > code {
+ background-color: var(--md-primary-fg-color--light);
+ color: white;
+ font-style: normal;
+}
+
+.md-typeset h2 {
+ border-bottom-width: 0.1em;
+ border-bottom-style: solid;
+ border-bottom-color: var(--renesas-primary-color-fg-blue);
+}
+
+.md-typeset h3 {
+ border-bottom-width: 0.05em;
+ border-bottom-style: solid;
+ border-bottom-color: var(--renesas-primary-color-fg-grey);
+}
+
+.md-typeset h4 .headerlink,
+.md-typeset h5 .headerlink,
+.md-typeset h6 .headerlink {
+ display: none !important;
+ opacity: 0 !important;
+ }
+}
+
+/* buttons */
+/* ======= */
+
+.md-button--primary {
+ background-color: var(--renesas-primary-color-fg-blue) !important;
+ border-color: var(--renesas-primary-color-fg-blue) !important;
+}
+
+.md-button--primary:hover {
+ background-color: var(--renesas-primary-color-bg-blue) !important;
+ border-color: var(--renesas-primary-color-bg-blue) !important;
+ color: black !important;
+}
+
+.btn-grey {
+ background-color: var(--renesas-primary-color-fg-grey) !important;
+ border-color: var(--renesas-primary-color-fg-grey) !important;
+}
+
+.btn-grey:hover {
+ background-color: var(--renesas-primary-color-bg-grey) !important;
+ border-color: var(--renesas-primary-color-bg-grey) !important;
+}
+
+.btn-yellow {
+ background-color: var(--renesas-secondary-color-fg-yellow) !important;
+ border-color: var(--renesas-secondary-color-fg-yellow) !important;
+ color: var(--renesas-secondary-color-fg-black) !important;
+}
+
+.btn-yellow:hover {
+ background-color: var(--renesas-secondary-color-bg-yellow) !important;
+ border-color: var(--renesas-secondary-color-bg-yellow) !important;
+}
+
+.btn-round {
+ border-radius: 50rem !important;
+}
+
+p:has(.btn-right) {
+ display: flex;
+ justify-content: end;
+}
+
+.btn-right {
+ margin: 0.1em;
+}
+
+.btn-subtext {
+ font-size: 0.55rem !important;
+ font-weight: normal;
+}
+
+.md-button {
+ text-align: center;
+}
+
+.btn-indent {
+ margin-left: 0.6rem;
+}
+
+.btn-small {
+ font-size: 0.55rem !important;
+}
+
+#back_to_getting_started_btn {
+ display: none;
+}
+
+/* navigations right top */
+/* ===================== */
+
+.md-nav-top-title {
+ display: block;
+}
+
+.md-nav-top-subtitle {
+ display: none;
+ font-weight: normal;
+}
+
+.md-nav-top-logos {
+ display: none;
+ text-align: center;
+
+ img {
+ margin: auto;
+ width: 4rem;
+ height: 4rem;
+ object-fit: contain;
+ }
+}
+
+#md-nav-top-btn {
+ display: block;
+}
+
+@media screen and (min-width:76.25em) {
+ #md-nav-top-home:hover {
+ color: var(--md-default-fg-color);
+ }
+
+ #md-nav-top-home {
+ display: none;
+ }
+
+ #md-nav-top-home + span {
+ display: block:
+ }
+
+ .md-nav-top-subtitle,
+ .md-nav-top-logos {
+ display: block;
+ }
+
+ #md-nav-top-btn {
+ display: none;
+ }
+}
+
+@media screen and (max-width:76.25em) {
+ .md-nav__title:has(.md-nav-top-no-icon) {
+ height: 0.625em;
+ }
+
+ .md-nav-top-no-icon {
+ margin-top: -3.1em;
+ }
+
+ .md-nav-top-no-icon > #md-nav-top-home {
+ display: block;
+ left: .2rem;
+ margin: .2rem;
+ padding: 0 .4rem;
+ position: absolute;
+ right: .2rem;
+ top: .2rem;
+ font-size: large;
+ }
+
+ #md-nav-top-home + span {
+ display: none;
+ }
+}
+
+/* paragraphs, images, etc. */
+/* ======================== */
+
+.center {
+ text-align: center;
+}
+
+.right {
+ text-align: right;
+}
+
+.small {
+ font-size: .6rem !important;
+}
+
+/* main page subtitles */
+/* =================== */
+
+.subtitle {
+ font-size: 22pt;
+ font-style: italic;
+ line-height: 24pt;
+}
+
+.sub-subtitle {
+ font-size: 14pt;
+ font-style: italic;
+ line-height: 16pt;
+}
+
+/* announcements */
+/* ============= */
+
+.md-banner a {
+ color: var(--renesas-secondary-color-fg-red-orange);
+}
+
+.md-banner:not(:has(p)) {
+ height: 0;
+}
+
+/* links */
+/* ===== */
+
+a[target=_blank]::after {
+ background-color: currentcolor;
+ content: "";
+ display: inline-block;
+ height: .6rem;
+ -webkit-mask-image: var(--md-target_blank-icon);
+ mask-image: var(--md-target_blank-icon);
+ -webkit-mask-position: center;
+ mask-position: center;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-size: contain;
+ mask-size: contain;
+ width: .8rem;
+ position: absolute;
+ opacity: 0;
+ transition: .3s;
+}
+
+a[target=_blank]:has(img)::after {
+ top: 0;
+ right: -0.4rem;
+}
+
+a[target=_blank].md-nav__button::after {
+ top: 0.1rem;
+ right: 0.1rem;
+}
+
+a[target=_blank]:hover:after {
+ opacity: 1;
+}
+
+.md-content a[target=_blank] {
+ margin-right: 0;
+ transition: margin-right 0.3s;
+}
+
+.md-content a[target=_blank]:hover {
+ margin-right: 0.75rem;
+ transition: margin-right 0.3s;
+}
+
+/* headers */
+/* ======= */
+
+a.md-source[target=_blank]::after {
+ margin-top: 0.375em;
+}
+
+.header-link > a {
+ opacity: 1;
+ transition: opacity .25s;
+}
+
+.header-link > a:hover {
+ opacity: .7;
+}
+
+.header-link-no-icon {
+ margin-left: -0.4em;
+}
+
+/* videos */
+/* ====== */
+
+.video-container {
+ padding-top: .5em;
+}
+
+.video-container iframe {
+ aspect-ratio: 4/3;
+ height: auto !important;
+}
+
+/* images */
+/* ====== */
+
+.zoom {
+ background-color: white;
+ transition: transform .3s, z-index 0s;
+ z-index: 0 !important;
+ position: relative;
+}
+
+.zoom:hover {
+ transform: scale(1.5);
+ outline: 0.03rem solid;
+ outline-color: var(--renesas-secondary-color-fg-blue-sky);
+ border-radius: 0.13em;
+ outline-offset: 0.33em;
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
+ z-index: 1 !important;
+}
+
+#banner-left:hover {
+ transform: scale(1.5) translateX(1.7rem);
+}
+
+#banner-right:hover {
+ transform: scale(1.5) translateX(-2.1rem);
+}
+
+/* code blocks */
+/* =========== */
+
+p.dollar + .language-bash code>span::before {
+ content: "$ ";
+}
+
+p.diamond + .language-bash code>span::before {
+ content: "> ";
+}
+
+p.hash + .language-bash code>span::before {
+ content: "# ";
+}
+
+/* switch-icons */
+/* ============ */
+
+.switch-icon {
+ height: 5.6em !important;
+ width: 5.6em;
+ object-fit: contain;
+ border: 0.03em solid var(--md-typeset-table-color);
+ border-radius: 0.5em;
+ background-color: var(--renesas-secondary-color-bg-green-shade);
+ margin: 0 !important;
+}
+
+.switch-icon:hover {
+ background: radial-gradient(white, var(--renesas-secondary-color-fg-green-shade));
+}
+
+.green {
+ background-color: var(--renesas-secondary-color-bg-green);
+}
+
+.green:hover {
+ background-color: var(--renesas-secondary-color-fg-green);
+}
+
+.red {
+ background-color: var(--renesas-secondary-color-bg-red);
+}
+
+.red:hover {
+ background-color: var(--renesas-secondary-color-fg-red);
+}
+
+.green:hover,
+.red:hover {
+ font-weight: bold;
+ color: white;
+}
diff --git a/docs/docs/demo/_components/__front_matter.md b/docs/docs/demo/_components/__front_matter.md
new file mode 100644
index 0000000..018fbc4
--- /dev/null
+++ b/docs/docs/demo/_components/__front_matter.md
@@ -0,0 +1,7 @@
+## Demo
+
+HMI SDK provides an HMI demo named [rz_benchmark_demo](https://github.com/renesas-rz/rz_benchmark_demo){: target=_blank }.
+
+It was implemented using [LVGL](https://lvgl.io/){: target=_blank }, and you can run some benchmarks on the demo.
+
+To set up the environment for the demo, see [Getting Started](getting_started/index.md).
diff --git a/docs/docs/download/_components/rz-g2l-evk.md b/docs/docs/download/_components/rz-g2l-evk.md
new file mode 100644
index 0000000..4fc2f57
--- /dev/null
+++ b/docs/docs/download/_components/rz-g2l-evk.md
@@ -0,0 +1,10 @@
+## RZ/G2L Evaluation Board Kit (EVK)
+
+!!! content-wrapper no-indent ""
+ ![](images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg){ align=left width=220 style=max-width:35%; }
+
+ [:material-developer-board: Get RZ/G2L EVK](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rz-mpus/rzg2l-evkit-evaluation-board-kit-rzg2l-mpu){ .md-button .md-button--primary .btn-yellow .btn-round target=_blank }
+
+ [:octicons-download-16: Get HMI SDK](https://www.renesas.com/document/sws/rzg-hmi-software-development-kit-version-100){ .md-button .btn-round target=_blank }
+
+ [:material-file-code: Get HMI SDK source code](https://www.renesas.com/document/sws/rzg-hmi-sdk-version-100-source-code){ .md-button .btn-round target=_blank }
diff --git a/docs/docs/download/images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg b/docs/docs/download/images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg
new file mode 100644
index 0000000..f2cc4d8
Binary files /dev/null and b/docs/docs/download/images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg differ
diff --git a/docs/docs/download/index.md b/docs/docs/download/index.md
new file mode 100644
index 0000000..26cdce1
--- /dev/null
+++ b/docs/docs/download/index.md
@@ -0,0 +1,11 @@
+---
+hide:
+ - navigation
+ - toc
+---
+
+# Board and Software
+
+{! download/_components/rz-g2l-evk.md !}
+
+[Back to Home >](../index.md){ .md-button .md-button--primary .btn-right } [Back to Getting Started >](../getting_started/index.md#step-1-obtain-an-evaluation-board){ .md-button .btn-right #back_to_getting_started_btn }
diff --git a/docs/docs/faq/index.md b/docs/docs/faq/index.md
new file mode 100644
index 0000000..24f0a4f
--- /dev/null
+++ b/docs/docs/faq/index.md
@@ -0,0 +1,17 @@
+# FAQ
+
+Please check Renesas よくあるご質問 (FAQ) | Knowledge Base (FAQ's) | 知识库 website.
+
+* [[JP] RZ/G](https://ja-support.renesas.com/knowledgeBase/category/31247/subcategory/31249){: target="_blank" }
+* [[EN] RZ/G](https://en-support.renesas.com/knowledgeBase/category/31243/subcategory/31245){: target="_blank" }
+* [[CN] RZ/G](https://zh-support.renesas.com/knowledgeBase/category/31420/subcategory/31421){: target="_blank" }
+
+And Renesas Engineering Community website.
+
+* [[JP] RZ MPU](https://community-ja.renesas.com/cafe_rene/forums-groups/mcu-mpu/rz/){: target="_blank" }
+* [[EN] Microprocessors (RZ)](https://community.renesas.com/rz/){: target="_blank" }
+* [[CN] RZ MPU](https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/rz-mpu/){: target="_blank" }
+
+Also check our Wiki's: [RZ/G](https://jira-gasg.renesas.eu/confluence/pages/viewpage.action?pageId=184060061){: target="_blank" }.
+
+If you could not found an appropriate answer for your case, please do not be hesitate to raise an issue at our Repository [Issues](https://github.com/renesas-rz/rzg_hmi_sdk/issues){: target="_blank" }.
diff --git a/docs/docs/getting_started/_components/__front_matter.md b/docs/docs/getting_started/_components/__front_matter.md
new file mode 100644
index 0000000..2d522f8
--- /dev/null
+++ b/docs/docs/getting_started/_components/__front_matter.md
@@ -0,0 +1,7 @@
+## Getting Started
+
+*Getting Started* is a complete guide to learn **how to run HMI Applications**,
+which explains the procedure for setting up the development environment,
+compiling HMI Applications, setting up the board and running HMI Applications.
+
+Get your target board now and [GET STARTED](getting_started/index.md).
diff --git a/docs/docs/getting_started/_components/introduction.md b/docs/docs/getting_started/_components/introduction.md
new file mode 100644
index 0000000..a27ab8d
--- /dev/null
+++ b/docs/docs/getting_started/_components/introduction.md
@@ -0,0 +1,5 @@
+## Introduction
+
+Getting Started explains the instruction to run HMI Applications.
+
+Common instructions are explained in this document.
diff --git a/docs/docs/getting_started/_components/step_01.md b/docs/docs/getting_started/_components/step_01.md
new file mode 100644
index 0000000..560cf4f
--- /dev/null
+++ b/docs/docs/getting_started/_components/step_01.md
@@ -0,0 +1,20 @@
+## Step 1: Obtain an evaluation board
+
+Click the button below to get the board.
+
+[Board and SoftwareGet the board and software for RZ/G series. ](../download/index.md?src=getting_started){ .md-button .md-button--primary .btn-indent }
+
+=== "RZ/G2L"
+
+![](../download/images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg){ align=right width=220 style=max-width:35%; }
+
+The RZ/G2L Evaluation Board Kit (EVK) is the ideal board kit for RZ/G2L evaluation.
+
+Following items are included in the RZ/G2L Evaluation Board Kit.
+
+!!! content-wrapper no-indent ""
+
+ | Equipment | Details |
+ | ------------------------- | -------------------------------------------------- |
+ | RZ/G2L Evaluation Board | Evaluation board itself. |
+ | Micro USB to Serial Cable | For serial communication between PC and the board. |
diff --git a/docs/docs/getting_started/_components/step_02.md b/docs/docs/getting_started/_components/step_02.md
new file mode 100644
index 0000000..9c6e3b3
--- /dev/null
+++ b/docs/docs/getting_started/_components/step_02.md
@@ -0,0 +1,78 @@
+## Step 2: Obtain necessary environment
+
+### 1. Necessary Equipment
+
+Please prepare the following equipment for your EVK.
+
+=== "RZ/G2L"
+
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | Equipment | Purpose | Remarks |
+ +=======================================================+===================================================================+==================================================================+
+ | RZ/G2L Module Board (SMARC2.1) + Common Carrier Board | It is used to evaluate not only Linux but also demo programs or | Included with RZ/G2L Evaluation Board Kit (EVK). |
+ | | applications that run on Linux in the Linux operating environment | |
+ | (P/N: RTK9744L23S01000BE) | provided by HMI SDK. | |
+ | | | |
+ | | * 4GB or more ROM (SPI or eMMC or SD) | |
+ | | * 2GB or more RAM (DDR4/DDR3L 16bit x 1.6/1.3Gbps) | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | USB serial cable | It is used to connect the PC and the EVK and get the console | Included with RZ/G2L Evaluation Board Kit (EVK). |
+ | | output of Linux running on the EVK. | |
+ | | | |
+ | | * Connect to micro USB type-B (2.0) port of EVK | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | USB Power Delivery (PD) AC adapter + USB C PD cable | Use for power supply. | |
+ | for power supply | | |
+ | | * Connect to USB type-C port of EVK | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | PC | It can be used to operate the demo environment from a terminal | The OS of the PC is as follows. However, Windows PCs are for |
+ | | on a PC, rebuild HMI SDK Linux, or use it as a development device | debugging using a serial connection and cannot be used for |
+ | | for applications. | development such as building software. |
+ | | | |
+ | | * At least 100GB or more free space of HDD/SDD | * Ubuntu 20.04 LTS, 64-bit version |
+ | | * 8GB or more RAM | * Windows 10 or 11 |
+ | | * 4-core or more CPU | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | HDMI display monitor + HDMI cable | Used to display demo programs or applications provided by HMI | If you need a touch panel function, you need a panel that |
+ | | SDK. | supports USB connection. |
+ | | | |
+ | | * Connect to micro HDMI port of EVK | The HMI SDK supports the display of resolutions supported by the |
+ | | | Extended Display Identification Data (EDID) information obtained |
+ | | | from this HDMI display monitor. |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | USB mouse | Used to operate demo programs and applications provided by | |
+ | | HMI SDK. | |
+ | | | |
+ | | * USB HID Compliant | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | USB hub | Used when multiple USB devices are required for the demo | |
+ | | program or applications provided by HMI SDK. | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | USB keyboard | Used to operate demo programs and applications provided by | |
+ | | HMI SDK. | |
+ | | | |
+ | | * USB HID Compliant | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | USB touch screen | Used to operate demo programs and applications provided by | |
+ | | HMI SDK. | |
+ | | | |
+ | | * USB HID Compliant | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | Audio speaker | Used to evaluate the audio output demo programs or applications | |
+ | | provided by HMI SDK. | |
+ | | | |
+ | | * 3.5mm mini plug connector required | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+ | micro SD card | Linux and demo images provided by the HMI SDK are written and | Linux on the RZ/G2L EVK is booted from a micro SD card by eSD |
+ | | used as a Linux boot device. | boot. |
+ | | | |
+ | | * Type: SDHC | |
+ | | * Speed class: UHI-Class 10 | |
+ | | * Capacity: Minimum 4GB, recommended 8GB | |
+ +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+
+
+### 2. Necessary Software
+
+Please install following software **on Linux PC**.
+
+* git
diff --git a/docs/docs/getting_started/_components/step_03.md b/docs/docs/getting_started/_components/step_03.md
new file mode 100644
index 0000000..1b53bd2
--- /dev/null
+++ b/docs/docs/getting_started/_components/step_03.md
@@ -0,0 +1,9 @@
+## Step 3: Obtain RZ/G HMI SDK
+
+Please download from [Renesas.com](https://www.renesas.com/){: target=_blank } website.
+
+[:octicons-download-16: Get HMI SDK](https://www.renesas.com/document/sws/rzg-hmi-software-development-kit-version-100){ .md-button .btn-round target=_blank }
+
+[:material-file-code: Get HMI SDK source code](https://www.renesas.com/document/sws/rzg-hmi-sdk-version-100-source-code){ .md-button .btn-round target=_blank }
+
+Once downloaded, please check the Release Note included inside package.
diff --git a/docs/docs/getting_started/_components/step_04.md b/docs/docs/getting_started/_components/step_04.md
new file mode 100644
index 0000000..b941ac5
--- /dev/null
+++ b/docs/docs/getting_started/_components/step_04.md
@@ -0,0 +1,100 @@
+## Step 4: Prepare HMI SDK SD card image for demo
+
+Prebuilt binary are prepared as `#!bash wic` image.
+
+=== "RZ/G2L"
+
+ `#!bash wic` image is available inside `#!bash image-file_rzg2l_hmi-sdk_v1.0.zip`.
+
+### 1. In case of Windows PC
+
+1. Download or copy the release package into your PC
+2. Unzip the release package and extract an image file
+3. Write the image file to your micro SD card by using one of the following tool
+ * [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/){: target=_blank }
+ * [balenaEtcher](https://etcher.balena.io/){: target=_blank }
+
+ === "RZ/G2L"
+
+ Image file is:
+
+ * `#!bash core-image-weston-smarc-rzg2l.wic.gz`
+
+ !!! danger "Caution"
+ Even if you see a message such as `#!bash you need to format the disk` before/after writing the image, do not format the SD card.
+
+### 2. In case of Linux PC (Ubuntu)
+
+1. Download or copy the release package into your PC
+2. Unzip the release package and extract an image file
+3. Insert the micro SD Card into your Linux PC and find the device name of the SD card
+
+ Use `#!bash lsblk` command to check the device name as follows.
+
+ * Before inserting the SD card
+
+ ```bash
+ lsblk
+ ```
+ {: .dollar }
+
+ ```bash
+ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
+ (snip)
+ nvme0n1 259:0 0 465.8G 0 disk
+ ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
+ └─nvme0n1p2 259:2 0 465.3G 0 part /
+ ```
+
+ * After inserting the SD card
+
+ ```bash
+ lsblk
+ ```
+ {: .dollar }
+
+ ```bash
+ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
+ (snip)
+ nvme0n1 259:0 0 465.8G 0 disk
+ ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
+ └─nvme0n1p2 259:2 0 465.3G 0 part /
+ sda 8:0 1 14.5G 0 disk
+ ├─sda1 8:1 1 500M 0 part /media/user/boot
+ └─sda2 8:2 1 3.4G 0 part /media/user/rootfs
+ ```
+
+ !!! note
+ The device name is assigned to the SD card by Linux on your Host PC.
+ It may be named `#!bash /dev/sd*` (`#!bash *` is a letter representing
+ the physical drive). It is `#!bash /dev/sda` in this sample.
+
+4. Unmount the SD card if it is mounted
+
+ Use `#!bash umount` command with mount points that are displayed when you executed `#!bash lsblk` command. For example:
+
+ ```bash
+ umount /media/user/boot
+ umount /media/user/rootfs
+ ```
+ {: .dollar }
+
+5. Write the image to the SD card
+
+ Use `#!bash bmaptool` command with device name of SD card is displayed when you executed `#!bash lsblk` command. For example:
+
+ ```bash
+ sudo bmaptool copy .wic.gz /dev/sda
+ ```
+ {: .dollar }
+
+ === "RZ/G2L"
+
+ Image file is:
+
+ * `#!bash core-image-weston-smarc-rzg2l.wic.gz`
+
+ !!! note
+ Additionally, the files below are also required:
+
+ * `#!bash core-image-weston-smarc-rzg2l.wic.bmap`
diff --git a/docs/docs/getting_started/_components/step_05.md b/docs/docs/getting_started/_components/step_05.md
new file mode 100644
index 0000000..eda4530
--- /dev/null
+++ b/docs/docs/getting_started/_components/step_05.md
@@ -0,0 +1,46 @@
+## Step 5: Run HMI SDK demo
+
+### 1. Setup EVK's peripheral
+
+Please setup following below diagram.
+
+=== "RZ/G2L"
+
+ ![](images/hardware-requirements.png)
+
+### 2. Setup EVK's DIP switch
+
+=== "RZ/G2L"
+
+ Set up DIP switch SW1 and SW11 as follows.
+
+ * SW1
+
+ !!! content-wrapper no-indent table-no-sort table-no-hover ""
+
+ ![](images/smarc-carrier-board-SW1.png){ align=left .switch-icon }
+
+ | SW1-1 | SW1-2 |
+ |:--------------:|:--------------:|
+ | ON {: .green } | ON {: .green } |
+
+ * SW11
+
+ !!! content-wrapper no-indent table-no-sort table-no-hover ""
+
+ ![](images/smarc-carrier-board-SW11.png){ align=left .switch-icon }
+
+ | SW11-1 | SW11-2 | SW11-3 | SW11-4 |
+ |:--------------:|:--------------:|:------------:|:--------------:|
+ | ON {: .green } | ON {: .green } | OFF {: .red} | ON {: .green } |
+
+### 3. Turn on EVK and run demo
+
+=== "RZ/G2L"
+
+ 1. Insert the bootable SD card created at [Step 4](#step-4-prepare-hmi-sdk-sd-card-image-for-demo)
+ 2. Connect a USB cable to CN6 for power supply
+ 3. Press and hold power button (SW9) for 1 second to turn on the EVK
+
+ !!! note
+ Press and hold the button for 2 seconds when you turn off the EVK.
diff --git a/docs/docs/getting_started/_components/step_06.md b/docs/docs/getting_started/_components/step_06.md
new file mode 100644
index 0000000..149641a
--- /dev/null
+++ b/docs/docs/getting_started/_components/step_06.md
@@ -0,0 +1,82 @@
+## Step 6: Build sample application
+
+This step explains how to build HMI SDK sample application.
+To see the overview about HMI Applications, please refer to [HMI Applications](../index.md#hmi-applications).
+
+!!! Note
+ This step requires a Linux PC (Ubuntu).
+
+ The prebuilt binary of executable files are also provided, and you can run it directly.
+
+1. Install cross compiler to you Linux PC (Ubuntu)
+
+ !!! note
+ This step is optional, as prebuilt binaries was prepared.
+
+ ```bash
+ sudo sh ./poky-glibc-x86_64-core-image-weston-sdk-aarch64-toolchain-3.1.31.sh
+ ```
+ { .dollar }
+
+ !!! Note
+ Please set target directory (default: `#!bash /opt/poky/3.1.31`).
+
+2. Enable cross compiler
+
+ !!! note
+ This step is optional, as prebuilt binaries was prepared.
+
+ ```bash
+ source /opt/poky/3.1.31/environment-setup-aarch64-poky-linux
+ ```
+ { .dollar }
+
+ !!! Note
+ Please make sure where cross compiler is installed (default: `#!bash /opt/poky/3.1.31`).
+
+3. Clone sample application source code
+
+ ```bash
+ git clone https://github.com/renesas-rz/rzg_hmi_sdk
+ ```
+ { .dollar }
+
+4. Go to source code working directory
+
+ ```bash
+ cd rzg_hmi_sdk/sample_app/
+ ```
+ { .dollar }
+
+ !!! note
+ Existing `#!bash `(s) are listed on below table.
+
+ | `#!bash ` | Description |
+ | --------------------------------------- | -------------------------------------- |
+ | `#!bash lvgl_sample_img_disp` | LVGL Sample Program for Image Display |
+ | `#!bash lvgl_sample_audio_playback` | LVGL Sample Program for Audio Playback |
+ | `#!bash lvgl_sample_video_playback` | LVGL Sample Program for Video Playback |
+
+5. Build sample application
+
+ !!! note
+ This step is optional, as prebuilt binaries was prepared.
+
+ ```bash
+ make
+ ```
+ { .dollar }
+
+6. Executable file of sample application
+
+ Each executable file of sample application built as `#!bash rzg_hmi_sdk/sample_app//`.
+
+ !!! note
+ Executable file name (`#!bash `) are same with `#!bash ` name.
+
+ For example in case `#!bash lvgl_sample_img_disp`, path to executable file is:
+
+ ```bash
+ /rzg_hmi_sdk/sample_app/lvgl_sample_img_disp/lvgl_sample_img_disp
+ ```
+ {: .dollar }
diff --git a/docs/docs/getting_started/_components/step_07.md b/docs/docs/getting_started/_components/step_07.md
new file mode 100644
index 0000000..c69bdd4
--- /dev/null
+++ b/docs/docs/getting_started/_components/step_07.md
@@ -0,0 +1,145 @@
+## Step 7: Deploy sample application
+
+!!! Note
+ This step requires a Linux PC (Ubuntu).
+
+### 1. Over ethernet (using `SCP`)
+
+1. Boot and connect your EVK into your local network
+
+ Connect an ethernet cable to RJ45 port for networking.
+
+ === "RZ/G2L"
+ RJ45 ports are CN8 and CN9.
+
+ !!! note
+ Just connect 1 ethernet cable to CN8 or CN9.
+
+ !!! note
+ Your EVK will run the demo program automatically.
+
+ Please exit the demo by pressing the keyboard keys ++ctrl+c++,
+ before proceeding to the next step.
+
+2. Check your EVK's IP
+
+ Open terminal of your EVK, and check using `#!bash ip` command as below.
+
+ ```bash
+ ip a
+ ```
+ {: .hash }
+
+ !!! note
+ For example, when RZ/G2L EVK's CN8 ethernet port connected to local network.
+
+ ```console
+ root@smarc-rzg2l:~# ip a | grep eth
+ 5: eth0: mtu 1500 qdisc mq state DOWN group default qlen 1000
+ link/ether f2:d6:18:24:f0:6b brd ff:ff:ff:ff:ff:ff
+ 6: eth1: mtu 1500 qdisc mq state UP group default qlen 1000
+ link/ether 72:26:f0:8b:64:59 brd ff:ff:ff:ff:ff:ff
+ inet 192.168.0.32/24 brd 192.168.0.255 scope global dynamic eth1
+ ```
+
+ EVK's IP is `#!console 192.168.0.32` (at `#!console eth1`).
+
+3. Copy executable into your EVK storage (SD card)
+
+ Send executable file from your Linux PC (Ubuntu) using `#!bash scp` command as below.
+
+ ```bash
+ scp /rzg_hmi_sdk/sample_app// root@:/home/root/
+ ```
+ {: .dollar }
+
+ !!! note
+ We recommend you to copy to `#!bash /home/root` directory.
+
+ Don't forget to replace `#!bash ` with your EVK's IP.
+
+4. Copy resources required by sample application
+
+ === "`#!bash lvgl_sample_img_disp`"
+
+ ```bash
+ scp /rzg_hmi_sdk/sample_app/lvgl_sample_img_disp/sample/* root@:/usr/share/images/
+ ```
+ {: .dollar }
+
+ !!! danger "Caution"
+ Make sure you are copying to `#!bash /usr/share/images/` directory of EVK.
+
+ === "`#!bash lvgl_sample_audio_playback`"
+
+ ```bash
+ scp /rzg_hmi_sdk/sample_app/lvgl_sample_audio_playback/sample/* root@:/usr/share/sounds/sample/
+ ```
+ {: .dollar }
+
+ !!! danger "Caution"
+ Make sure you are copying to `#!bash /usr/share/sounds/sample/` directory of EVK.
+
+ === "`#!bash lvgl_sample_video_playback`"
+
+ ```bash
+ scp /rzg_hmi_sdk/sample_app/lvgl_sample_video_playback/sample/* root@:/usr/share/movies/
+ ```
+ {: .dollar }
+
+ !!! danger "Caution"
+ Make sure you are copying to `#!bash /usr/share/movies/` directory of EVK.
+
+### 2. Directly write into HMI SDK's SD card
+
+1. Turn off your EVK (if its on)
+2. Insert and mount your SD card into PC
+3. Copy executable into your SD card
+
+ For example, in case mounted on `#!bash /media/user/rootfs`.
+
+ ```bash
+ cp /rzg_hmi_sdk/sample_app// /media/user/rootfs/home/root/
+ ```
+ {: .dollar }
+
+ !!! note
+ We recommend you to copy to `#!bash /home/root` directory.
+
+ If you not sure where is your SD card mounted,
+ please check it using `#!bash lsblk` command
+ (see [Step 4.2](#2-in-case-of-linux-pc-ubuntu).3).
+
+4. Copy resources required by sample application
+
+ For example, in case mounted on `#!bash /media/user/rootfs`.
+
+ === "`#!bash lvgl_sample_img_disp`"
+
+ ```bash
+ cp /rzg_hmi_sdk/sample_app/lvgl_sample_img_disp/sample/* /media/user/rootfs/usr/share/images/
+ ```
+ {: .dollar }
+
+ !!! danger "Caution"
+ Make sure you are copying to `#!bash /usr/share/images/` directory on SD card.
+
+ === "`#!bash lvgl_sample_audio_playback`"
+
+ ```bash
+ cp /rzg_hmi_sdk/sample_app/lvgl_sample_audio_playback/sample/* /media/user/rootfs/usr/share/sounds/sample/
+ ```
+ {: .dollar }
+
+ !!! danger "Caution"
+ Make sure you are copying to `#!bash /usr/share/sounds/sample/` directory on SD card.
+
+ === "`#!bash lvgl_sample_video_playback`"
+
+ ```bash
+ cp /rzg_hmi_sdk/sample_app/lvgl_sample_video_playback/sample/* /media/user/rootfs/usr/share/movies/
+ ```
+ {: .dollar }
+
+ !!! danger "Caution"
+ Make sure you are copying to `#!bash /usr/share/movies/` directory on SD card.
diff --git a/docs/docs/getting_started/_components/step_08.md b/docs/docs/getting_started/_components/step_08.md
new file mode 100644
index 0000000..34cd8e8
--- /dev/null
+++ b/docs/docs/getting_started/_components/step_08.md
@@ -0,0 +1,32 @@
+## Step 8: Run sample application
+
+1. Boot your EVK (if not yet)
+
+ !!! note
+ Your EVK will run the demo program automatically.
+
+ Please exit the demo by pressing the keyboard keys ++ctrl+c++,
+ before proceeding to the next step.
+
+2. Go to `#!bash /home/root` directory
+
+ Open terminal of your EVK, and go to `#!bash /home/root` using `#!bash cd` command as below.
+
+ ```bash
+ cd /home/root
+ ```
+ {: .hash }
+
+3. Set sample application binary executable
+
+ ```bash
+ chmod +x
+ ```
+ {: .hash }
+
+4. Execute sample application binary
+
+ ```bash
+ ./
+ ```
+ {: .hash }
diff --git a/docs/docs/getting_started/images/hardware-requirements.png b/docs/docs/getting_started/images/hardware-requirements.png
new file mode 100644
index 0000000..7311877
Binary files /dev/null and b/docs/docs/getting_started/images/hardware-requirements.png differ
diff --git a/docs/docs/getting_started/images/smarc-carrier-board-SW1.png b/docs/docs/getting_started/images/smarc-carrier-board-SW1.png
new file mode 100644
index 0000000..115471a
Binary files /dev/null and b/docs/docs/getting_started/images/smarc-carrier-board-SW1.png differ
diff --git a/docs/docs/getting_started/images/smarc-carrier-board-SW11.png b/docs/docs/getting_started/images/smarc-carrier-board-SW11.png
new file mode 100644
index 0000000..64bb1d0
Binary files /dev/null and b/docs/docs/getting_started/images/smarc-carrier-board-SW11.png differ
diff --git a/docs/docs/getting_started/index.md b/docs/docs/getting_started/index.md
new file mode 100644
index 0000000..1bade3b
--- /dev/null
+++ b/docs/docs/getting_started/index.md
@@ -0,0 +1,26 @@
+# Getting Started
+
+This page explains how to start-up the HMI SDK.
+
+!!! note
+ Hereafter, we use following terminology.
+
+ * **EVK**: Refers "Evaluation Board Kit".
+
+{! getting_started/_components/introduction.md !}
+
+{! getting_started/_components/step_01.md !}
+
+{! getting_started/_components/step_02.md !}
+
+{! getting_started/_components/step_03.md !}
+
+{! getting_started/_components/step_04.md !}
+
+{! getting_started/_components/step_05.md !}
+
+{! getting_started/_components/step_06.md !}
+
+{! getting_started/_components/step_07.md !}
+
+{! getting_started/_components/step_08.md !}
diff --git a/docs/docs/guidelines/_components/image.md b/docs/docs/guidelines/_components/image.md
new file mode 100644
index 0000000..9214e4a
--- /dev/null
+++ b/docs/docs/guidelines/_components/image.md
@@ -0,0 +1,29 @@
+### Zoomable image
+
+!!! danger
+ Hyperlink to images should follow referrer page location. In this case:
+
+ * Referrer page: `guidelines/index.md`.
+ * Referred image: `images/`.
+
+ Where `images` directory is inside `guidelines` directory.
+
+#### Center
+
+![](images/rz.jpg){: width=150px }
+{: .center }
+
+#### Right
+
+![](images/rz.jpg){: width=150px }
+{: .right }
+
+### Paragraphs
+
+#### Subtitles
+
+The best solution for starting your HMI applications.
+{: .subtitle .center }
+
+HMI SDK are quick and easy solutions for starting HMI.
+{: .sub-subtitle .center }
diff --git a/docs/docs/guidelines/_tables/basic_table.csv b/docs/docs/guidelines/_tables/basic_table.csv
new file mode 100644
index 0000000..3213ddc
--- /dev/null
+++ b/docs/docs/guidelines/_tables/basic_table.csv
@@ -0,0 +1,5 @@
+"a","b"
+40,73
+50,52
+531456.123,80
+"name","table1"
diff --git a/docs/docs/guidelines/images/rz.jpg b/docs/docs/guidelines/images/rz.jpg
new file mode 100644
index 0000000..bf0167a
Binary files /dev/null and b/docs/docs/guidelines/images/rz.jpg differ
diff --git a/docs/docs/guidelines/index.md b/docs/docs/guidelines/index.md
new file mode 100644
index 0000000..0658e4b
--- /dev/null
+++ b/docs/docs/guidelines/index.md
@@ -0,0 +1,303 @@
+# Welcome to MkDocs
+
+For full documentation visit [mkdocs.org](https://www.mkdocs.org).
+
+## Commands
+
+* `mkdocs new [dir-name]` - Create a new project.
+* `mkdocs serve` - Start the live-reloading docs server.
+* `mkdocs build` - Build the documentation site.
+* `mkdocs -h` - Print help message and exit.
+
+## Project layout
+
+ mkdocs.yml # The configuration file.
+ docs/
+ index.md # The documentation homepage.
+ ... # Other markdown pages, images and other files.
+
+## Test admonitions
+
+!!! note "Note"
+ Test admonition.
+
+!!! abstract "Abstract"
+ Test admonition.
+
+!!! info "Info"
+ Test admonition.
+
+!!! tip "Tip"
+ Test admonition.
+
+!!! success "Success"
+ Test admonition.
+
+!!! question "Question"
+ Test admonition.
+
+!!! warning "Warning"
+ Test admonition.
+
+!!! failure "Failure"
+ Test admonition.
+
+!!! danger "Danger"
+ Test admonition.
+
+!!! bug "Bug"
+ Test admonition.
+
+!!! example "Example"
+ Test admonition.
+
+!!! quote "Quote"
+ Test admonition.
+
+### Without title
+
+!!! note ""
+ Test admonition.
+
+## Test code blocks
+
+``` py
+import tensorflow as tf
+```
+
+### Adding a title
+
+``` py title="bubble_sort.py"
+def bubble_sort(items):
+ for i in range(len(items)):
+ for j in range(len(items) - 1 - i):
+ if items[j] > items[j + 1]:
+ items[j], items[j + 1] = items[j + 1], items[j]
+```
+
+### Adding annotations
+
+``` yaml
+theme:
+ features:
+ - content.code.annotate # (1)
+```
+
+1. :man_raising_hand: I'm a code annotation! I can contain `code`, __formatted
+ text__, images, ... basically anything that can be written in Markdown.
+
+#### Stripping comments
+
+``` yaml
+# (1)!
+```
+
+1. Look ma, less line noise!
+
+### Adding line numbers
+
+``` py linenums="1"
+def bubble_sort(items):
+ for i in range(len(items)):
+ for j in range(len(items) - 1 - i):
+ if items[j] > items[j + 1]:
+ items[j], items[j + 1] = items[j + 1], items[j]
+```
+
+### Highlighting specific lines
+
+``` py linenums="1" hl_lines="2 3"
+def bubble_sort(items):
+ for i in range(len(items)):
+ for j in range(len(items) - 1 - i):
+ if items[j] > items[j + 1]:
+ items[j], items[j + 1] = items[j + 1], items[j]
+```
+
+### Highlighting inline code blocks
+
+The `#!python range()` function is used to generate a sequence of numbers.
+
+### Embedding external files
+
+``` bash title="serve.sh" linenums="1"
+--8<-- "serve.sh"
+```
+
+## Test (sortable) tables
+
+### Column alignment
+
+#### Center
+
+| Method | Description |
+| :---------: | :----------------------------------: |
+| `GET` | :material-check: Fetch resource |
+| `PUT` | :material-check-all: Update resource |
+| `DELETE` | :material-close: Delete resource |
+
+#### Right
+
+| Method | Description |
+| ----------: | -----------------------------------: |
+| `GET` | :material-check: Fetch resource |
+| `PUT` | :material-check-all: Update resource |
+| `DELETE` | :material-close: Delete resource |
+
+### Grid table (inside admonitions)
+
+!!! note "Note"
+ +-------------------+--------------------------------------------+-------------------+
+ | Name | Description | Example |
+ +===================+============================================+===================+
+ | Server Version | The version of the server | 0.20.0 |
+ +-------------------+--------------------------------------------+-------------------+
+ | Protocol Version | The version of the protocol | 0.1.0 |
+ | | (different servers can have same protocol) | |
+ +-------------------+--------------------------------------------+-------------------+
+ | Capabilities | What features the server has implemented | "search" |
+ +-------------------+--------------------------------------------+-------------------+
+
+### Import table from file (.csv)
+
+{{ read_csv('./_tables/basic_table.csv') }}
+
+### Table with footnote (table area)
+
+!!! content-wrapper no-indent ""
+
+ | Month | Savings |
+ | --------------------------------- | ------- |
+ | January ^[1](#tf:1)^{: #tfref:1 } | $250 |
+ | February | $80 |
+ | March ^[2](#tf:2)^{: #tfref:2 } | $420 |
+
+ 1. This is a footnote inside table area. [↩](#tfref:1){: .tf-backref }
+ {: #tf:1 }
+
+ 2. This is another footnote inside table area. [↩](#tfref:2){: .tf-backref }
+ {: #tf:2 }
+
+#### Indented
+
+!!! danger
+ As each page elements must have unique id,
+ please increase referred and referrer ids of `content-wrapper`, as:
+
+ * `#tf:X`
+ * `#tfref:X`
+
+ Where `X=1,2,3,...`
+
+!!! content-wrapper ""
+
+ | Month | Savings |
+ | --------------------------------- | ------- |
+ | January ^[1](#tf:3)^{: #tfref:3 } | $250 |
+ | February | $80 |
+ | March ^[2](#tf:4)^{: #tfref:4 } | $420 |
+
+ 1. This is a footnote inside table area. [↩](#tfref:3){: .tf-backref }
+ {: #tf:3 }
+
+ 2. This is another footnote inside table area. [↩](#tfref:4){: .tf-backref }
+ {: #tf:4 }
+
+#### Indented without footnote
+
+!!! content-wrapper ""
+
+ | Month | Savings |
+ | -------- | ------- |
+ | January | $250 |
+ | February | $80 |
+ | March | $420 |
+
+## Test buttons
+
+[Subscribe to our newsletter](#){ .md-button .md-button--primary }
+
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey }
+
+### Rounded
+
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-yellow .btn-round }
+
+### Right
+
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-right }
+
+### Grouped
+
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey }
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-yellow .btn-round }
+
+#### Grouped right
+
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-right }
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-yellow .btn-round .btn-right }
+
+### Sub-text
+
+[Subscribe to our newsletterSub-text ](#){ .md-button .md-button--primary }
+
+### Indented
+
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey .btn-indent }
+
+#### Grouped
+
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey .btn-indent }
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-yellow .btn-round }
+
+#### Small
+
+[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey .btn-indent .btn-small }
+
+## Test include page
+
+{! guidelines/_components/image.md !}
+
+## Test text formatting
+
+### Highlighting changes
+
+Text can be {--deleted--} and replacement text {++added++}. This can also be
+combined into {~~one~>a single~~} operation. {==Highlighting==} is also
+possible {>>and comments can be added inline<<}.
+
+{==
+
+Formatting can also be applied to blocks by putting the opening and closing
+tags on separate lines and adding new lines between the tags and the content.
+
+==}
+
+### Highlighting text
+
+- ==This was marked (highlight)==
+- ^^This was inserted (underline)^^
+- ~~This was deleted (strikethrough)~~
+
+### Sub- and superscripts
+
+- H~2~O
+- A^T^A
+
+### Adding keyboard keys
+
+++ctrl+alt+del++
+
+## Test footnotes
+
+!!! warning
+ Footnotes always placed at last of page, regardless referrer place.
+
+Lorem ipsum[^1] dolor sit amet, consectetur adipiscing elit.[^2]
+
+[^1]: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+[^2]:
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
+ nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
+ massa, nec semper lorem quam in massa.
diff --git a/docs/docs/history/_components/__front_matter.md b/docs/docs/history/_components/__front_matter.md
new file mode 100644
index 0000000..efa7be3
--- /dev/null
+++ b/docs/docs/history/_components/__front_matter.md
@@ -0,0 +1,8 @@
+## What's new
+
+2024/07/31
+{: .right .small }
+
+RZ/G2L HMI SDK v1.00 is available.
+
+[View Version History >](history/index.md){ .md-button .md-button--primary .btn-right }
diff --git a/docs/docs/history/index.md b/docs/docs/history/index.md
new file mode 100644
index 0000000..dcfe93a
--- /dev/null
+++ b/docs/docs/history/index.md
@@ -0,0 +1,16 @@
+---
+hide:
+ - navigation
+ - toc
+---
+
+# Version
+
+## *RZ/G2L HMI SDK v1.00*
+
+2024/07/31
+{: .right .small }
+
+RZ/G2L HMI SDK v1.00 is available.
+
+[Back to Home >](../index.md#whats-new){ .md-button .md-button--primary .btn-right }
diff --git a/docs/docs/hmi_applications/_components/__front_matter.md b/docs/docs/hmi_applications/_components/__front_matter.md
new file mode 100644
index 0000000..1915fbe
--- /dev/null
+++ b/docs/docs/hmi_applications/_components/__front_matter.md
@@ -0,0 +1,13 @@
+## HMI Applications {: .center }
+
+HMI Applications provides the source code and prebuilt binary,
+which allow you to select the application from various use cases, and run it on the board immediately.
+{: .center }
+
+!!! content-wrapper center ""
+
+ | Sample Application Name | Description |
+ | ----------------------------------- | -------------------------------------- |
+ | `#!bash lvgl_sample_img_disp` | LVGL Sample Program for Image Display |
+ | `#!bash lvgl_sample_audio_playback` | LVGL Sample Program for Audio Playback |
+ | `#!bash lvgl_sample_video_playback` | LVGL Sample Program for Video Playback |
diff --git a/docs/docs/how_to_build_hmi_sdk/_components/introduction.md b/docs/docs/how_to_build_hmi_sdk/_components/introduction.md
new file mode 100644
index 0000000..78946db
--- /dev/null
+++ b/docs/docs/how_to_build_hmi_sdk/_components/introduction.md
@@ -0,0 +1,28 @@
+## Introduction
+
+HMI SDK is a quick and easy HMI Application development environment.
+
+To modify Linux component, you need to build HMI SDK from source code.
+HMI SDK source code will generate same Linux environment as HMI SDK.
+
+This page explains how to build HMI SDK source code.
+After you have completed this page, you would be able to change the source code
+and customize Linux environment (i.e., memory map, additional OSS etc...).
+
+
+!!! note "Requirement"
+ 1. Users have launched Evaluation Board Kit according to [Getting Started](../getting_started/index.md),
+ which means they can run HMI Application on the board.
+ 2. To build Yocto Linux, the below equipment should be prepared.
+
+ !!! content-wrapper no-indent table-no-sort table-no-hover ""
+
+ +-----------+--------------------------------------------------+
+ | Equipment | Details |
+ +===========+==================================================+
+ | Linux PC | Approximately **110GB free space** is necessary. |
+ | +-------------+------------------------------------+
+ | | OS | **Ubuntu 20.04 LTS** |
+ | | | |
+ | | | 64bit OS must be used. |
+ +-----------+-------------+------------------------------------+
diff --git a/docs/docs/how_to_build_hmi_sdk/_components/step_01.md b/docs/docs/how_to_build_hmi_sdk/_components/step_01.md
new file mode 100644
index 0000000..f5be131
--- /dev/null
+++ b/docs/docs/how_to_build_hmi_sdk/_components/step_01.md
@@ -0,0 +1,7 @@
+## Step 1: Obtain HMI SDK source code
+
+Download HMI SDK source code from below link.
+
+[:octicons-download-16: Get HMI SDK](https://www.renesas.com/document/sws/rzg-hmi-software-development-kit-version-100){ .md-button .btn-round target=_blank }
+
+[:material-file-code: Get HMI SDK source code](https://www.renesas.com/document/sws/rzg-hmi-sdk-version-100-source-code){ .md-button .btn-round target=_blank }
diff --git a/docs/docs/how_to_build_hmi_sdk/_components/step_02.md b/docs/docs/how_to_build_hmi_sdk/_components/step_02.md
new file mode 100644
index 0000000..90547b8
--- /dev/null
+++ b/docs/docs/how_to_build_hmi_sdk/_components/step_02.md
@@ -0,0 +1,166 @@
+## Step 2: Build HMI SDK source code
+
+This step explains how to build Linux environment with HMI SDK source code.
+
+!!! note
+ In the following instructions, text in angle brackets should be replaced
+ with a character string that depends on your environment.
+
+ The brackets `<` and `>` are unnecessary in the text.
+
+
+1. Install the required packages
+
+ Install some packages into your Linux PC, which are necessary in the following steps.
+
+ ```bash
+ sudo apt-get update
+ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping libsdl1.2-dev xterm p7zip-full libyaml-dev libssl-dev bmap-tools
+
+ ```
+ {: .dollar }
+
+2. Set up your `#!bash git` environment
+
+ Set up your `#!bash git` environment if you have never done it.
+
+ ```bash
+ git config --global user.email ""
+ git config --global user.name ""
+ ```
+ {: .dollar }
+
+ !!! note
+ For more information, refer to [Yocto Project Quick Build](https://docs.yoctoproject.org/3.1.26/brief-yoctoprojectqs/brief-yoctoprojectqs.html){: target=_blank }.
+
+3. Set environment variables
+
+ Set the following environment variables.
+
+ === "RZ/G2L"
+
+ ```bash
+ export WORK=
+ export PLATFORM=rzg2l
+ export BOARD=smarc-rzg2l
+ export SDK_PKG_DIR=
+ ```
+ {: .dollar }
+
+ !!! note
+ Currently, RZ/G Linux HMI SDK supports only `#!bash rzg2l` for
+ `#!bash PLATFORM` and `#!bash smarc-rzg2l` for `#!bash BOARD`.
+
+ The directory set to `#!bash SDK_PKG_DIR` shall include the HMI SDK
+ source code package such as `#!bash RTK0EF0195F*SJ_linux-src.zip`.
+
+4. Extract Yocto recipe package
+
+ Decompress the source code package, create a working directory, and
+ extract Yocto recipe package.
+
+ === "RZ/G2L"
+
+ ```bash
+ cd ${SDK_PKG_DIR}
+ unzip RTK0EF0195F*SJ_linux-src.zip
+ ```
+ {: .dollar }
+
+ ```bash
+ mkdir -p ${WORK}
+ cd ${WORK}
+ tar xf ${SDK_PKG_DIR}/RTK0EF0195F*SJ_linux-src/yocto_recipe_rzg2l_hmi-sdk_v*.tar.gz --strip-components 1
+
+ ```
+ {: .dollar }
+
+5. Initialize build environment
+
+ Run an environment setup script as follows.
+
+ ```bash
+ cd ${WORK}
+ TEMPLATECONF=${PWD}/meta-renesas/meta-${PLATFORM}/docs/template/conf/ source poky/oe-init-build-env build
+ ```
+ {: .dollar }
+
+6. Add layers
+
+ Add necessary Yocto `#!bash meta-layers` layer as follows.
+
+ ```bash
+ cd ${WORK}/build
+ bitbake-layers add-layer ../meta-rz-features/meta-rz-graphics
+ bitbake-layers add-layer ../meta-rz-features/meta-rz-codecs
+ bitbake-layers add-layer ../meta-rz-demos
+ ```
+ {: .dollar }
+
+7. Set up environment for offline build
+
+ This step is configuration for offline building.
+
+ If you would like to get source code via network when you build the HMI
+ SDK, skip this step.
+
+ Change the environment variable `#!bash BB_NO_NETWORK` in
+ `#!bash local.conf` from `#!bash 0` to `#!bash 1` using `#!bash sed`
+ command.
+
+ ```bash
+ cd ${WORK}/build
+ sed -i "s|\(BB_NO_NETWORK =.*\)\"0\"|\1\"1\"|" "conf/local.conf"
+ ```
+ {: .dollar }
+
+ Decompress OSS source code package and set it into the build
+ environment.
+
+ === "RZ/G2L"
+
+ ```bash
+ cd ${SDK_PKG_DIR}/RTK0EF0195F*SJ_linux-src/
+ 7z x oss-souce-code-pkg_rzg2l_hmi-sdk_v*.7z
+ mv oss-souce-code-pkg_rzg2l_hmi-sdk_v*/downloads/ ${WORK}/build/
+ ```
+ {: .dollar }
+
+8. Modify configurations for build environment
+
+ Add `#!bash IMAGE_INSTALL_append` and `#!bash WHITELIST_GPL-3.0` to
+ `#!bash local.conf` as follows.
+
+ ```bash
+ cd ${WORK}/build
+ sed -i '$aIMAGE_INSTALL_append = \" packagegroup-lvgl-demo packagegroup-benchmark-tools packagegroup-rz-benchmark-demo\"' "conf/local.conf"
+ sed -i '$aWHITELIST_GPL-3.0 += \" glmark2 \"' "conf/local.conf"
+ ```
+ {: .dollar }
+
+9. Build images
+
+ Run `#!bash bitbake` command to build images.
+
+ ```bash
+ cd ${WORK}/build
+ MACHINE=${BOARD} bitbake core-image-weston
+ ```
+ {: .dollar }
+
+ !!! note
+ If you need to create an SDK toolchain, run `#!bash bitbake`
+ command as follows.
+
+ ```bash
+ cd ${WORK}/build
+ MACHINE=${BOARD} bitbake core-image-weston -c populate_sdk
+ ```
+ {: .dollar }
+
+ !!! note
+ After building images or SDK toolchain, you can find them in the
+ following directories respectively.
+
+ * Images: `#!bash ${WORK}/build/tmp/deploy/images/${BOARD}/`
+ * SDK toolchain: `#!bash ${WORK}/build/tmp/deploy/sdk/`
diff --git a/docs/docs/how_to_build_hmi_sdk/index.md b/docs/docs/how_to_build_hmi_sdk/index.md
new file mode 100644
index 0000000..de017bc
--- /dev/null
+++ b/docs/docs/how_to_build_hmi_sdk/index.md
@@ -0,0 +1,7 @@
+# How To Build HMI SDK
+
+{! how_to_build_hmi_sdk/_components/introduction.md !}
+
+{! how_to_build_hmi_sdk/_components/step_01.md !}
+
+{! how_to_build_hmi_sdk/_components/step_02.md !}
diff --git a/docs/docs/index.md b/docs/docs/index.md
new file mode 100644
index 0000000..5654b26
--- /dev/null
+++ b/docs/docs/index.md
@@ -0,0 +1,22 @@
+# HMI SDK on RZ/G series
+
+The best solution for starting your HMI applications.
+{: .subtitle .center }
+
+HMI SDK are quick and easy solutions for starting HMI.
+{: .sub-subtitle .center }
+
+![](assets/images/banner-01.svg){ width=27.2% .zoom #banner-left }
+![](assets/images/banner-02.svg){ width=35.75% .zoom }
+![](assets/images/banner-03.svg){ width=32.2% .zoom #banner-right }
+{: .center }
+
+{! history/_components/__front_matter.md !}
+
+{! getting_started/_components/__front_matter.md !}
+
+{! hmi_applications/_components/__front_matter.md !}
+
+{! demo/_components/__front_matter.md !}
+
+{! video/_components/__front_matter.md !}
diff --git a/docs/docs/overview/_components/key_features.md b/docs/docs/overview/_components/key_features.md
new file mode 100644
index 0000000..12b6df8
--- /dev/null
+++ b/docs/docs/overview/_components/key_features.md
@@ -0,0 +1,39 @@
+## Key Features
+
+### Supported Devices
+
+* RZ/G2L Evaluation Board Kit (RTK9744L23S01000BE)
+
+### File Contents
+
+HMI SDK provides following files.
+
+!!! content-wrapper no-indent table-no-sort table-no-hover ""
+
+ +---------------------+---------------------------------------------+---------------------------------------------------------------------+
+ | Package | Items | Details |
+ +=====================+=============================================+=====================================================================+
+ | HMI SDK | Release Note | PDF documentation that contains RZ/G HMI SDK release information. |
+ | +---------------+-----------------------------+---------------------------------------------------------------------+
+ | | board_setup | SD card Image (WIC format) | Boot image of HMI SDK for eSD Boot. |
+ | | +-----------------------------+---------------------------------------------------------------------+
+ | | | Bootloader | Files to boot the board. (Option*) |
+ | | +-----------------------------+---------------------------------------------------------------------+
+ | | | Linux Kernel Files | Pre-build binary files for RZ/G Linux Kernel. (Option*) |
+ | | +-----------------------------+---------------------------------------------------------------------+
+ | | | Root filesystem | Filesystem for the RZ/G Linux. (Option*) |
+ | +---------------+-----------------------------+---------------------------------------------------------------------+
+ | | hmi_sdk_setup | HMI SDK Installer | Installer for HMI application development environment on Docker. |
+ | | +-----------------------------+---------------------------------------------------------------------+
+ | | | Cross Compiler | Compiler for Linux application on RZ/G Linux. |
+ | +---------------+-----------------------------+---------------------------------------------------------------------+
+ | | documents | Related Documents | License List. |
+ | +---------------+-----------------------------+---------------------------------------------------------------------+
+ | | references | Reference information | Files that is referred by Linux license information documentation. |
+ +---------------------+---------------+-----------------------------+---------------------------------------------------------------------+
+ | HMI SDK Source Code | README | Release information of HMI SDK Source Code |
+ | +---------------------------------------------+---------------------------------------------------------------------+
+ | | Yocto Linux Recipe | Linux source code of HMI SDK. |
+ | +---------------------------------------------+---------------------------------------------------------------------+
+ | | OSS Source Code | Source code of Open Source Software packages used to build HMI SDK. |
+ +---------------------+---------------------------------------------+---------------------------------------------------------------------+
diff --git a/docs/docs/overview/_components/specification.md b/docs/docs/overview/_components/specification.md
new file mode 100644
index 0000000..52b0925
--- /dev/null
+++ b/docs/docs/overview/_components/specification.md
@@ -0,0 +1,41 @@
+## Specification
+
+### Features
+
+!!! content-wrapper no-indent table-no-sort ""
+
+ | Components | Version | Detail |
+ |---------------------------------------|-----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+ | Linux Kernel | 5.10.201-cip41 | SLTS(Super Long Term Support) Kernel |
+ | Yocto | 3.1.31 (dunfell) | Distribution for embedded linux |
+ | gcc | 8.3.0 (Arm GCC 8.3-2019.03) | Compiler |
+ | glibc | 2.28 | |
+ | busybox | 1.30.1 | |
+ | openssl | 1.1.1n | |
+ | GStreamer1.0^[1](#tf:1)^{: #tfref:1 } | 1.16.3 | GStreamer UM for [RZ/G2L](https://www.renesas.com/us/en/document/mas/rzg2l-group-and-rzv2l-group-linux-interface-specification-gstreamer-users-manual-software){: target="_blank" } |
+ | wayland | 1.18.0 | |
+ | weston | 8.0.0 | |
+ | Python3 | 3.8.14 | |
+ | lvgl | 8.3.11 | |
+ | lv-drivers | 8.3.0 | |
+ | Firacode | 6.2 | |
+ | Tomlc99 | Latest version^[2](#tf:2)^{: #tfref:2 } | |
+ | OpenCL | | [OpenCL Overview](https://www.khronos.org/opencl/){: target="_blank" } |
+ | OpenGLES | | [OpenGL ES Overview](https://www.khronos.org/opengles/){: target="_blank" } |
+ | OpenMAX IL | 1.1 | [OpenMAX IL Overview](https://www.khronos.org/api/openmax/il){: target="_blank" } |
+
+ 1. For GStreamer Sample Applications please visit [this repository](https://github.com/renesas-rz/rz_gstreamer_sample_code/){: target="_blank" }. [↩](#tfref:1){: .tf-backref }
+ {: #tf:1 }
+
+ 2. Commit ID [5221b3d](https://github.com/cktan/tomlc99/commit/5221b3d3d66c25a1dc6f0372b4f824f1202fe398){: target="_blank" }. [↩](#tfref:2){: .tf-backref }
+ {: #tf:2 }
+
+### Memory Map
+
+=== "RZ/G2L"
+
+ Please see the memory map at **Linux Interface Specification Kernel Core User’s Manual: Software** for **RZ/G2L Group, RZ/V2L Group, and RZ/Five**.
+
+ `RTK0EF0045Z9006AZJ-v3.0.6.zip` > `r01us0468ej0108-rz-g_Kernel_Core_UME.pdf` page 5-6.
+
+ [:octicons-download-16: Get User's Manual: SoftwareRZ/G2L Group, RZ/V2L Group, and RZ/Five ](https://www.renesas.com/document/mas/rzg2lfivev2l-group-bsp-manual-set-rtk0ef0045z9000azj-v306zip){ .md-button .btn-round target=_blank }
diff --git a/docs/docs/overview/images/hmi-sdk.svg b/docs/docs/overview/images/hmi-sdk.svg
new file mode 100644
index 0000000..c9c32fa
--- /dev/null
+++ b/docs/docs/overview/images/hmi-sdk.svg
@@ -0,0 +1 @@
+User Application EVK CIP Linux Kernel BSP HMI SDK ( Software Development Kit) Linux Stacks /Libraries Streaming Graphics HMI Framework (HTML5 (*) /LVGL) (*) HTML5 will be supported from HMI SDK v2.00.
\ No newline at end of file
diff --git a/docs/docs/overview/index.md b/docs/docs/overview/index.md
new file mode 100644
index 0000000..76aa2b5
--- /dev/null
+++ b/docs/docs/overview/index.md
@@ -0,0 +1,23 @@
+# Overview
+
+![](images/hmi-sdk.svg){ align=right width=320 }
+
+RZ/G HMI Software Development Kit (HMI SDK) is a HMI application development
+environment for Evaluation Board Kit of RZ/G series.
+
+Since it contains [Yocto](https://www.yoctoproject.org/){: target="_blank" } Linux with bootloader,
+Linux Kernel, Cross Compiler, multimedia and graphics package, users can
+develop HMI Applications easily and quickly with HMI SDK.
+
+HMI SDK is specifically made for the supported Evaluation Board Kit with fixed
+Linux components. For those of you who would like to customize Linux
+environment, i.e., change memory map or develop your own board, you need to
+build the Yocto Linux source code.
+
+Please refer to How to Build HMI SDK.
+
+[How To Build HMI SDK](../how_to_build_hmi_sdk/index.md){ .md-button .md-button--primary .btn-grey .btn-indent }
+
+{! overview/_components/key_features.md !}
+
+{! overview/_components/specification.md !}
diff --git a/docs/docs/video/_components/__front_matter.md b/docs/docs/video/_components/__front_matter.md
new file mode 100644
index 0000000..89bdfda
--- /dev/null
+++ b/docs/docs/video/_components/__front_matter.md
@@ -0,0 +1,10 @@
+## Video
+
+
+
+- ![type:video](https://www.youtube-nocookie.com/embed/Y8plsCNA_0Y)
+
+- *More videos are coming soon ...* [RenesasPresents](https://www.youtube.com/@RenesasPresents){: target=_blank }.
+ {: .center style="padding-top:35%;" }
+
+
diff --git a/docs/mike/deploy.sh b/docs/mike/deploy.sh
new file mode 100755
index 0000000..a49f9f0
--- /dev/null
+++ b/docs/mike/deploy.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+# mike/deploy.sh
+# To deploy mike's webpage at yours local/gh-pages branch
+
+mike deploy -b local/gh-pages dev latest
+mike set-default -b local/gh-pages latest
diff --git a/docs/mike/remove.sh b/docs/mike/remove.sh
new file mode 100755
index 0000000..8101c4a
--- /dev/null
+++ b/docs/mike/remove.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+# mike/remove.sh
+# To remove mike's webpage (delete local/gh-pages branch)
+
+git branch -D local/gh-pages
diff --git a/docs/mike/serve.sh b/docs/mike/serve.sh
new file mode 100755
index 0000000..5e5052e
--- /dev/null
+++ b/docs/mike/serve.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+# mike/serve.sh
+# To serve mike's webpage at yours local ip with port=8000
+
+ip=$(hostname -I | awk '{print $1}')
+port=8000
+
+address=$ip:$port
+
+mike serve -b local/gh-pages -a $address
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
new file mode 100644
index 0000000..05a9d87
--- /dev/null
+++ b/docs/mkdocs.yml
@@ -0,0 +1,133 @@
+site_name: RZ/G HMI SDK
+site_description: The best solution for starting your HMI applications.
+site_url: https://renesas-rz.github.io/rzg_hmi_sdk
+site_author: Renesas Electronics Corporation
+
+repo_name: rzg_hmi_sdk
+repo_url: https://github.com/renesas-rz/rzg_hmi_sdk
+
+nav:
+ # - Guidelines: guidelines/index.md
+ # - RZ/G HMI SDK: index.md
+ - Overview: overview/index.md
+ - Getting Started: getting_started/index.md
+ - How To Build HMI SDK: how_to_build_hmi_sdk/index.md
+ - FAQ: faq/index.md
+
+theme:
+ name: material
+ custom_dir: docs/_themes
+ favicon: assets/icons/6723.T.png
+ features:
+ - announce.dismiss
+ - content.code.annotate
+ - content.code.copy
+ - content.code.select
+ - content.tabs.link
+ - navigation.instant
+ - navigation.instant.progress
+ - navigation.prune
+ - navigation.top
+ - navigation.tracking
+ - search.highlight
+ - search.suggest
+ - toc.integrate
+ - toc.follow
+ nav_top:
+ logos:
+ - assets/icons/board.svg
+ - assets/icons/ai_sdk.svg
+ btn:
+ name: Get the Board and Software
+ url: download/
+ palette:
+ primary: custom
+
+copyright: '©2024 Renesas Electronics Corporation.'
+
+extra:
+ announcements:
+ # the following line is displayed in the announcement bar
+ # keep length under 164 characters (less HTML tags) to fit on 1280px desktop window
+ - 'Announcement! RZ/G2L HMI SDK v1.00 is available.'
+ announcements_urls:
+ - available: '#whats-new'
+ header_link: true
+ social:
+ - icon: fontawesome/brands/github
+ link: https://github.com/renesas-rz
+ name: Renesas RZ Software on GitHub
+ - icon: fontawesome/solid/house
+ link: https://www.renesas.com/
+ name: Go to Renesas.com website
+ version:
+ provider: mike
+
+extra_css:
+ - assets/stylesheets/extra.css
+
+extra_javascript:
+ - https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js
+ - assets/javascripts/tablesort.js
+
+markdown_extensions:
+ - admonition
+ - attr_list
+ - footnotes
+ - markdown_grid_tables
+ - markdown_include.include:
+ base_path: docs
+ - md_in_html
+ - pymdownx.caret
+ - pymdownx.critic
+ - pymdownx.details
+ - pymdownx.emoji:
+ emoji_index: !!python/name:material.extensions.emoji.twemoji
+ emoji_generator: !!python/name:material.extensions.emoji.to_svg
+ - pymdownx.highlight:
+ anchor_linenums: true
+ line_spans: __span
+ pygments_lang_class: true
+ - pymdownx.inlinehilite
+ - pymdownx.keys
+ - pymdownx.mark
+ - pymdownx.snippets
+ - pymdownx.superfences
+ - pymdownx.tabbed:
+ alternate_style: true
+ - pymdownx.tilde
+ - tables
+ - toc:
+ permalink: true
+ toc_depth: 3
+
+plugins:
+ - exclude:
+ glob:
+ - _*
+ # - guidelines/_*/*
+ - guidelines/*
+ - overview/_*/*
+ - getting_started/_*/*
+ - how_to_build_hmi_sdk/_*/*
+ - hmi_applications/*
+ - faq/_*/*
+ - download/_*/*
+ - history/_*/*
+ - demo/*
+ - video/*
+ - glightbox
+ - mkdocs-video
+ - minify:
+ minify_html: true
+ minify_js: true
+ minify_css: true
+ htmlmin_opts:
+ remove_comments: true
+ cache_safe: true
+ js_files:
+ - assets/javascripts/tablesort.js
+ css_files:
+ - assets/stylesheets/extra.css
+ - search
+ - table-reader
diff --git a/docs/serve.sh b/docs/serve.sh
new file mode 100755
index 0000000..636f1e1
--- /dev/null
+++ b/docs/serve.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+# serve.sh
+# To serve webpage at yours local ip with port=8000
+
+ip=$(hostname -I | awk '{print $1}')
+port=8000
+
+address=$ip:$port
+
+mkdocs serve -a $address
diff --git a/docs/work/pip-packages.txt b/docs/work/pip-packages.txt
new file mode 100644
index 0000000..7fc6e52
--- /dev/null
+++ b/docs/work/pip-packages.txt
@@ -0,0 +1 @@
+mkdocs-material markdown-grid-tables mkdocs-table-reader-plugin markdown-include mkdocs-exclude mike mkdocs-glightbox mkdocs-video mkdocs-minify-plugin
diff --git a/docs/work/setup.sh b/docs/work/setup.sh
new file mode 100755
index 0000000..567a44d
--- /dev/null
+++ b/docs/work/setup.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+
+# work/setup.sh
+# To setup all python (pip) dependencies
+
+RED='\033[0;31m'
+NC='\033[0m' # No Color
+
+pip_packages=$(cat work/pip-packages.txt)
+
+_pip3=$(which pip3 | wc -l)
+
+# pip3 not found
+if [[ $_pip3 -ne 1 ]]; then
+ _pip=$(which pip | wc -l)
+
+ # pip exist
+ if [[ $_pip -eq 1 ]]; then
+ _pip3=$(pip --version | grep "python 3" | wc -l)
+
+ # pip3 exist as pip
+ if [[ $_pip3 -eq 1 ]]; then
+ pip install $pip_packages
+
+ # pip is not pip3
+ else
+ echo -e "${RED}Python3 and pip3 are required!${NC}"
+ fi
+
+ # pip not found
+ else
+ echo -e "${RED}Python3 and pip3 are required!${NC}"
+ fi
+
+# pip3 exist
+else
+ pip3 install $pip_packages
+fi