1 line
46 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="FunKey S - the world's smallest foldable handheld console Ultra-compact, foldable, powerful and comfortable, the FunKey S is the perfect handheld for playing retrogames anywhere, anytime."><meta name=author content="Michel Stempin"><link href=https://doc.funkey-project.com/developer_guide/hardware_reference/cpu/ rel=canonical><link href=../architecture/ rel=prev><link href=../power/power_supplies_topologies/ rel=next><link rel=icon href=../../../assets/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.21"><title>CPU - FunKey Project Documentation</title><link rel=stylesheet href=../../../assets/stylesheets/main.66ac8b77.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.06af60db.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/css/custom.css><link rel=stylesheet href=../../../assets/css/simple-lightbox.min.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=deep-purple data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#cpu-schematics class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class="md-header md-header--shadow" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title="FunKey Project Documentation" class="md-header__button md-logo" aria-label="FunKey Project Documentation" data-md-component=logo> <img src=../../../assets/images/logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> FunKey Project Documentation </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> CPU </span> </div> </div> </div> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/FunKey-Project/FunKey-Project.github.io title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> GitHub </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title="FunKey Project Documentation" class="md-nav__button md-logo" aria-label="FunKey Project Documentation" data-md-component=logo> <img src=../../../assets/images/logo.png alt=logo> </a> FunKey Project Documentation </label> <div class=md-nav__source> <a href=https://github.com/FunKey-Project/FunKey-Project.github.io title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> GitHub </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../.. class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> User's Manual </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> User's Manual </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_1> <label class=md-nav__link for=__nav_2_1 id=__nav_2_1_label tabindex=0> <span class=md-ellipsis> Tutorials </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_1_label aria-expanded=false> <label class=md-nav__title for=__nav_2_1> <span class="md-nav__icon md-icon"></span> Tutorials </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_1_1> <label class=md-nav__link for=__nav_2_1_1 id=__nav_2_1_1_label tabindex=0> <span class=md-ellipsis> Software </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_2_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_2_1_1> <span class="md-nav__icon md-icon"></span> Software </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../user_manual/tutorials/software/add_roms/ class=md-nav__link> <span class=md-ellipsis> Add New ROMs </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/software/add_opk/ class=md-nav__link> <span class=md-ellipsis> Add OPK Files </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/software/gba_bios/ class=md-nav__link> <span class=md-ellipsis> Install the GBA/PS1 BIOS </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/software/aspect_ratio/ class=md-nav__link> <span class=md-ellipsis> Change Aspect Ratio </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/software/snapshot/ class=md-nav__link> <span class=md-ellipsis> Take a Snapshot </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/software/firmware_update/ class=md-nav__link> <span class=md-ellipsis> Firmware Upgrade </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/software/gb_palette/ class=md-nav__link> <span class=md-ellipsis> Change Game Boy Palette </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/software/gmenu2x_wallpaper/ class=md-nav__link> <span class=md-ellipsis> Change GMenu2X Wallpaper </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_1_2> <label class=md-nav__link for=__nav_2_1_2 id=__nav_2_1_2_label tabindex=0> <span class=md-ellipsis> Hardware </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_2_1_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_1_2> <span class="md-nav__icon md-icon"></span> Hardware </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../user_manual/tutorials/hardware/teardown/ class=md-nav__link> <span class=md-ellipsis> Teardown </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/hardware/flash_change_sd_card/ class=md-nav__link> <span class=md-ellipsis> Flash & Change micro-SD Card </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/hardware/change_buttons/ class=md-nav__link> <span class=md-ellipsis> Change the Buttons </span> </a> </li> <li class=md-nav__item> <a href=../../../user_manual/tutorials/hardware/fix_unstuck_screen/ class=md-nav__link> <span class=md-ellipsis> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Developer's Guide </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Developer's Guide </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Hardware Reference </span> </a> <label class="md-nav__link " for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> Hardware Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture </span> </a> </li> <li class=md-nav__item> <a href=https://htmlpreview.github.io/?https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/BOM/ibom.html class=md-nav__link> <span class=md-ellipsis> BOM </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> CPU </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> CPU </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#cpu-schematics class=md-nav__link> <span class=md-ellipsis> CPU Schematics </span> </a> </li> <li class=md-nav__item> <a href=#soc-blocks class=md-nav__link> <span class=md-ellipsis> SoC Blocks </span> </a> </li> <li class=md-nav__item> <a href=#cpu-power-supplies class=md-nav__link> <span class=md-ellipsis> CPU Power Supplies </span> </a> </li> <li class=md-nav__item> <a href=#lradc0 class=md-nav__link> <span class=md-ellipsis> LRADC0 </span> </a> </li> <li class=md-nav__item> <a href=#sd-card class=md-nav__link> <span class=md-ellipsis> SD Card </span> </a> </li> <li class=md-nav__item> <a href=#crystals class=md-nav__link> <span class=md-ellipsis> Crystals </span> </a> </li> <li class=md-nav__item> <a href=#dram class=md-nav__link> <span class=md-ellipsis> DRAM </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_4> <label class=md-nav__link for=__nav_3_1_4 id=__nav_3_1_4_label tabindex=0> <span class=md-ellipsis> Power </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_4_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_4> <span class="md-nav__icon md-icon"></span> Power </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../power/power_supplies_topologies/ class=md-nav__link> <span class=md-ellipsis> Regulated DC Power Supply Topologies </span> </a> </li> <li class=md-nav__item> <a href=../power/multiple_voltages/ class=md-nav__link> <span class=md-ellipsis> Multiple Power Supply Voltages </span> </a> </li> <li class=md-nav__item> <a href=../power/pmic/ class=md-nav__link> <span class=md-ellipsis> PMIC </span> </a> </li> <li class=md-nav__item> <a href=../power/dram_power/ class=md-nav__link> <span class=md-ellipsis> DRAM Power </span> </a> </li> <li class=md-nav__item> <a href=../power/decoupling/ class=md-nav__link> <span class=md-ellipsis> Decoupling </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../screen/ class=md-nav__link> <span class=md-ellipsis> Screen </span> </a> </li> <li class=md-nav__item> <a href=../audio/ class=md-nav__link> <span class=md-ellipsis> Audio </span> </a> </li> <li class=md-nav__item> <a href=../buttons/ class=md-nav__link> <span class=md-ellipsis> Buttons </span> </a> </li> <li class=md-nav__item> <a href=../sd-card/ class=md-nav__link> <span class=md-ellipsis> SD Card </span> </a> </li> <li class=md-nav__item> <a href=../usb/ class=md-nav__link> <span class=md-ellipsis> USB </span> </a> </li> <li class=md-nav__item> <a href=../uart/ class=md-nav__link> <span class=md-ellipsis> UART </span> </a> </li> <li class=md-nav__item> <a href=../magnetic_switch/ class=md-nav__link> <span class=md-ellipsis> Magnetic Switch </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_2> <div class="md-nav__link md-nav__container"> <a href=../../software_reference/ class="md-nav__link "> <span class=md-ellipsis> Software Reference </span> </a> <label class="md-nav__link " for=__nav_3_2 id=__nav_3_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_2_label aria-expanded=false> <label class=md-nav__title for=__nav_3_2> <span class="md-nav__icon md-icon"></span> Software Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_2_1> <div class="md-nav__link md-nav__container"> <a href=../../software_reference/boot_process/ class="md-nav__link "> <span class=md-ellipsis> Boot Process </span> </a> <label class="md-nav__link " for=__nav_3_2_1 id=__nav_3_2_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_2_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_2_1> <span class="md-nav__icon md-icon"></span> Boot Process </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../software_reference/boot_process/boot_rom/ class=md-nav__link> <span class=md-ellipsis> Boot ROM </span> </a> </li> <li class=md-nav__item> <a href=../../software_reference/boot_process/spl/ class=md-nav__link> <span class=md-ellipsis> SPL </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_2_2> <div class="md-nav__link md-nav__container"> <a href=../../software_reference/sd_card_layout/ class="md-nav__link "> <span class=md-ellipsis> SD-Card Layout </span> </a> <label class="md-nav__link " for=__nav_3_2_2 id=__nav_3_2_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_3_2_2> <span class="md-nav__icon md-icon"></span> SD-Card Layout </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../software_reference/sd_card_layout/directory_structure/ class=md-nav__link> <span class=md-ellipsis> Directory Structure </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_3> <label class=md-nav__link for=__nav_3_3 id=__nav_3_3_label tabindex=0> <span class=md-ellipsis> Tutorials </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3_3> <span class="md-nav__icon md-icon"></span> Tutorials </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../tutorials/access_recovery/ class=md-nav__link> <span class=md-ellipsis> Access the Recovery Boot Mode </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_3_2> <div class="md-nav__link md-nav__container"> <a href=../../tutorials/build_system/ class="md-nav__link "> <span class=md-ellipsis> Build System </span> </a> <label class="md-nav__link " for=__nav_3_3_2 id=__nav_3_3_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_3_2_label aria-expanded=false> <label class=md-nav__title for=__nav_3_3_2> <span class="md-nav__icon md-icon"></span> Build System </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../tutorials/build_system/compilation_environments/ class=md-nav__link> <span class=md-ellipsis> Compilation Environments </span> </a> </li> <li class=md-nav__item> <a href=../../tutorials/build_system/get_sources/ class=md-nav__link> <span class=md-ellipsis> Get the Sources </span> </a> </li> <li class=md-nav__item> <a href=../../tutorials/build_system/compile_sdk/ class=md-nav__link> <span class=md-ellipsis> Compile SDK </span> </a> </li> <li class=md-nav__item> <a href=../../tutorials/build_system/compile_distribution/ class=md-nav__link> <span class=md-ellipsis> Compile Distribution </span> </a> </li> <li class=md-nav__item> <a href=../../tutorials/build_system/write_image/ class=md-nav__link> <span class=md-ellipsis> Write firmware to SD Card </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../tutorials/build_system/build_program_using_sdk/ class=md-nav__link> <span class=md-ellipsis> Build Programs using SDK </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://grabcad.com/library/funkey-s-1 class=md-nav__link> <span class=md-ellipsis> 3D files </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Miscellaneous </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Miscellaneous </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../miscellaneous/glossary/ class=md-nav__link> <span class=md-ellipsis> Glossary </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#cpu-schematics class=md-nav__link> <span class=md-ellipsis> CPU Schematics </span> </a> </li> <li class=md-nav__item> <a href=#soc-blocks class=md-nav__link> <span class=md-ellipsis> SoC Blocks </span> </a> </li> <li class=md-nav__item> <a href=#cpu-power-supplies class=md-nav__link> <span class=md-ellipsis> CPU Power Supplies </span> </a> </li> <li class=md-nav__item> <a href=#lradc0 class=md-nav__link> <span class=md-ellipsis> LRADC0 </span> </a> </li> <li class=md-nav__item> <a href=#sd-card class=md-nav__link> <span class=md-ellipsis> SD Card </span> </a> </li> <li class=md-nav__item> <a href=#crystals class=md-nav__link> <span class=md-ellipsis> Crystals </span> </a> </li> <li class=md-nav__item> <a href=#dram class=md-nav__link> <span class=md-ellipsis> DRAM </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1>CPU</h1> <p>The main part in the <strong>FunKey S</strong> device is of course its <abbr title="Central Processing Unit">CPU</abbr>.</p> <p>As discussed in the <a href=/developer_guide/hardware_reference/#design-constraints>Design Constraints section</a>, a <abbr title="Central Processing Unit">CPU</abbr> with external <abbr title="Dynamic Random-Access Memory">DRAM</abbr> chips would take too much real-estate on the <abbr title="Printed Circuit Board">PCB</abbr>, so we had to find a <abbr title="Central Processing Unit">CPU</abbr> with integrated <abbr title="Dynamic Random-Access Memory">DRAM</abbr>.</p> <p>There are <a href=https://www.electronicsweekly.com/news/products/memory/how-to-guide-for-on-chip-memory-2012-06/ >several options</a> for integrating <abbr title="Random-Access Memory">RAM</abbr> in a <abbr title="System on Chip">SoC</abbr>:</p> <ul> <li> <p>use <abbr title="Static Random-Access Memory">SRAM</abbr>: not possible because of the small amount of memory available (64Mbit max.)</p> </li> <li> <p>embedded <abbr title="Dynamic Random-Access Memory">DRAM</abbr> on the same chip: This is the solution used in the <a href=https://www.apple.com/mac/m1/ >Apple M1 chip</a>, but this chip is not available for retail and no other solutions seems readily available</p> </li> <li> <p>Stacked Chip-on-Chip (<abbr title="Package on Package">PoP</abbr>): This is the solution used on some Raspberry Pi boards, but this solution is only available for custom designs, with minimum order quantities not compatible with the <strong>FunKey S</strong> low volumes</p> </li> <li> <p><abbr title="Dynamic Random-Access Memory">DRAM</abbr> die in <abbr title="System in Package">SiP</abbr>: with capacities ranging from 64Mbit to 1Gbit</p> </li> </ul> <p>We found only 2 manufacturers providing the last option: <a href=https://www.microchip.com/design-centers/32-bit-mpus/sip-som/system-in-package>Microchip</a> and <a href=https://www.allwinnertech.com/ >Allwinner Technology</a>. Microchip solutions are too limited in term of <abbr title="Central Processing Unit">CPU</abbr> power for our needs (ARM926EJ-S or Cortex A5), so we did not consider them.</p> <p>And with the exception of the mostly similar Allwinner S3 <abbr title="Central Processing Unit">CPU</abbr> which features the same characteristics but with 128MB DDR3 <abbr title="Dynamic Random-Access Memory">DRAM</abbr> in an FBGA234 package, the <a href=https://linux-sunxi.org/images/2/23/Allwinner_V3s_Datasheet_V1.0.pdf>Allwinner V3s</a> is the <abbr title="Central Processing Unit">CPU</abbr> with integrated <abbr title="Dynamic Random-Access Memory">DRAM</abbr> having the highest memory capacity (512Mbit / 64MB DDR2 <abbr title="Dynamic Random-Access Memory">DRAM</abbr>):</p> <p><img alt="Allwinner V3s SoC" src=/assets/images/Allwinner_V3s.jpeg></p> <p>Despite its larger package size (16mm x 16mm vs. 11mm x 11mm), we selected the V3s over the S3 because of its better availability and ease of soldering of the LQFP128 over the FBGA234 package for the prototypes.</p> <p>The V3s features a rather powerful single-core ARM Cortex A7-A clocked @ 1.2GHz with an additional Vector Floating Point Version 4 (vfpv4) <abbr title="Floating Point Unit">FPU</abbr> extension and an <abbr title="Single Instruction Multiple Data">SIMD</abbr> NEON architecture with a 32 × 64-bit register file and 64-bit ALU, but unfortunately no <abbr title="Graphic Processing Unit">GPU</abbr> or 2D graphic engine containing a hardware scaler that could be extremely useful for the retro-gaming emulators.</p> <p>As a bonus, as the V3s is based on an ARM Cortex A7-A low-power architecture, it also features a low power consumption which is required by our battery operation.</p> <p>These characteristics do not look very impressive compared to a Raspberry Pi for example, but using many optimizations and after running many tests, we found them nevertheless satisfactory for our purpose.</p> <h2 id=cpu-schematics><abbr title="Central Processing Unit">CPU</abbr> Schematics<a class=headerlink href=#cpu-schematics title="Permanent link">&para;</a></h2> <p>Here is the part of the schematics corresponding to the <abbr title="Central Processing Unit">CPU</abbr> core:</p> <p><img alt="CPU Schematics" class=lightbox src=/assets/images/CPU_Schematics.png></p> <h2 id=soc-blocks><abbr title="System on Chip">SoC</abbr> Blocks<a class=headerlink href=#soc-blocks title="Permanent link">&para;</a></h2> <p>As can be seen, there is not much besides the <abbr title="Central Processing Unit">CPU</abbr> chip <strong>U3</strong> itself... The <abbr title="Central Processing Unit">CPU</abbr> is in fact a <abbr title="System on Chip">SoC</abbr> (System on Chip) containing a collection of built-in peripheral and memory blocks along with the <abbr title="Central Processing Unit">CPU</abbr> itself:</p> <ul> <li> <p>the <abbr title="Liquid-Crystal Display">LCD</abbr> / <abbr title="Display Serial Interface">DSi</abbr> display peripheral</p> </li> <li> <p>the <abbr title="General-Purpose Input/Output">GPIO</abbr> port G / SDC1 (<abbr title="Secure Digital">SD</abbr> Card <a class="magiclink magiclink-github magiclink-issue" href=https://github.com/FunKey-Project/FunKey-Project.github.io/issues/1 title="GitHub Issue: FunKey-Project/FunKey-Project.github.io #1">#1</a>) interface</p> </li> <li> <p>the AUDIO codec</p> </li> <li> <p>the LRADC0 (Low-Resolution Analog to Digital Converter)</p> </li> <li> <p>the <abbr title="Universal Serial Bus">USB</abbr> <abbr title=On-The-Go>OTG</abbr> controller</p> </li> <li> <p>the <abbr title="General-Purpose Input/Output">GPIO</abbr> port F / SDC0 (<abbr title="Secure Digital">SD</abbr> Card #0) / UART0 interface</p> </li> <li> <p>the <abbr title="Real-Time Clock">RTC</abbr> (Real Time Clock) timer</p> </li> <li> <p>the EPHY (Ethernet PHYsical) interface</p> </li> <li> <p>the <abbr title="Mobile Industry Processor Interface">MIPI</abbr> <abbr title="Camera Serial Interface">CSi</abbr> camera interface</p> </li> <li> <p>the built-in 64 MB DDR2 <abbr title="Dynamic Random-Access Memory">DRAM</abbr></p> </li> <li> <p>the <abbr title="General-Purpose Input/Output">GPIO</abbr> port C / <abbr title="Serial Peripheral Interface">SPI</abbr> interface</p> </li> <li> <p>the <abbr title="General-Purpose Input/Output">GPIO</abbr> port B / UART2 / PWM0 / PWM1 / TWI0 (<abbr title="Inter-Integrated Circuit Bus">I2C</abbr> #0) / TWI1 (<abbr title="Inter-Integrated Circuit Bus">I2C</abbr> <a class="magiclink magiclink-github magiclink-issue" href=https://github.com/FunKey-Project/FunKey-Project.github.io/issues/1 title="GitHub Issue: FunKey-Project/FunKey-Project.github.io #1">#1</a>)</p> </li> </ul> <p>Among these, the FunKey device only uses a few blocks:</p> <ul> <li> <p>AUDIO</p> </li> <li> <p><abbr title="Universal Serial Bus">USB</abbr> (as device only)</p> </li> <li> <p>SDC0 (for <abbr title="Secure Digital">SD</abbr> Card)</p> </li> <li> <p><abbr title="Real-Time Clock">RTC</abbr></p> </li> <li> <p><abbr title="Dynamic Random-Access Memory">DRAM</abbr></p> </li> <li> <p><abbr title="Serial Peripheral Interface">SPI</abbr> (for the <abbr title="Liquid-Crystal Display">LCD</abbr> screen)</p> </li> <li> <p>PWM0 (for backlight)</p> </li> <li> <p>TWI0 (for <abbr title="Inter-Integrated Circuit Bus">I2C</abbr> bus to control the <abbr title="General-Purpose Input/Output">GPIO</abbr> expander and power management chips)</p> </li> <li> <p>A couple of GPIOs to power the audio power amplifier and get feedback interrupt signals from the the <abbr title="General-Purpose Input/Output">GPIO</abbr> expander and power management chips</p> </li> </ul> <h2 id=cpu-power-supplies><abbr title="Central Processing Unit">CPU</abbr> Power Supplies<a class=headerlink href=#cpu-power-supplies title="Permanent link">&para;</a></h2> <p>What is remarkable though is that the V3s requires a lot of different voltages for its power supply:</p> <ul> <li>+3V3 for the <abbr title=Input/Output>I/O</abbr> power supply</li> <li>+3V3_AO for the Always-On power supply (<abbr title="Real-Time Clock">RTC</abbr> timer)</li> <li>+3V0 for analog power supply</li> <li>+1V8 for the DDR2 <abbr title="Dynamic Random-Access Memory">DRAM</abbr> power supply</li> <li>+1V25 for the core power supply</li> </ul> <p>This profusion of different power supplies as well as the high power drawn by some of them (1.2A for +3V3, 1.6A for +1.25V) requires a sophisticated power management that will be detailed further.</p> <h2 id=lradc0>LRADC0<a class=headerlink href=#lradc0 title="Permanent link">&para;</a></h2> <p>The LRADC0 (Low-Resolution Analog to Digital Converter #0) is designed to measure the voltage of a resistor ladder switched by keyboard keys: this single input is thus in theory able to manage a keyboard of up to 10 keys @ 250 Hz.</p> <p>Unfortunately, the FunKey has 12 keys (U/D/L/R, A/B/X/Y, RR/RL, Start and Fn), and the resulting key detection accuracy is not compatible with a gaming usage because of long term stability problems. This is the reason why it is not used in the FunKey and just terminated by a proper low-pass filter <strong>R6</strong>/<strong>C9</strong> to avoid picking up noise glitches.</p> <h2 id=sd-card><abbr title="Secure Digital">SD</abbr> Card<a class=headerlink href=#sd-card title="Permanent link">&para;</a></h2> <p>The <abbr title="Secure Digital">SD</abbr> Card interface is almost a direct connection between the chip and the dedicated <abbr title="Secure Digital">SD</abbr> Card connector. Only a single series resistor <strong>R8</strong> is required on the high-speed clock line in order to <a href=https://electronics.stackexchange.com/questions/7709/why-put-a-resistor-in-series-with-signal-line>prevent ringing</a>.</p> <h2 id=crystals>Crystals<a class=headerlink href=#crystals title="Permanent link">&para;</a></h2> <p>The V3s chips requires 2 crystals:</p> <ul> <li> <p>one low-frequency <a href=https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/Datasheets/C55208_FC-12M32.768K12.5PF20PPM_2017-01-16.PDF>32.768 kHz crystal</a> <strong>Y1</strong> for the <abbr title="Real-Time Clock">RTC</abbr> clock</p> </li> <li> <p>one high-frequency <a href=https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/Datasheets/C270485_24MHZ18PF%C2%B110PPM4PIN-20_%2B70%E2%84%83_2018-08-14.PDF>24 MHz crystal</a> <strong>Y2</strong> for deriving the 1.2 GHz clock</p> </li> </ul> <p>The 24 MHz crystal is used by an internal oscillator to lock the phase of the 1.2 GHz oscillator using a <abbr title="Phase-Locked Loop">PLL</abbr> (Phase-Locked Loop).</p> <p>The 32.768 kHz crystal is used by another internal oscillator to tick the <abbr title="Real-Time Clock">RTC</abbr> (Real-Time Clock) at a standard watch frequency.</p> <p>These crystals require 2 load capacitors each (<strong>C12</strong>/<strong>C13</strong> and <strong>C14</strong>/<strong>C15</strong> respectively) in order to guarantee that the oscillators still start and work with a comfortable operation margin taking into account voltage, temperature and aging.</p> <p>The 32.768 kHz crystal features an additional high-value resistor <strong>R12</strong> in order to limit the internal oscillator's output current and thus reduce further the <abbr title="Real-Time Clock">RTC</abbr> timer power consumption.</p> <p>For more details on crystal oscillator design, please check <a href=https://www.st.com/content/ccc/resource/technical/document/application_note/c6/eb/5e/11/e3/69/43/eb/CD00221665.pdf/files/CD00221665.pdf/jcr:content/translations/en.CD00221665.pdf>this application note from STM</a>.</p> <h2 id=dram><abbr title="Dynamic Random-Access Memory">DRAM</abbr><a class=headerlink href=#dram title="Permanent link">&para;</a></h2> <p>The <abbr title="Dynamic Random-Access Memory">DRAM</abbr> within the V3s chip is a <a href=https://en.wikipedia.org/wiki/DDR2_SDRAM>DDR2 one</a>, meaning that its data lines are clocked using both edges of an up to 400 MHz clock signal.</p> <p>At these high frequencies, even short wires have a length that is of the same order of magnitude as the signal's <a href=https://en.wikipedia.org/wiki/Wavelength>wavelength</a> and thus each signal should be considered as a <a href=https://en.wikipedia.org/wiki/Transmission_line>transmission line</a>, for which impedance must be matched to avoid signal reflections, requiring termination resistors on the data lines DQx.</p> <p>DDR2 or DDR3 DRAMs feature merged drivers and dynamic on-chip termination like this ("VDDQ/2" is labeled "SVREF" in our schematic):</p> <p><img alt="DRAM Merged Drivers" class=lightbox src=/assets/images/DRAM_Merged_Drivers.png></p> <p>The V3s DDR2 <abbr title="Dynamic Random-Access Memory">DRAM</abbr> has an active termination calibration circuitry and procedure called "<em>ZQ Calibration</em>" requiring an accurate 1% 240 Ω resistor <strong>R11</strong> connected internally like this:</p> <p><img alt="Pull-Up Calibration" class=lightbox src=/assets/images/Pull-Up_Calibration.png></p> <p>More information on the DDR2 <abbr title="Dynamic Random-Access Memory">DRAM</abbr> ZQ Calibration subject can be found in this <a href=https://www.micron.com/-/media/client/global/Documents/Products/Technical%20Note/DRAM/TN4102.pdf>Micron Application Note</a>.</p> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> &copy; 2020-2024 FunKey Project<br> Last updated on 2024-05-04 by DrUm78<br> <a href=http://creativecommons.org/licenses/by-sa/4.0/ rel=license> <img alt="Creative Commons License" style=border-width:0 src=https://i.creativecommons.org/l/by-sa/4.0/80x15.png> </a><br>This work is licensed under a <a href=http://creativecommons.org/licenses/by-sa/4.0/ rel=license>Creative Commons Attribution-ShareAlike 4.0 International License</a>. </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://www.facebook.com/FunKeyProjectOfficial target=_blank rel=noopener title=www.facebook.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 120 82.7 220.8 194.2 248.5V334.2h-52.8V256h52.8v-33.7c0-87.1 39.4-127.5 125-127.5 16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287v175.9C413.8 494.8 512 386.9 512 256z"/></svg> </a> <a href=https://twitter.com/FunKeyProject target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://www.instagram.com/funkey_project/ target=_blank rel=noopener title=www.instagram.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg> </a> <a href=https://www.youtube.com/channel/UCm6RThJXazA1VMhimqOtjww target=_blank rel=noopener title=www.youtube.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg> </a> <a href=https://www.pinterest.fr/davidlarbi/funkey-project/ target=_blank rel=noopener title=www.pinterest.fr class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z"/></svg> </a> <a href=https://github.com/FunKey-Project target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://hub.docker.com/r/funkeyproject/funkey-os/ target=_blank rel=noopener title=hub.docker.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 640 512"><!-- Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": [], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.a7c05c9e.min.js></script> <script src=../../../assets/js/jquery-3.5.1.min.js></script> <script src=../../../assets/js/simple-lightbox.jquery.min.js></script> <script src=../../../assets/js/custom.js></script> </body> </html>