0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BCM338X始めました。

Last updated at Posted at 2024-04-19

とりあえずカーネルをビルドして実行できるようにしたので、実装方針を考えて見ます。

  1. hintsベースで最小限を実装する
  2. bhndベースで実装してみる
  3. FDTで実装してみる

FreeBSD/mipsのBroadcomサポートは古めのチップのsibaと新目のチップのbcmaをサポートするbhndを作ったんだけど、中途半端で終っています。

Broadcomはsibaという仕組みからbcmaという仕様に変更したのだが、それらを透過に扱える事を目指したものがbhndだった。

現実的には1かな。。。

atheros/ar531xを雛形にしようと思う。

BCM3383(BMIPS4350)とBCM3380(BMIPS4350)で動かす事をめざし、BCM3300などの古いものは対象外。

既存コードを最大限利用する。

BCM3380やBCM3383はBCM6368に近いようだ。

GPLのソースを見てみると、BroadcomのmipsはBCM4(5),BCM6(3),BCM7の3本柱だったみたいだ。BCM33はBCM6系の亜流なので、情報が極めて少ない。

GPLで公開されているソースなどを参考にする。githubに上がってないものもあるので、ダウンロードしてローカルで展開して調べる。

BCM3380とBCM3383はUARTのアドレスが違い、BCM3380,3383はUARTは2個なのだがBCM3384は3個とちょこちょこいじられている。UARTはソフトさんの命綱なので、あまりいじるべきではない。

BCM3380-3383は1Core/2ThreadですがBCM3384(BMIP5000?)は2Core/4Threadかもしれません。

THOMSONのTCW770(BCM3380)はなんらかの理由でブートのuartとecosのuartが違っているような気がします。ブートは見えないのですが、ecosの出力のuartはここで0xb4e00200だと思います。

BCM3380_UART.jpg

謎なのがJ305とJ306が両方ともここにつながっています。

おそらくbootは0xb4e00220に出しているような気がします。

spi flashの前半64Kとビルドしたpsimageをつなげて焼くとブートします。

Technicolor TC7200.U(BCM3383)の情報

THOMSONのTCW770(BCM3380)と形状が同じなので、製造元がいっしょと思われます。このモデルはPCIeが一本と二本の基板があるようです。

BCM3383のLinux

おそらくGPLで公開されているソースを元にLinux本家のツリーにパッチを当てたのではないかと思われます。もともとある程度は本家に入っていて、追加したような感じです。

Broadcomが頭がおかしいと思うのはBCM3380とBCM3383でいろいろいじられていることです。ちょこちょこいじるとソフト屋さんが大変だし、バグも多くなる可能性があります。またBCM3383といったりBCM93383といったりBMIP4350といったりなんだかよくわかりません。またBCM3384の後にBCM33843という製品もあったようです。なんでそうなるかな。。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?