Giter VIP home page Giter VIP logo

echoheim / allwinner-h616 Goto Github PK

View Code? Open in Web Editor NEW
68.0 6.0 24.0 4.43 GB

🔥 Linux SDK for Allwinner H616, based on armbian-build

License: GNU General Public License v2.0

Shell 0.40% Makefile 0.33% Roff 0.40% C 96.44% Assembly 0.29% Perl 0.16% Awk 0.01% Python 0.41% C++ 1.48% Yacc 0.02% Lex 0.01% UnrealScript 0.01% SmPL 0.02% Gherkin 0.01% XS 0.01% Raku 0.01% Clojure 0.01% M4 0.01% XC 0.01% Ruby 0.01%
linux allwinner h616

allwinner-h616's Introduction

  Hi, I'm MacLodge👋

  🍀 An embedded developer from China.
  🎐 Loves new technology.
  

allwinner-h616's People

Contributors

dumtux avatar echoheim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

allwinner-h616's Issues

no wifi

i have MQ-Quad / MCore-H616 board
I build according to the post, but my mangopi does not receive wifi, I leave it as default, what do I need to configure to receive wifi

There is a problem compiling rootfs

setecl "Rootfs and all deb packages"

[ o.k. ] Using config file [ /home/evler/allwinner/mangopi/quad/Allwinner-H616-master/userpatches/config-build.conf ]
[ o.k. ] Preparing [ host ]
[ o.k. ] Build host OS release [ bionic ]
[ .... ] Installing build dependencies
[ o.k. ] Syncing clock [ cn.pool.ntp.org ]
[ o.k. ] Checking for external GCC compilers
[ o.k. ] Cleaning /home/evler/allwinner/mangopi/quad/Allwinner-H616-master/output/debs for [ h616 current ]
[ o.k. ] Creating board support package for CLI [ bsp-cli-h616 ]
[ o.k. ] Starting rootfs and image building process for [ current h616 bullseye ]
[ o.k. ] local not found [ Creating new rootfs cache for bullseye ]
[ o.k. ] Installing base system [ Stage 1/2 ]
I: Retrieving InRelease
I: Retrieving Release
E: Failed getting release file http://localhost:3142/mirrors.tuna.tsinghua.edu.cn/debian/dists/bullseye/Release
[ error ] ERROR in function create_rootfs_cache
[ error ] Debootstrap base system for current h616 bullseye first stage failed
[ o.k. ] Process terminated
/home/evler/allwinner/mangopi/quad/Allwinner-H616-master/scripts/image-helpers.sh: line 52: get_extension_hook_stracktrace: command not found
[ error ] unmount_on_exit() called!
[ o.k. ] Unmounting [ /home/evler/allwinner/mangopi/quad/Allwinner-H616-master/.tmp/rootfs-1050af1f-e64e-44f7-84bf-25653e048a8d/ ]
[ error ] ERROR in function unmount_on_exit
[ error ] debootstrap-ng was interrupted
[ o.k. ] Process terminated

Seems to be using a local http server?

Failed getting release file http://localhost:3142/mirrors.tuna.tsinghua.edu.cn/debian/dists/bullseye/Release

Activate GPIO port

I work at MangoPI with H616 processor. I installed there debian (11.6 version).

orangepi@orangepizero2:/etc$ sudo i2cdetect -l
i2c-1   i2c             DesignWare HDMI                         I2C adapter
i2c-0   i2c             mv64xxx_i2c adapter                     I2C adapter

orangepi@orangepizero2:/etc$ sudo i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
orangepi@orangepizero2:/etc$ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: 30 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

something is active there and listening at I2C network

I add modprobe file that is running with mv64xxxx chip, swith clock frequency to fast mode 400khz

orangepi@orangepizero2:/etc/modprobe.d$ cat mv64xxx.conf
options mv64xxx compatible="marvell,mv64xxx-i2c" clock-frequency=400000

some gpio test

