コグノスケ


link 未来から過去へ表示  link 過去から未来へ表示(*)

link もっと前
2018年10月13日 >>> 2018年10月22日
link もっと後

2018年10月13日

Welcome back ROCK64

目次: ROCK64/ROCKPro64

やっとROCK64を置けそうな場所を確保できて、Linuxカーネルで遊べるようになりました。

先月linux-nextでRK3328のAudio(I2S)を動かそうとしていたことまでは覚えているものの、どうして動かないのか、どうやって追うつもりだったか、完全に忘れました。

引っ越し前にLKMLにぶん投げたパッチは、全てUpstreamに取り込まれたようですから、ここらで一つ、初心に帰って解析するのもありでしょう。

できればボードが訳わからん動きをした時のデバッグのため、オシロをボードの隣に置きたいんですが、自分のスペース(60cm幅の棚1つだけ)には置けそうにありません。困ったな〜。

Raspberry Pi 3 Model B+

ついでにRaspberry Pi 3もROCK64の隣に置いておきました。とはいえRasPi 3はカーネル起動時にシリアルを出す方法が分からんので、カーネル開発用としてはほとんど使っていません。

それと気のせいでなければ、RasPi 3はROCK64より一段遅い気がします。どちらも同じCortex A53 x 4で、SDカードからブートしているんですけどね。メモリアクセスが遅いのかなあ?

編集者:すずき(2023/05/15 04:07)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年10月14日

ROCK64のアナログオーディオ - その1 - I2Sとクロックレジスタ

目次: ROCK64/ROCKPro64

また忘れてしまいそうなので、メモがてら残しておきます。

ROCK64のデバイスツリーを見ると、I2Sデバイスの先頭i2s0には2つクロックが定義されています。ラベルはi2s_clkとi2s_hclkです。再生時にマスタークロックとして使われるのは前者の方で、クロックコントローラのID: SCLK_I2S0(= 41)のクロックでした。

RK3328のクロックドライバから、SCLK_I2S0のクロックを調べてみると、クロックゲートはCRU_CLKGATE_CON1アドレス0xff440204のビット3のようです。RK3328のTRM(Technical Reference Manual)を見るかぎり、ビット3のフィールド名はclk_i2s0_enとなっているので、たぶん合ってるでしょう。

クロックの設定はCRU_CLKSEL_CON6アドレス0xff440118のようです。レジスタの値をダンプしてみると、親クロックはCPLLで分周比1/16の設定になっていました。理由は知りません。

CPLLの発振周波数として /sys/kernel/debug/clk/cpll/clk_rateを信じるなら、CPLLは1.2GHzらしいです。従ってi2s0のマスタークロックは1.2GHz / 16 = 75MHzですね。

RK3328のI2Sドライバは、2 * 32 * fs(48kHzなど)と、マスタークロックが整数比にならない場合、エラーで弾く実装になっています。オーディオ用のコーデックICの仕様書とかで出てくる表現で書くと、MCLK = 64fsです。

しかし48kHzや44.1kHzは、75MHzとは整数比になることはありません。ふーむ、困った。次は、マスタークロックの周波数を変える方向で調べてみましょうかねえ。

編集者:すずき(2020/10/30 01:30)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年10月15日

ダブル職業

Facebookって、職業の「現在も働いています」チェックを外さないと、2社で働いていることになってしまうんですね。知らなんだ。

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2018/11/09 14:38)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2018年10月13日 >>> 2018年10月22日
link もっと後

管理用メニュー

link 記事を新規作成

<2018>
<<<10>>>
-123456
78910111213
14151617181920
21222324252627
28293031---

最近のコメント5件

  • link 21年3月13日
    すずきさん (03/05 15:13)
    「あー、このプログラムがまずいんですね。ご...」
  • link 21年3月13日
    emkさん (03/05 12:44)
    「キャストでvolatileを外してアクセ...」
  • link 24年1月24日
    すずきさん (02/19 18:37)
    「簡単にできる方法はPowerShellの...」
  • link 24年1月24日
    KKKさん (02/19 02:30)
    「追伸です。\nネットで調べたらマイクロソ...」
  • link 24年1月24日
    KKKさん (02/19 02:25)
    「私もエラーで困ってます\n手動での回復パ...」

最近の記事3件

  • link 24年3月25日
    すずき (03/26 03:20)
    「[Might and Magic Book One TASのその後] 目次: Might and Magicファミコン版以前(...」
  • link 21年10月4日
    すずき (03/26 03:14)
    「[Might and Magicファミコン版 - まとめリンク] 目次: Might and Magicファミコン版TASに挑...」
  • link 24年3月19日
    すずき (03/20 02:52)
    「[モジュラージャックの規格] 古くは電話線で、今だとEthernetで良く見かけるモジュラージャックというコネクタとレセプタク...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 03/26 03:20