Bit-Brick Documentation

website·Indexed 32 days ago

https://docs.bit-brick.com

Development guides and technical documentation for Bit-Brick SSOM modules, including SSOM-K1 and SSOM-3588S. Covers software peripheral drivers (GPIO, I2C, SPI, PCIe, GMAC, CAN), the Multimedia Processing Platform (MPP), GStreamer integration, ISP API development, and cross-compiling tools for the Spacemit platform.

Tokens
648.1K
Snippets
3K
Records
4.2K
Agent score
58%

What's inside Bit-Brick

  1. Overview of Bianbu Linux BSP and SDK

    Bianbu Linux is the Board Support Package (BSP) and Software Development Kit (SDK) for Spacemit Stone series chips. It is designed to provide processor Linux support and enable the development of drivers and applications. The package includes the supervisor program interface (OpenSBI), bootloader (U-Boot/UEFI), Linux kernel, root file system (with middleware and libraries), and various examples.
  2. Overview of GoPoint for i.MX Applications Processors

    GoPoint for i.MX Applications Processors is a user-friendly application used to launch preselected demonstrations included in the NXP-provided Linux Board Support Package (BSP). It is designed to showcase the features and capabilities of NXP SoCs for users of all skill levels.

    Minimum hardware requirements:

    • A supported NXP Evaluation Kit (EVK)
    • A display output (MIPI DSI or HDMI)
    • A connected mouse

    Note: Some demonstrations may require additional equipment. Users may need basic knowledge of Evaluation Kits, such as modifying Device Tree Blob (DTB) files.

  3. Overview of the CPUFREQ subsystem

    The CPUFREQ subsystem manages CPU frequency and voltage scaling at runtime to minimize power consumption while maintaining performance. It consists of four main components:

    1. cpufreq core: The framework core that abstracts scaling logic, provides a sysfs interface to user space, notifies other drivers of changes, and provides the driver framework.
    2. cpufreq governor: Implements policies for frequency and voltage scaling.
    3. cpufreq driver: Implements platform-specific scaling mechanisms (e.g., spacemit-cpufreq.c).
    4. cpufreq stats: Tracks frequency information and statistics for each CPU.
  4. Overview of SpacemiT K1 Peripheral Driver Documentation

    This documentation provides guidance for secondary development on the SpacemiT K1 CPU. It covers board-level configuration, CONFIG settings, testing procedures, debugging interfaces, and common troubleshooting for the CPU's peripherals. The drivers act as the bridge between the hardware and the Linux operating system, handling initialization, configuration, management, data transfer, and error handling.
  5. Overview of K1 Pro 40-pin GPIO extension interface

    The K1 Pro features a 40-pin GPIO extension interface using a 2.54mm double-row straight insertion socket. These pins are multi-functional multiplexed pins, meaning they can be used as general-purpose inputs/outputs (GPIO) or reconfigured via software/kernel to perform specific hardware functions.
  6. Overview of SpacemiT AI Demo Repository

    The SpacemiT AI Demo Repository is a collection of AI application examples adapted for SpacemiT K-series chips. It provides developers with model deployment tutorials and sample code in Python and C++ across several domains: Computer Vision (CV), Natural Language Processing (NLP), and speech processing. The repository is optimized for SpacemiT K1 chips.
    git clone https://gitee.com/bianbu/spacemit-demo.git
  7. Overview of Ollama for local LLM execution

    Ollama is a tool for running Large Language Models (LLMs) locally on personal computers and single-board computers like the Raspberry Pi. It simplifies the setup process and provides a REST API for model inference, allowing other applications and devices to call the model remotely.
  8. Overview of Bianbu NAS Software Stack

    Bianbu NAS is a system derived from the Bianbu operating system tailored for NAS products. It manages its components and subpackages via an APT repository using standard Debian format. The software stack includes:

    • Applications: Openmediavault, Docker, Wi-Fi AP, Soft Router, Fast USB Drive, and SMB.
    • Multimedia Frameworks: FFmpeg, GStreamer (both hardware accelerated), and PipeWire.
    • AI Inference: onnxruntime (hardware accelerated).
    • Runtimes: Python, Java, Node.js, Rust, and Go.
    • Libraries: OpenCV (RVV acceleration), OpenSSL (hardware acceleration), MPP (Spacemit multimedia processing platform C API), and OpenGLES/Vulkan/OpenCL.
  9. Overview of the RKLLM Software Stack

    The RKLLM software stack enables the deployment of large language models on Rockchip NPU platforms. The workflow is divided into two main phases:

    1. Model Conversion (PC side): Uses the RKLLM-Toolkit to convert pre-trained models (Hugging Face or GGUF format) into the .rkllm format and perform quantization.
    2. Board-side Deployment: Uses the RKLLM Runtime (C/C++ API) to load the .rkllm model onto the Rockchip NPU for inference.
  10. Overview of the Rockchip Clock Subsystem

    The Rockchip (RK) clock subsystem manages the clock tree framework that provides clock signals to various SOC components. It acts as an adaptation layer between the SOC-level clock hardware (oscillators, PLLs, dividers, MUXes, and AND gates) and the consumer drivers (e.g., USB, peripherals). The system is designed to handle clock enabling/disabling, frequency setting, and parent clock selection.
  11. Overview of I2C Driver Architecture for Spacemit K1

    The I2C driver for the Spacemit K1 platform follows the standard Linux I2C framework, divided into three layers: User space (applications), Kernel (drivers), and Hardware (controller and peripherals). The framework consists of the I2C core, I2C busses (controller drivers), I2C algos (communication methods), and I2C muxes. The specific controller driver for the K1 platform is located at drivers/i2c/busses/i2c-k1x.c.