このページの内容は削除しました。
Nintendo Classic Mini Logical (Pin) Connection
This is made by my analysis,and there may be wrongs.
Waiting any comments.
MicroUSB id pattern is alive but no connection because no parts deployed.
My next challenge is to connect any parts to working HOST mode.
mainline u-boot + sunxi 3.4.112 で i2cが動かない件についてまとめながらメモ
u-bootで、ニンテンドークラシックミニがi2cやコントローラの電源としている3.3V系をaxp223が出力するようにmainline u-bootを設定してやったところ正常に動作しました。
以下は勘違いによる見解ですが、一応残しておきます。
・mainline u-boot (U-Boot 2016.11-00415-g3c980ba-dirty) with MMC
からboot.cmdでscript.binも読んでKernelを読み込んだ後,EP952とi2cできないので気づいた
ただし、内蔵u-boot改変(sunxi_flash を外してboota 0x43800000だけ残す)のを使って
write 0x43800000 boot.img, write 0x47000000 u-boot_2.bin をすると起動後i2cできる。
※内蔵u-bootを経由した場合
# i2cdetect 0 29 29
[ 115.095085] i2c i2c-0: ioctl, cmd=0x705, arg=0xbe9c8c2c
i2cdetect: WARNING! This program can confuse your I2C bus
Continue? [y/N] y
[ 116.188546] i2c i2c-0: ioctl, cmd=0x703, arg=0x29
[ 116.196477] i2c i2c-0: ioctl, cmd=0x720, arg=0xbe9c8c0c
[ 116.205036] i2c i2c-0: master_xfer[0] W, addr=0x29, len=0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20: 29
30:
40:
50:
60:
70:
# i2cdetect 1 52 52
[ 124.764370] i2c i2c-1: ioctl, cmd=0x705, arg=0xbe99bc2c
i2cdetect: WARNING! This program can confuse your I2C bus
Continue? [y/N] y
[ 125.712091] i2c i2c-1: ioctl, cmd=0x703, arg=0x52
[ 125.719827] i2c i2c-1: ioctl, cmd=0x720, arg=0xbe99bc0c
[ 125.728379] i2c i2c-1: master_xfer[0] W, addr=0x52, len=0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30:
40:
50: 52
60:
70:
内蔵u-bootを経由しないと、
[i2c0] START can't sendout!
になる
違い
script.binがちょっとだけ違うけど、i2cまわりは触ってない
u-bootが違う
なので、内蔵u-bootからFELに入って u-boot-sunxi-with-splを経由してからを読んだらどうなる?を試してみる。
SDカードのみでLinux(mainline)起動できた
I have succeeded to boot linux from microSD on standalone NES Classic Mini without usb-host PC. (but currently with uart...).
今まで結構な勘違いがあった模様。
頑張ってdbsとu-bootを書き換えてUART2に対応させたぜやっほい、と思っていたが
実はUART0のalternate pinになっていただけだったようだ。
その後、dtbではUART0になってるはずのkernelに対してconsole=ttyS2で起動して、メッセージでない、ハングしたなんで?ってなってた模様。
うっかりttyS0で起動させたらいきなりカーネル起動メッセージ出てひっくり返ったわ。
ただ、今のとこmainlineが起動はしたんだけど、オリジナルのKernelに入ってるドライバもないし、NANDも読めてないのでちょっとやりたいことからは遠い。
u-bootのautobootのコマンドにほうりこんで無いからノータッチで起動はしないんだけど、
buildrootでinitramfs付きのuimage作ってSDカードにu-bootとファイル書いて
fatload mmc 0 0x42000000 uimage
fatload mmc 0 0x43000000 sun8i-r16-parrot.dtb
bootm 0x42000000 - 0x43000000 で見事にLinux起動しました。
でも、これep952のドライバ無いから画面も出ないし(オリジナルのとこから持ってくる気力は無いよ…)
ここから巻戻ってw、script.binベースのlegacy を改めて起動できるか落ち着いてやってみるつもり。
とりあえず起動画面だけ。
起動後にもMMCは認識してそのまま使えてます。
やりたいことを改めてまとめよう
このページの内容は削除しました。
動かないのでまとめながら考える
このページの内容は削除しました。