요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* HiSilicon SAS controller
The HiSilicon SAS controller supports SAS/SATA.
Main node required properties:
- compatible : value should be as follows:
(a) "hisilicon,hip05-sas-v1" for v1 hw in hip05 chipset
(b) "hisilicon,hip06-sas-v2" for v2 hw in hip06 chipset
(c) "hisilicon,hip07-sas-v2" for v2 hw in hip07 chipset
- sas-addr : array of 8 bytes for host SAS address
- reg : Contains two regions. The first is the address and length of the SAS
register. The second is the address and length of CPLD register for
SGPIO control. The second is optional, and should be set only when
we use a CPLD for directly attached disk LED control.
- hisilicon,sas-syscon: phandle of syscon used for sas control
- ctrl-reset-reg : offset to controller reset register in ctrl reg
- ctrl-reset-sts-reg : offset to controller reset status register in ctrl reg
- ctrl-clock-ena-reg : offset to controller clock enable register in ctrl reg
- queue-count : number of delivery and completion queues in the controller
- phy-count : number of phys accessible by the controller
- interrupts : For v1 hw: Interrupts for phys, completion queues, and fatal
sources; the interrupts are ordered in 3 groups, as follows:
- Phy interrupts
- Completion queue interrupts
- Fatal interrupts
Phy interrupts : Each phy has 3 interrupt sources:
- broadcast
- phyup
- abnormal
The phy interrupts are ordered into groups of 3 per phy
(broadcast, phyup, and abnormal) in increasing order.
Completion queue interrupts : each completion queue has 1
interrupt source.
The interrupts are ordered in increasing order.
Fatal interrupts : the fatal interrupts are ordered as follows:
- ECC
- AXI bus
For v2 hw: Interrupts for phys, Sata, and completion queues;
the interrupts are ordered in 3 groups, as follows:
- Phy interrupts
- Sata interrupts
- Completion queue interrupts
Phy interrupts : Each controller has 2 phy interrupts:
- phy up/down
- channel interrupt
Sata interrupts : Each phy on the controller has 1 Sata
interrupt. The interrupts are ordered in increasing
order.
Completion queue interrupts : each completion queue has 1
interrupt source. The interrupts are ordered in
increasing order.
Optional main node properties:
- hip06-sas-v2-quirk-amt : when set, indicates that the v2 controller has the
"am-max-transmissions" limitation.
- hisilicon,signal-attenuation : array of 3 32-bit values, containing de-emphasis,
preshoot, and boost attenuation readings for the board. They
are used to describe the signal attenuation of the board. These
values' range is 7600 to 12400, and used to represent -24dB to
24dB.
The formula is "y = (x-10000)/10000". For example, 10478
means 4.78dB.
Example:
sas0: sas@c1000000 {
compatible = "hisilicon,hip05-sas-v1";
sas-addr = [50 01 88 20 16 00 00 0a];
reg = <0x0 0xc1000000 0x0 0x10000>;
hisilicon,sas-syscon = <&pcie_sas>;
ctrl-reset-reg = <0xa60>;
ctrl-reset-sts-reg = <0x5a30>;
ctrl-clock-ena-reg = <0x338>;
queue-count = <32>;
phy-count = <8>;
dma-coherent;
interrupt-parent = <&mbigen_dsa>;
interrupts = <259 4>,<263 4>,<264 4>,/* phy0 */
<269 4>,<273 4>,<274 4>,/* phy1 */
<279 4>,<283 4>,<284 4>,/* phy2 */
<289 4>,<293 4>,<294 4>,/* phy3 */
<299 4>,<303 4>,<304 4>,/* phy4 */
<309 4>,<313 4>,<314 4>,/* phy5 */
<319 4>,<323 4>,<324 4>,/* phy6 */
<329 4>,<333 4>,<334 4>,/* phy7 */
<336 1>,<337 1>,<338 1>,/* cq0-2 */
<339 1>,<340 1>,<341 1>,/* cq3-5 */
<342 1>,<343 1>,<344 1>,/* cq6-8 */
<345 1>,<346 1>,<347 1>,/* cq9-11 */
<348 1>,<349 1>,<350 1>,/* cq12-14 */
<351 1>,<352 1>,<353 1>,/* cq15-17 */
<354 1>,<355 1>,<356 1>,/* cq18-20 */
<357 1>,<358 1>,<359 1>,/* cq21-23 */
<360 1>,<361 1>,<362 1>,/* cq24-26 */
<363 1>,<364 1>,<365 1>,/* cq27-29 */
<366 1>,<367 1>/* cq30-31 */
<376 4>,/* fatal ecc */
<381 4>;/* fatal axi */
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
HiSilicon SAS controller
1-3HiSilicon SAS controller는 SAS와 SATA를 지원합니다.
주 노드 필수 속성
4-20`compatible`은 hip05의 v1 하드웨어에서 `hisilicon,hip05-sas-v1`, hip06의 v2에서 `hisilicon,hip06-sas-v2`, hip07의 v2에서 `hisilicon,hip07-sas-v2`입니다. `sas-addr`은 host SAS 주소를 나타내는 8바이트 배열입니다.
`reg`에는 두 영역을 넣습니다. 첫 영역은 SAS register의 주소와 길이입니다. 둘째 영역은 SGPIO 제어용 CPLD register의 주소와 길이이며, 직접 연결된 disk LED를 CPLD로 제어할 때만 지정하는 선택 영역입니다.
`hisilicon,sas-syscon`은 SAS 제어에 사용하는 syscon phandle입니다. `ctrl-reset-reg`, `ctrl-reset-sts-reg`, `ctrl-clock-ena-reg`는 각각 controller reset, reset 상태, clock enable register의 control register 기준 오프셋입니다.
`queue-count`는 controller의 delivery·completion queue 수이고 `phy-count`는 controller가 접근할 수 있는 PHY 수입니다.
v1 interrupt 순서
21-37v1 하드웨어의 `interrupts`는 PHY, completion queue, fatal source의 세 그룹 순서입니다.
각 PHY에는 `broadcast`, `phyup`, `abnormal` 세 interrupt source가 있으며 PHY 번호가 증가하는 순서로 이 세 개씩 나열합니다. 각 completion queue에는 interrupt source 하나가 있고 queue 번호 증가 순서로 나열합니다.
fatal interrupt는 `ECC`, `AXI bus` 순서입니다.
v2 interrupt 순서
38-51v2 하드웨어의 `interrupts`는 PHY, SATA, completion queue의 세 그룹 순서입니다.
각 controller에는 `phy up/down`과 `channel interrupt` 두 PHY interrupt가 있습니다. controller의 각 PHY에는 SATA interrupt 하나가 있으며 PHY 번호가 증가하는 순서로 나열합니다. 각 completion queue의 interrupt도 queue 번호 증가 순서입니다.
선택 속성
52-62`hip06-sas-v2-quirk-amt`는 v2 controller에 `am-max-transmissions` 제한이 있음을 나타냅니다.
`hisilicon,signal-attenuation`은 board의 de-emphasis, preshoot, boost attenuation을 담는 32비트 값 3개 배열입니다. 값 범위 7600~12400은 -24dB~24dB를 나타내며 공식은 `y = (x-10000)/10000`입니다. 예를 들어 10478은 4.78dB입니다.
hip05 SAS 예제
63-98예제는 host SAS 주소, 32개 queue, 8개 PHY와 PHY별 3개 interrupt, completion queue 32개, fatal ECC·AXI interrupt를 지정합니다.
sas0: sas@c1000000 {
compatible = "hisilicon,hip05-sas-v1";
sas-addr = [50 01 88 20 16 00 00 0a];
reg = <0x0 0xc1000000 0x0 0x10000>;
hisilicon,sas-syscon = <&pcie_sas>;
ctrl-reset-reg = <0xa60>;
ctrl-reset-sts-reg = <0x5a30>;
ctrl-clock-ena-reg = <0x338>;
queue-count = <32>;
phy-count = <8>;
dma-coherent;
interrupt-parent = <&mbigen_dsa>;
interrupts = <259 4>,<263 4>,<264 4>,/* phy0 */
<269 4>,<273 4>,<274 4>,/* phy1 */
<279 4>,<283 4>,<284 4>,/* phy2 */
<289 4>,<293 4>,<294 4>,/* phy3 */
<299 4>,<303 4>,<304 4>,/* phy4 */
<309 4>,<313 4>,<314 4>,/* phy5 */
<319 4>,<323 4>,<324 4>,/* phy6 */
<329 4>,<333 4>,<334 4>,/* phy7 */
<336 1>,<337 1>,<338 1>,/* cq0-2 */
<339 1>,<340 1>,<341 1>,/* cq3-5 */
<342 1>,<343 1>,<344 1>,/* cq6-8 */
<345 1>,<346 1>,<347 1>,/* cq9-11 */
<348 1>,<349 1>,<350 1>,/* cq12-14 */
<351 1>,<352 1>,<353 1>,/* cq15-17 */
<354 1>,<355 1>,<356 1>,/* cq18-20 */
<357 1>,<358 1>,<359 1>,/* cq21-23 */
<360 1>,<361 1>,<362 1>,/* cq24-26 */
<363 1>,<364 1>,<365 1>,/* cq27-29 */
<366 1>,<367 1>/* cq30-31 */
<376 4>,/* fatal ecc */
<381 4>;/* fatal axi */
};
요약과 해설
hisilicon-sas.txt:1-98바인딩의 하드웨어 모델과 속성 순서를 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.