요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Memory mapped Bosch CC770 and Intel AN82527 CAN controller
Note: The CC770 is a CAN controller from Bosch, which is 100%
compatible with the old AN82527 from Intel, but with "bugs" being fixed.
Required properties:
- compatible : should be "bosch,cc770" for the CC770 and "intc,82527"
for the AN82527.
- reg : should specify the chip select, address offset and size required
to map the registers of the controller. The size is usually 0x80.
- interrupts : property with a value describing the interrupt source
(number and sensitivity) required for the controller.
Optional properties:
- bosch,external-clock-frequency : frequency of the external oscillator
clock in Hz. Note that the internal clock frequency used by the
controller is half of that value. If not specified, a default
value of 16000000 (16 MHz) is used.
- bosch,clock-out-frequency : slock frequency in Hz on the CLKOUT pin.
If not specified or if the specified value is 0, the CLKOUT pin
will be disabled.
- bosch,slew-rate : slew rate of the CLKOUT signal. If not specified,
a reasonable value will be calculated.
- bosch,disconnect-rx0-input : see data sheet.
- bosch,disconnect-rx1-input : see data sheet.
- bosch,disconnect-tx1-output : see data sheet.
- bosch,polarity-dominant : see data sheet.
- bosch,divide-memory-clock : see data sheet.
- bosch,iso-low-speed-mux : see data sheet.
For further information, please have a look to the CC770 or AN82527.
Examples:
can@3,100 {
compatible = "bosch,cc770";
reg = <3 0x100 0x80>;
interrupts = <2 0>;
interrupt-parent = <&mpic>;
bosch,external-clock-frequency = <16000000>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
메모리 매핑 CC770과 AN82527
1-16Bosch CC770은 구형 Intel AN82527과 100% 호환하면서 알려진 버그를 수정한 CAN controller입니다.
`compatible`은 CC770에 `bosch,cc770`, AN82527에 `intc,82527`을 사용합니다. `reg`는 controller register를 매핑하는 chip select, address offset과 크기를 지정하며 크기는 보통 `0x80`입니다.
`interrupts`는 컨트롤러에 필요한 interrupt source의 번호와 sensitivity를 기술합니다.
클록과 신호 선택 속성
17-44`bosch,external-clock-frequency`는 외부 oscillator clock의 Hz 주파수입니다. 컨트롤러가 사용하는 내부 clock은 이 값의 절반이며, 생략하면 기본값 16000000(16MHz)을 사용합니다.
`bosch,clock-out-frequency`는 CLKOUT pin의 Hz clock frequency입니다. 생략하거나 0이면 CLKOUT을 disable합니다. `bosch,slew-rate`는 CLKOUT signal의 slew rate이며 생략하면 적절한 값을 계산합니다.
`bosch,disconnect-rx0-input`, `bosch,disconnect-rx1-input`, `bosch,disconnect-tx1-output`, `bosch,polarity-dominant`, `bosch,divide-memory-clock`, `bosch,iso-low-speed-mux`의 의미는 data sheet를 참조하십시오.
자세한 내용은 CC770 또는 AN82527 문서를 참조하십시오.
컨트롤러 내부 클록은 외부 oscillator 주파수의 절반입니다.
CC770 예제
45-53예제는 chip select 3, offset `0x100`, 크기 `0x80`에 CC770을 매핑하고 MPIC interrupt 2와 16MHz 외부 clock을 지정합니다.
can@3,100 {
compatible = "bosch,cc770";
reg = <3 0x100 0x80>;
interrupts = <2 0>;
interrupt-parent = <&mpic>;
bosch,external-clock-frequency = <16000000>;
};
요약과 해설
cc770.txt:1-53외부 oscillator와 절반 주파수의 내부 clock, 선택적인 CLKOUT과 신호 핀 속성을 구분합니다.