← Documents Documentation/ABI/testing/sysfs-platform-at91 GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

AT91 CAN mailbox sysfs ABI

AT91 CAN controller의 mailbox 0 silicon erratum을 회피하도록 unused CAN identifier를 설정하는 interface입니다.

Source pathDocumentation/ABI/testing/sysfs-platform-at91
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Mailbox 0 erratum workaround

sysfs-platform-at91:1-27

오동작으로 전송될 수 있는 mailbox 0에 unused identifier를 넣고 extended ID에는 CAN_EFF_FLAG를 명시적으로 합칩니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /sys/devices/platform/at91_can/net/<iface>/mb0_id
2 Date: January 2011
3 KernelVersion: 2.6.38
4 Contact: Marc Kleine-Budde <[email protected]>
5 Description:
6 Value representing the can_id of mailbox 0.
7
8 Default: 0x7ff (standard frame)
9
10 Due to a chip bug (errata 50.2.6.3 & 50.3.5.3 in
11 "AT91SAM9263 Preliminary 6249H-ATARM-27-Jul-09") the
12 contents of mailbox 0 may be send under certain
13 conditions (even if disabled or in rx mode).
14
15 The workaround in the errata suggests not to use the
16 mailbox and load it with an unused identifier.
17
18 In order to use an extended can_id add the
19 CAN_EFF_FLAG (0x80000000U) to the can_id. Example:
20
21 - standard id 0x7ff::
22
23 echo 0x7ff > /sys/class/net/can0/mb0_id
24
25 - extended id 0x1fffffff::
26
27 echo 0x9fffffff > /sys/class/net/can0/mb0_id
28

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

AT91 CAN mailbox sysfs ABI: mb0 id

1-27
항목한국어 전문 번역
What/sys/devices/platform/at91_can/net/<iface>/mb0_id
Date2011년 1월
KernelVersion2.6.38
ContactMarc Kleine-Budde <[email protected]>
Description`/sys/devices/platform/at91_can/net/<iface>/mb0_id`는 mailbox 0의 `can_id`를 나타냅니다. Default는 standard frame identifier `0x7ff`입니다. Chip bug인 `AT91SAM9263 Preliminary 6249H-ATARM-27-Jul-09`의 errata `50.2.6.3` 및 `50.3.5.3` 때문에 mailbox 0이 disable 상태이거나 receive mode여도 특정 조건에서 contents를 send할 수 있습니다. Errata의 workaround는 mailbox를 사용하지 않고 unused identifier를 load하는 것입니다. Extended `can_id`를 사용하려면 `CAN_EFF_FLAG`(`0x80000000U`)를 `can_id`에 더합니다. Standard ID `0x7ff`는 `echo 0x7ff > /sys/class/net/can0/mb0_id`, extended ID `0x1fffffff`는 flag를 포함한 `echo 0x9fffffff > /sys/class/net/can0/mb0_id`로 설정합니다.
AT91 mailbox 0 workaround
Erratum 50.2.6.3 / 50.3.5.3Mailbox 0 may transmit unexpectedlyDo not use mailbox 0Load an unused identifier
Extended CAN IDAdd CAN_EFF_FLAG 0x80000000UWrite flagged can_id

Disabled 또는 RX mailbox가 예기치 않게 전송될 수 있는 silicon bug를 identifier 선택으로 완화합니다.

echo 0x7ff      > /sys/class/net/can0/mb0_id
echo 0x9fffffff > /sys/class/net/can0/mb0_id