orangepi@orangepizero2:/etc/modprobe.d$ sudo gpioinfo
gpiochip0 - 288 lines:
        line   0:      unnamed       unused   input  active-high
        line   1:      unnamed       unused   input  active-high
        line   2:      unnamed       unused   input  active-high
        line   3:      unnamed       unused   input  active-high
        line   4:      unnamed       unused   input  active-high
        line   5:      unnamed       unused   input  active-high
        line   6:      unnamed       unused   input  active-high
        line   7:      unnamed       unused   input  active-high
        line   8:      unnamed       unused   input  active-high
        line   9:      unnamed       unused   input  active-high
        line  10:      unnamed       unused   input  active-high
        line  11:      unnamed       unused   input  active-high
        line  12:      unnamed       unused   input  active-high
        line  13:      unnamed       unused   input  active-high
        line  14:      unnamed       unused   input  active-high
        line  15:      unnamed       unused   input  active-high
        line  16:      unnamed       unused   input  active-high
        line  17:      unnamed       unused   input  active-high
        line  18:      unnamed       unused   input  active-high
        line  19:      unnamed       unused   input  active-high
        line  20:      unnamed       unused   input  active-high
        line  21:      unnamed       unused   input  active-high
        line  22:      unnamed       unused   input  active-high
        line  23:      unnamed       unused   input  active-high
        line  24:      unnamed       unused   input  active-high
        line  25:      unnamed       unused   input  active-high
        line  26:      unnamed       unused   input  active-high
        line  27:      unnamed       unused   input  active-high
        line  28:      unnamed       unused   input  active-high
        line  29:      unnamed       unused   input  active-high
        line  30:      unnamed       unused   input  active-high
        line  31:      unnamed       unused   input  active-high
        line  32:      unnamed       unused   input  active-high
        line  33:      unnamed       unused   input  active-high
        line  34:      unnamed       unused   input  active-high
        line  35:      unnamed       unused   input  active-high
        line  36:      unnamed       unused   input  active-high
        line  37:      unnamed       unused   input  active-high
        line  38:      unnamed       unused   input  active-high
        line  39:      unnamed       unused   input  active-high
        line  40:      unnamed       unused   input  active-high
        line  41:      unnamed       unused   input  active-high
        line  42:      unnamed       unused   input  active-high
        line  43:      unnamed       unused   input  active-high
        line  44:      unnamed       unused   input  active-high
        line  45:      unnamed       unused   input  active-high
        line  46:      unnamed       unused   input  active-high
        line  47:      unnamed       unused   input  active-high
        line  48:      unnamed       unused   input  active-high
        line  49:      unnamed       unused   input  active-high
        line  50:      unnamed       unused   input  active-high
        line  51:      unnamed       unused   input  active-high
        line  52:      unnamed       unused   input  active-high
        line  53:      unnamed       unused   input  active-high
        line  54:      unnamed       unused   input  active-high
        line  55:      unnamed       unused   input  active-high
        line  56:      unnamed       unused   input  active-high
        line  57:      unnamed       unused   input  active-high
        line  58:      unnamed       unused   input  active-high
        line  59:      unnamed       unused   input  active-high
        line  60:      unnamed       unused   input  active-high
        line  61:      unnamed       unused   input  active-high
        line  62:      unnamed       unused   input  active-high
        line  63:      unnamed       unused   input  active-high
        line  64:      unnamed       unused   input  active-high
        line  65:      unnamed       unused   input  active-high
        line  66:      unnamed       unused   input  active-high
        line  67:      unnamed       unused   input  active-high
        line  68:      unnamed       unused   input  active-high
        line  69:      unnamed       unused   input  active-high
        line  70:      unnamed       unused   input  active-high
        line  71:      unnamed       unused   input  active-high
        line  72:      unnamed       unused   input  active-high
        line  73:      unnamed       unused   input  active-high
        line  74:      unnamed       unused   input  active-high
        line  75:      unnamed       unused   input  active-high
        line  76:      unnamed  "red:power"  output  active-high [used]
        line  77:      unnamed "green:status" output active-high [used]
        line  78:      unnamed       unused   input  active-high
        line  79:      unnamed       unused   input  active-high
        line  80:      unnamed  "usb1-vbus"  output  active-high [used]
        line  81:      unnamed       unused   input  active-high
        line  82:      unnamed       unused   input  active-high
        line  83:      unnamed       unused   input  active-high
        line  84:      unnamed       unused   input  active-high
        line  85:      unnamed       unused   input  active-high
        line  86:      unnamed       unused   input  active-high
        line  87:      unnamed       unused   input  active-high
        line  88:      unnamed       unused   input  active-high
        line  89:      unnamed       unused   input  active-high
        line  90:      unnamed       unused   input  active-high
        line  91:      unnamed       unused   input  active-high
        line  92:      unnamed       unused   input  active-high
        line  93:      unnamed       unused   input  active-high
        line  94:      unnamed       unused   input  active-high
        line  95:      unnamed       unused   input  active-high
        line  96:      unnamed       unused   input  active-high
        line  97:      unnamed       unused   input  active-high
        line  98:      unnamed       unused   input  active-high
        line  99:      unnamed       unused   input  active-high
        line 100:      unnamed       unused   input  active-high
        line 101:      unnamed       unused   input  active-high
        line 102:      unnamed       unused   input  active-high
        line 103:      unnamed       unused   input  active-high
        line 104:      unnamed       unused   input  active-high
        line 105:      unnamed       unused   input  active-high
        line 106:      unnamed       unused   input  active-high
        line 107:      unnamed       unused   input  active-high
        line 108:      unnamed       unused   input  active-high
        line 109:      unnamed       unused   input  active-high
        line 110:      unnamed       unused   input  active-high
        line 111:      unnamed       unused   input  active-high
        line 112:      unnamed       unused   input  active-high
        line 113:      unnamed       unused   input  active-high
        line 114:      unnamed       unused   input  active-high
        line 115:      unnamed       unused   input  active-high
        line 116:      unnamed       unused   input  active-high
        line 117:      unnamed       unused   input  active-high
        line 118:      unnamed       unused   input  active-high
        line 119:      unnamed       unused   input  active-high
        line 120:      unnamed       unused   input  active-high
        line 121:      unnamed       unused   input  active-high
        line 122:      unnamed       unused   input  active-high
        line 123:      unnamed       unused   input  active-high
        line 124:      unnamed       unused   input  active-high
        line 125:      unnamed       unused   input  active-high
        line 126:      unnamed       unused   input  active-high
        line 127:      unnamed       unused   input  active-high
        line 128:      unnamed       unused   input  active-high
        line 129:      unnamed       unused   input  active-high
        line 130:      unnamed       unused   input  active-high
        line 131:      unnamed       unused   input  active-high
        line 132:      unnamed       unused   input  active-high
        line 133:      unnamed       unused   input  active-high
        line 134:      unnamed       unused   input  active-high
        line 135:      unnamed       unused   input  active-high
        line 136:      unnamed       unused   input  active-high
        line 137:      unnamed       unused   input  active-high
        line 138:      unnamed       unused   input  active-high
        line 139:      unnamed       unused   input  active-high
        line 140:      unnamed       unused   input  active-high
        line 141:      unnamed       unused   input  active-high
        line 142:      unnamed       unused   input  active-high
        line 143:      unnamed       unused   input  active-high
        line 144:      unnamed       unused   input  active-high
        line 145:      unnamed       unused   input  active-high
        line 146:      unnamed       unused   input  active-high
        line 147:      unnamed       unused   input  active-high
        line 148:      unnamed       unused   input  active-high
        line 149:      unnamed       unused   input  active-high
        line 150:      unnamed       unused   input  active-high
        line 151:      unnamed       unused   input  active-high
        line 152:      unnamed       unused   input  active-high
        line 153:      unnamed       unused   input  active-high
        line 154:      unnamed       unused   input  active-high
        line 155:      unnamed       unused   input  active-high
        line 156:      unnamed       unused   input  active-high
        line 157:      unnamed       unused   input  active-high
        line 158:      unnamed       unused   input  active-high
        line 159:      unnamed       unused   input  active-high
        line 160:      unnamed       kernel   input  active-high [used]
        line 161:      unnamed       kernel   input  active-high [used]
        line 162:      unnamed       kernel   input  active-high [used]
        line 163:      unnamed       kernel   input  active-high [used]
        line 164:      unnamed       kernel   input  active-high [used]
        line 165:      unnamed       kernel   input  active-high [used]
        line 166:      unnamed         "cd"   input   active-low [used]
        line 167:      unnamed       unused   input  active-high
        line 168:      unnamed       unused   input  active-high
        line 169:      unnamed       unused   input  active-high
        line 170:      unnamed       unused   input  active-high
        line 171:      unnamed       unused   input  active-high
        line 172:      unnamed       unused   input  active-high
        line 173:      unnamed       unused   input  active-high
        line 174:      unnamed       unused   input  active-high
        line 175:      unnamed       unused   input  active-high
        line 176:      unnamed       unused   input  active-high
        line 177:      unnamed       unused   input  active-high
        line 178:      unnamed       unused   input  active-high
        line 179:      unnamed       unused   input  active-high
        line 180:      unnamed       unused   input  active-high
        line 181:      unnamed       unused   input  active-high
        line 182:      unnamed       unused   input  active-high
        line 183:      unnamed       unused   input  active-high
        line 184:      unnamed       unused   input  active-high
        line 185:      unnamed       unused   input  active-high
        line 186:      unnamed       unused   input  active-high
        line 187:      unnamed       unused   input  active-high
        line 188:      unnamed       unused   input  active-high
        line 189:      unnamed       unused   input  active-high
        line 190:      unnamed       unused   input  active-high
        line 191:      unnamed       unused   input  active-high
        line 192:      unnamed       kernel   input  active-high [used]
        line 193:      unnamed       kernel   input  active-high [used]
        line 194:      unnamed       kernel   input  active-high [used]
        line 195:      unnamed       kernel   input  active-high [used]
        line 196:      unnamed       kernel   input  active-high [used]
        line 197:      unnamed       kernel   input  active-high [used]
        line 198:      unnamed       unused   input  active-high
        line 199:      unnamed       unused   input  active-high
        line 200:      unnamed       unused   input  active-high
        line 201:      unnamed       unused   input  active-high
        line 202:      unnamed       unused   input  active-high
        line 203:      unnamed       unused   input  active-high
        line 204:      unnamed       unused   input  active-high
        line 205:      unnamed       unused   input  active-high
        line 206:      unnamed       unused   input  active-high
        line 207:      unnamed       unused   input  active-high
        line 208:      unnamed       unused   input  active-high
        line 209:      unnamed       unused   input  active-high
        line 210:      unnamed      "reset"  output   active-low [used]
        line 211:      unnamed       unused   input  active-high
        line 212:      unnamed       unused   input  active-high
        line 213:      unnamed       unused   input  active-high
        line 214:      unnamed       unused   input  active-high
        line 215:      unnamed       unused   input  active-high
        line 216:      unnamed       unused   input  active-high
        line 217:      unnamed       unused   input  active-high
        line 218:      unnamed       unused   input  active-high
        line 219:      unnamed       unused   input  active-high
        line 220:      unnamed       unused   input  active-high
        line 221:      unnamed       unused   input  active-high
        line 222:      unnamed       unused   input  active-high
        line 223:      unnamed       unused   input  active-high
        line 224:      unnamed       kernel   input  active-high [used]
        line 225:      unnamed       kernel   input  active-high [used]
        line 226:      unnamed       unused   input  active-high
        line 227:      unnamed       unused   input  active-high
        line 228:      unnamed       unused   input  active-high
        line 229:      unnamed       unused   input  active-high
        line 230:      unnamed       unused   input  active-high
        line 231:      unnamed       unused   input  active-high
        line 232:      unnamed       unused   input  active-high
        line 233:      unnamed       unused   input  active-high
        line 234:      unnamed       kernel   input  active-high [used]
        line 235:      unnamed       unused   input  active-high
        line 236:      unnamed       unused   input  active-high
        line 237:      unnamed       unused   input  active-high
        line 238:      unnamed       unused   input  active-high
        line 239:      unnamed       unused   input  active-high
        line 240:      unnamed       unused   input  active-high
        line 241:      unnamed       unused   input  active-high
        line 242:      unnamed       unused   input  active-high
        line 243:      unnamed       unused   input  active-high
        line 244:      unnamed       unused   input  active-high
        line 245:      unnamed       unused   input  active-high
        line 246:      unnamed       unused   input  active-high
        line 247:      unnamed       unused   input  active-high
        line 248:      unnamed       unused   input  active-high
        line 249:      unnamed       unused   input  active-high
        line 250:      unnamed       unused   input  active-high
        line 251:      unnamed       unused   input  active-high
        line 252:      unnamed       unused   input  active-high
        line 253:      unnamed       unused   input  active-high
        line 254:      unnamed       unused   input  active-high
        line 255:      unnamed       unused   input  active-high
        line 256:      unnamed       unused   input  active-high
        line 257:      unnamed       unused   input  active-high
        line 258:      unnamed       unused   input  active-high
        line 259:      unnamed       unused   input  active-high
        line 260:      unnamed       unused   input  active-high
        line 261:      unnamed       unused   input  active-high
        line 262:      unnamed       unused   input  active-high
        line 263:      unnamed       unused   input  active-high
        line 264:      unnamed       unused   input  active-high
        line 265:      unnamed       unused   input  active-high
        line 266:      unnamed       unused   input  active-high
        line 267:      unnamed       unused   input  active-high
        line 268:      unnamed       unused   input  active-high
        line 269:      unnamed       unused   input  active-high
        line 270:      unnamed       unused   input  active-high
        line 271:      unnamed       unused   input  active-high
        line 272:      unnamed       unused   input  active-high
        line 273:      unnamed       unused   input  active-high
        line 274:      unnamed       unused   input  active-high
        line 275:      unnamed       unused   input  active-high
        line 276:      unnamed       unused   input  active-high
        line 277:      unnamed       unused   input  active-high
        line 278:      unnamed       unused   input  active-high
        line 279:      unnamed       unused   input  active-high
        line 280:      unnamed       unused   input  active-high
        line 281:      unnamed       unused   input  active-high
        line 282:      unnamed       unused   input  active-high
        line 283:      unnamed       unused   input  active-high
        line 284:      unnamed       unused   input  active-high
        line 285:      unnamed       unused   input  active-high
        line 286:      unnamed       unused   input  active-high
        line 287:      unnamed       unused   input  active-high
