link もっと前
   2019年 3月 16日 -
      2019年 3月 7日  
link もっと後

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

日々

link permalink

RockPro64 と PCI Express

RockPro64 には PCI Express スロットが実装されています。せっかくあるので試そうと思い、玄人志向の SATA インタフェース増設カード(SATA3-PCIE-E2)と、USB 3.0 インタフェース増設カード(USB3.0R-P2H2-PCIE)を買いました。

結論から先に言うと RK3399 の PCI Express コントローラは有効にできましたが、RockPro64 の信号品質が良くないのか USB のカードしか認識しませんでした。残念です。

唯一認識される USB のカードも PCI Express のライザーカードで延長すると認識しなくなります。認識できるギリギリの信号なんですかね。

RockPro64 で PCI Express カードを認識できないときのログ
rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!

認識されないときはこんなエラーログが出ています。うーん。

有効にするだけでは動かない RK3399 の PCI Express コントローラ

RK3399 の PCIe コントローラもちょっと癖があって、ep-gpios プロパティを指定しないと probe 時にエラーで落ちます。このドライバは GPIO を使ってレギュレータを操作し、PCI Express への電源供給を制御したいようです。

通常、デバイスドライバで電源制御を実装したい場合 vpcie12v-supply のようなレギュレータを指定するプロパティを使いますが、なぜ GPIO を使っているのでしょうね……?

しかもうまくないことに RockPro64 の場合、既に PCI Express 用レギュレータのデバイスノードが定義されており、常に PCI Express の電源を ON にしています。そのため PCI Express のデバイスノードに GPIO を追加すると「もう使われているよ!」と怒られてしまいます。

どう直すのが正しいのかわかりませんが、とりあえず PCI Express のドライバを改造し、GPIO のエラー処理を削ったら先に進みました。しかし良くハングするようにもなりました。イマイチだ……。

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

[編集者: すずき]
[更新: 2019年 3月 22日 23:37]
link 編集する

コメント一覧

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



link permalink

Linux をデグレさせたらしい

昔、私が投稿したパッチが Linux 4.20 をデグレさせていました。Linux 4.20 以降では Rock64 の USB が動かなくなっています。全然気づきませんでした……。

Arch Linux の人たちが「動かねーぞ??」とハマった挙句(リンク)に、指摘してくれたようです。

反省を込めて、Rock64 がデグレした理由をまとめておきます。

当時、私が直したのはピンに出力する信号の割り当て設定です。

GPIO0 A2

  • 本来の出力: USB 電源供給 Enable/Disable 信号
  • 当時の出力: 何も割り当たっていない(が、なぜか動いていた…)

GPIO0 D3

  • 本来の出力: S/PDIF 信号
  • 当時の出力: USB 電源供給 Enable/Disable 信号

上記のように、本来 GPIO0 D3 には S/PDIF 信号が割り当てられるはずですが、なぜか全く関係のない USB 電源供給信号が割り当てられており、S/PDIF が全く動作しない状態になっていました。

私のパッチは USB 電源供給信号のピンアサインを GPIO0 A2 に直すパッチです。GPIO0 D3 ピンから S/PDIF が無事出力できるようになりました。

しかし実装の間違いはこれだけではありませんでした。GPIO0 A2 は信号の極性(Active High 指定でしたが、本来は Active Low が正しい)も間違っていたのです。

GPIO0 A2

  • 本来: USB 電源供給 Enable/Disable 信号
  • 実装: 何も割り当たっていない
  • パッチ後: USB 電源供給 Enable/Disable 信号(直った)
  • 本来の極性: Active Low
  • 実装の極性: Active High
  • パッチ後: Active High(変化なし)

私のパッチはピンアサインだけ直して、信号の極性を直さなかったため、USB の電源が常にダウンしてしまい、USB が全く動かなくなってしまったようです。

USB 電源周りをいじったのに、USB の動作確認をせずにパッチを投稿してしまったのは、片手落ちだったなあと反省しきりです。

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

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

コメント一覧

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



link permalink

誕生日

干支を 3周しました。もう完全におじさんの仲間入りです。

若い人に自慢と説教だけはしないように気を付けよう。

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

コメント一覧

  • hdk 
    誕生日おめでとー! 
    (2019年03月13日 01:14:40)
  • すずき 
    ありがとー!! 
    (2019年03月13日 09:46:59)
open/close この記事にコメントする



link もっと前
   2019年 3月 16日 -
      2019年 3月 7日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

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

最終更新: 5/23 21:07

カレンダー

<2019>
<<<03>>>
-----12
3456789
10111213141516
17181920212223
24252627282930
31------

最近のコメント 5件

  • 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)
  • link 19年03月05日
    kml 「> 自分が持っている RockPr...」
    (更新:03/20 21:30)

最近の記事 3件

link もっとみる
  • link 19年05月17日
    すずき 「[GCC を調べる - その 2 - デバッグ環境] GCC をデ...」
    (更新:05/22 01:47)
  • link 19年05月13日
    すずき 「[GCC を調べる - その 1 - ビルド] 最近 GCC のコ...」
    (更新:05/22 01:38)
  • link 19年05月09日
    すずき 「[RockPro64 の PCIe] RockPro64 の PC...」
    (更新:05/11 15:12)

こんてんつ

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 サイトの情報