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

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

日々

link permalink

ダブル職業

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

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

[編集者: すずき]
[更新: 2018年 11月 9日 14:38]
link 編集する

コメント一覧

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



link permalink

linux-next で ROCK64 のオーディオが動かない、その 1

  • 2018年 10月 14日 - I2S と クロックレジスタ
  • 2018年 11月 10日 - I2S の DMA 問題と、残りの 3つの問題
  • 2018年 11月 11日 - I2S2 を認識しない問題解決(DMA チャネル数の問題だった)
  • 2018年 11月 28日 - I2S1 が動かない問題解決(クロックゲート定義のバグを直した)
  • 2018年 11月 29日 - アナログオーディオが動かない問題解決(ACODEC ドライバがなかったから移植)
  • 2018年 12月 23日 - 44.1kHz の PCM を再生できない問題解決(GPLL クロック定義のバグを直した)
  • 2019年 1月 5日 - 32kHz → 44.1kHz の順で PCM を再生できない問題解決(fractional divider の実装を変えた)

ROCK64 の I2S とクロック

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

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 とは整数比になることはありません。ふーむ、困った。次は、マスタークロックの周波数を変える方向で調べてみましょうかねえ。

[編集者: すずき]
[更新: 2019年 2月 13日 00:24]
link 編集する

コメント一覧

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



link permalink

Welcome back ROCK64

やっと 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 カードからブートしているんですけどね。メモリアクセスが遅いのかなあ?

[編集者: すずき]
[更新: 2018年 10月 15日 23:20]
link 編集する

コメント一覧

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



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

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 6/9 15:04

カレンダー

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

最近のコメント 5件

  • link 19年05月17日
    すずき 「試してみたら、同じみたいです。\nわざわ...」
    (更新:05/25 10:35)
  • link 19年05月17日
    hdk 「実際に試したわけではないので素朴な疑問な...」
    (更新:05/23 21:07)
  • link 19年04月01日
    すずき 「どの CPU というかシステムでも同じ傾...」
    (更新:04/05 11:03)
  • link 19年04月01日
    hdk 「去年Ryzen 7 1700で測りました...」
    (更新:04/02 22:48)
  • link 19年03月05日
    すずき 「> オシロの波形見てて気がつかなか...」
    (更新:03/21 17:45)

最近の記事 3件

link もっとみる
  • link 19年06月03日
    すずき 「[抗生物質] 病院に行くと大抵の場合、何らかの抗生物質が処方されま...」
    (更新:06/09 15:04)
  • link 19年06月09日
    すずき 「[広域水道事業] Facebook で都道府県営水道は東京だけでは...」
    (更新:06/09 11:47)
  • link 19年06月08日
    すずき 「[東京のおいしい水] 普段、蛇口から出てくる水道水をグイグイ飲んで...」
    (更新:06/09 11:14)

こんてんつ

open/close wiki
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 過去日記について

その他の情報

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