gpiochip1 - 32 lines:
        line   0:      unnamed       unused   input  active-high
        line   1:      unnamed       unused   input  active-high
        line   2:      unnamed       unused   input  active-high
        line   3:      unnamed       unused   input  active-high
        line   4:      unnamed       unused   input  active-high
        line   5:      unnamed       unused   input  active-high
        line   6:      unnamed       unused   input  active-high
        line   7:      unnamed       unused   input  active-high
        line   8:      unnamed       unused   input  active-high
        line   9:      unnamed       unused   input  active-high
        line  10:      unnamed       unused   input  active-high
        line  11:      unnamed       unused   input  active-high
        line  12:      unnamed       unused   input  active-high
        line  13:      unnamed       unused   input  active-high
        line  14:      unnamed       unused   input  active-high
        line  15:      unnamed       unused   input  active-high
        line  16:      unnamed       unused   input  active-high
        line  17:      unnamed       unused   input  active-high
        line  18:      unnamed       unused   input  active-high
        line  19:      unnamed       unused   input  active-high
        line  20:      unnamed       unused   input  active-high
        line  21:      unnamed       unused   input  active-high
        line  22:      unnamed       unused   input  active-high
        line  23:      unnamed       unused   input  active-high
        line  24:      unnamed       unused   input  active-high
        line  25:      unnamed       unused   input  active-high
        line  26:      unnamed       unused   input  active-high
        line  27:      unnamed       unused   input  active-high
        line  28:      unnamed       unused   input  active-high
        line  29:      unnamed       unused   input  active-high
        line  30:      unnamed       unused   input  active-high
        line  31:      unnamed       unused   input  active-high

