Initial commit for the devboards community docs
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a9b7dc7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,156 @@
+
+# Created by https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks
+# Edit at https://www.toptal.com/developers/gitignore?templates=python,jupyternotebooks
+
+### JupyterNotebooks ###
+# gitignore template for Jupyter Notebooks
+# website: http://jupyter.org/
+
+.ipynb_checkpoints
+*/.ipynb_checkpoints/*
+
+# IPython
+profile_default/
+ipython_config.py
+
+# Remove previous ipynb_checkpoints
+# git rm -r .ipynb_checkpoints/
+
+### Python ###
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+.pybuilder/
+target/
+
+# Jupyter Notebook
+
+# IPython
+
+# pyenv
+# For a library or package, you might want to ignore these files since the code is
+# intended to run in multiple environments; otherwise, check them in:
+# .python-version
+
+# pipenv
+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+# However, in case of collaboration, if having platform-specific dependencies or dependencies
+# having no cross-platform support, pipenv may install dependencies that don't work, or not
+# install all needed dependencies.
+#Pipfile.lock
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
+# pytype static type analyzer
+.pytype/
+
+# Cython debug symbols
+cython_debug/
+
+# End of https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 0000000..e01c245
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,45 @@
+# .readthedocs.yaml
+
+# Read the Docs configuration file
+
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+
+version: 2
+
+# Set the version of Python and other tools you might need
+
+build:
+
+ os: ubuntu-22.04
+
+ tools:
+
+ python: "3.10"
+
+ apt_packages:
+
+ - plantuml
+
+# Other variants to build than HTML
+
+formats: all
+
+# Build documentation in the docs/ directory with Sphinx
+
+sphinx:
+
+ configuration: docs/conf.py
+
+ fail_on_warning: true
+
+# Declare the Python requirements required to build your docs
+
+python:
+
+ install:
+
+ - requirements: docs/requirements.txt
+
+ system_packages: false
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..9b49dcd
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,23 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS ?=
+SPHINXBUILD ?= sphinx-build
+SOURCEDIR = .
+BUILDDIR = build
+
+# Put it first so that "make" without argument is like "make help".
+help:
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+clean:
+ rm -rf $(BUILDDIR)
\ No newline at end of file
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 0000000..768c991
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,39 @@
+# Configuration file for the Sphinx documentation builder.
+
+# -- Project information
+
+project = 'Devboards for Android'
+copyright = '2023, Linaro Ltd'
+author = 'Sumit Semwal'
+
+release = '0.1'
+version = '0.1.0'
+
+# -- General configuration
+
+extensions = [
+ 'sphinx.ext.duration',
+ 'sphinx.ext.doctest',
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.autosummary',
+ 'sphinx.ext.intersphinx',
+]
+
+source_suffix = '.rst'
+
+master_doc = 'index'
+
+intersphinx_mapping = {
+ 'python': ('https://docs.python.org/3/', None),
+ 'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
+}
+intersphinx_disabled_domains = ['std']
+
+templates_path = ['_templates']
+
+# -- Options for HTML output
+
+html_theme = 'sphinx_rtd_theme'
+
+# -- Options for EPUB output
+epub_show_urls = 'footnote'
diff --git a/docs/contributing.rst b/docs/contributing.rst
new file mode 100644
index 0000000..a7ac852
--- /dev/null
+++ b/docs/contributing.rst
@@ -0,0 +1,15 @@
+..
+ # Copyright (c) 2023, Linaro Ltd.
+ #
+ # SPDX-License-identifier: MIT
+
+############
+Contributing
+############
+
+For familiarity and uniformity with the AOSP development process, Gerrit-based
+review and merge process is followed for dev-boards that have their source
+code hosted here.
+
+For communities around existing devices that already have a process for their
+contributions, reviewing and merging, we can continue to follow the same.
diff --git a/docs/devices/index.rst b/docs/devices/index.rst
new file mode 100644
index 0000000..555585e
--- /dev/null
+++ b/docs/devices/index.rst
@@ -0,0 +1,33 @@
+..
+ # Copyright (c) 2023, Linaro Ltd.
+ #
+ # SPDX-License-Identifier: MIT
+
+#################
+Devices Supported
+#################
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Hikey960
+
+Hikey960 until recently was a supported dev-board in AOSP. Since it is no
+longer marked as supported, this initiative will keep it working with AOSP
+and relevant kernels.
+
+<< Add links for >>
+- Documentation
+- Kernel source code
+- Device specific AOSP files
+- Local manifest
+- Vendor files
+
+.. toctree::
+ :maxdepth: 1
+ :caption: RB5 / RB3 (also known as DB845c)
+
+RB5 and RB3 are currently the only supported dev-boards listed on
+`source.android.com <https://source.android.com/docs/setup/create/devices>` _.
+The vendor-packages for these boards, required to build them for AOSP, are
+listed here <<insert link>>
+
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..ad9ae8d
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,15 @@
+..
+ # Copyright (c) 2023, Linaro Ltd
+ #
+ # SPDX-License-Identifier: MIT
+
+########
+Contents
+########
+
+.. toctree::
+ :maxdepth: 3
+
+ introduction
+ devices/index
+ contributing
diff --git a/docs/introduction.rst b/docs/introduction.rst
new file mode 100644
index 0000000..5c0d9f4
--- /dev/null
+++ b/docs/introduction.rst
@@ -0,0 +1,50 @@
+..
+ # Copyright (c) 2023, Linaro Ltd.
+ #
+ # SPDX-License-identifier: MIT
+
+############
+Introduction
+############
+
+There are many dev-boards available in the market, and a great number of
+interested folks that would like to have Android Open Source Project (AOSP)
+running on these devices, for various reasons.
+
+The **dev-boards for Android** community initiative is to enable a collaborative
+space for developers desirous of keeping AOSP running with relevant kernels.
+The dev-boards can then be used for new feature development for Android,
+testing and validating them with Android tests like CTS and VTS.
+They can also be instrumental in sharing and co-developing features like
+HALs across multiple devices.
+
+We would aim for the dev-boards to boot to UI with AOSP, be testable and usable
+as development platforms.
+
+It would be great to have device-owner(s) for each device that is enabled in
+this collaboration.
+
+In the future, we would like to enable as many dev-boards as possible with CI
+via LAVA, which can be then used to track board status and quality on a rolling
+basis.
+
+Goals
+*****
+- Be an umbrella project for collaboration on dev-boards for Android.
+- Help foster a healthy community around AOSP.
+- Provide a space for feature-sharing across devices.
+- Enable CI testing via LAVA, increasing level of confidence in these devices.
+
+Software Components
+*******************
+For each supported device, links are made available to the kernel source, local
+manifests, device specific files and binaries (like bootloader, firmware, HALs)
+and documentation.
+
+
+
+Maintainer(s)
+*************
+
+- Sumit Semwal <sumit.semwal@linaro.org>
+
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 0000000..2c0764f
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,35 @@
+@ECHO OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+ set SPHINXBUILD=sphinx-build
+)
+set SOURCEDIR=.
+set BUILDDIR=build
+
+if "%1" == "" goto help
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+ echo.
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+ echo.installed, then set the SPHINXBUILD environment variable to point
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
+ echo.may add the Sphinx directory to PATH.
+ echo.
+ echo.If you don't have Sphinx installed, grab it from
+ echo.http://sphinx-doc.org/
+ exit /b 1
+)
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+
+:end
+popd
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644
index 0000000..c978d34
--- /dev/null
+++ b/docs/requirements.txt
@@ -0,0 +1,4 @@
+sphinxcontrib-plantuml
+sphinxcontrib.programoutput
+sphinx-tabs
+sphinx_rtd_theme