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 のエラー処理を削ったら先に進みました。しかし良くハングするようにもなりました。イマイチだ……。

後日、直すことができました(2019年 5月 9日の日記参照)。

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

[編集者: すずき]
[更新: 2019年 10月 21日 14:35]
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 コード

最終更新: 11/11 11:44

カレンダー

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

最近のコメント 5件

  • link 19年09月01日
    すずき 「私も正直びっくりです。間違って違う製品を...」
    (更新:09/04 23:39)
  • link 19年09月01日
    hdk 「車向けの製品の中でも、車載コンピューター...」
    (更新:09/02 23:20)
  • link 19年07月18日
    hdk 「あっ、AAMはマニュアルのオペレーション...」
    (更新:07/25 00:02)
  • link 19年07月18日
    すずき 「AAM(ASCII Adjust AX ...」
    (更新:07/24 22:22)
  • link 19年07月18日
    hdk 「加算減算は符号のありなしどちらも命令が同...」
    (更新:07/24 07:25)

最近の記事 3件

link もっとみる
  • link 19年11月07日
    すずき 「[独自の apt サーバー - その 6 - ソースコードパッ] ...」
    (更新:11/11 11:44)
  • link 19年08月29日
    すずき 「[独自の apt サーバー - その 5 - 複数のセクション] ...」
    (更新:11/08 00:41)
  • link 19年08月13日
    すずき 「[独自の apt サーバー - その 4 - まとめ] 独自の a...」
    (更新:11/08 00:41)

こんてんつ

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