I would like to activate I2C pins at GPIO port and test it. I have tested I2C IC's at RPI Zero and now I would like to run it also at MangoPi.

Could you give me some advice?

AW869A(AIC8800)驱动

AW869A(AIC8800)的驱动这块可以添加吗,然后就是想问问关于AXP313A的电源部分在5.1内核中是否也要手动添加一下?

There is no i2c3 in the system

There is no i2c-3 in the system.

root@debian:/boot# i2cdetect -l
i2c-1   i2c             DesignWare HDMI                         I2C adapter
i2c-0   i2c             mv64xxx_i2c adapter                     I2C adapter

refer to orangepi-xunlong/orangepi-build#61

I tried to add overlays=i2c3 to /boot/orangepiEnv.txt but it didn't work, and then I added overlays=i2c3 to /boot/BoardEnv.txt but it didn't work. There are only i2c0 and i2c1 in the system, but no i2c3.

How to solve this problem?

能不能脱离root权限编译

编译需要用到root权限才能进行,导致一些问题,比如有的文件没法删除,中间一些操作不安全,容易对系统造成破坏性影响

Default username and password

Thanks for the great work.
What is the default username and password?
And how can I modify default username and password before building?

sunxi-gmac 5030000.ethernet eth0: No PHY found!

root@BTT-CB1:/# ifconfig eth0 up
SIOCSIFFLAGS: Invalid argument
root@BTT-CB1:/# dmesg -c
[ 3380.611988] mii_bus 5030000.ethernet-0 register success!
[ 3380.899302] sunxi-gmac 5030000.ethernet eth0: No PHY found!
[ 3380.902573] sunxi-gmac 5030000.ethernet eth0: phy init again...
[ 3380.903123] mii_bus 5030000.ethernet-0 register success!
[ 3381.193546] sunxi-gmac 5030000.ethernet eth0: No PHY found!
[ 3381.197490] sunxi-gmac 5030000.ethernet eth0: phy init failed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.