프로그래밍/리눅스 커널 4

pinctrl-names과 pinctrl

1. GPIO 일반적으로 하나의 gpio 핀은 여러 기능을 수행할 수 있다. 예를 들면 UART, I2C, SPI 등, 설정 가능한 여러 기능이 있으며 현재의 configuration에 맞게 동작한다.  설정할 수 있는 값은 일반적으로 아래와 같다. (1) 기능(인터페이스) 설정 : i2c, i2s, spi, uart등 (2) 핀 설정 : pull up/down, value 설정등 (3) 그룹 설정, 핀들을 모아 특정 인터페이스를 세팅  2. GPIO configuration GPIO 설정은 당연히 kernel pinctrl driver를 통하여 하나씩 설정할 수 있다. 일반적으로 enable이나 interrupt 핀의 경우, driver에서 gpio를 컨트롤하는 방식을 많이 사용한다.  하지만 여러개의..

s906b sound card probe 살펴보기

sound card의 platform_driver 위와 같이 드라이버를 module_platform_driver로 등록시켜주면, 보일러 플레이트에 의하여 regitser, unregister로 확장된다. 이후에 platform_driver가 등록되고, 이름이 같은 platform_device가 platform_device_register로 등록되면 driver의 probe가 호출된다. - probe가 호출되는 과정 : platform_add_devices -> platform_device_register -> platform_device_add -> device_add -> bus_probe_device -> device_initial_probe -> __device_attach -> __device_a..

s906b alsa sound card 코드 따라가기

sound/soc/samsung/rainbow_prince.c 1) Platform driver 드라이버 정의 이름이 "rainbow-sound"인 platform_driver를 등록 probe, remove member ops는 - rainbow_sound_probe, - rainbow_sound_remove 함수를 이용 * platform_driver: include/linux/platform_device.h 정의 * platform device, 가상 버스인 플랫폼 버스에 연결되는 hot plugin 미지원으로 항상 연결되어 있음이 보장되어 있는 장치라고 한다. 주로 device-tree에 정의(항상 연결되어 있으니 실제 장치 확인 필요 없음)한다 함?? [MODULE_DEVICE_TABLE 관련 ..

삼성 S906B (S22+) 리눅스 커널 다운 및 vim, cscope, ctags 준비

1. S906B(S22+) 커널 다운로드 삼성 오픈소스 사이트에서 S906B 검색 후 다운로드 https://opensource.samsung.com/uploadSearch Samsung Open Source Samsung's Key Value for Open Source Samsung believes that the practice of open source is the key to preparing for future technologies. Openness It means having an open mindset and open engagement, and is not simply defined as public disclosure. Collaborati opensource.samsung.com 2..

페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사