原创 USB Type-C 設計

最近USB Type-C用在了越來越多的產品上,而且也有客戶開始導入Type-C的設計了,所有研究了一下USBType-C的設計和規範, 下面談的不保證對,僅是我的一些理解,用於指導我的工作。   一些名詞: DFP:    Downs

原创 USB數據包的格式是小端的(little-endian)

ARM是小端的,所以字節順序無需調整。不過,爲了程序的可移植性,可以用cpu_to_le16將數據 轉化爲小端的如果在大端的平臺上(如PowerPC)

原创 Open-Drain與Push-Pull

【Open-Drain與Push-Pull】 GPIO的功能,簡單說就是可以根據自己的需要去配置爲輸入或輸出。(General Purpose Input Output,簡稱爲GPIO或總線擴展器,利用工

原创 __raw_writel, writel_relaxed 和 writel的區別

因爲對別的平臺不瞭解,下面僅談它們在ARM上的區別 __raw_writel: 因爲有volatile關鍵字, 所以編譯器不會打亂多個__raw_writel的執行順序。 對於ARM而言,當多個寫以代碼的順序到達相同設備時,執行的順序也

原创 根文件系統是如何掛載的?

1. 創建虛擬文件系統(在ram中)。 fn: vfs_caches_init 2. 根據u-boot bootargs的參數得到的設備名,比如/dev/mmcblk0p1到block class去 找到主次設備號。fn: name_to

原创 Linux內核中USB充電器的解決方案

當前最新的內核(v3.5)對USB充電器的整體方案支持的不是太好,這裏討論的USB充電器的方案僅指軟件 方案,即充電器的檢測需要由軟件干預(比如讀取USB PHY的寄存器), 同時電池的充電值根據 充電器的不同類型,需要由軟件來設置。 硬

原创 我的女兒昨天會走路了

女兒可欣,在她13個月時,開始走路咯