기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요..
오늘도 또 질문을 하게 됩니다.
엑시노스 4412 를 사용중이고, PM은 제목그대로 MAX77686을 사용중입니다.
얼마전에 Audio쪽 Earjack Detect가 되지 않는 문제로 PMIC의 32KHCP의 클럭 파형을 찍어보니 아예 나오지 않더군요.
그래서 아래와 같이 EN32KHZ_CP에 32.768Khz를 넣어 줬습니다.
static struct regulator_init_data max77686_32KHz_CP_data = {
.constraints = {
.name = "EN32KHz CP",
.always_on = 1,
},
};
{MAX77686_EN32KHZ_CP, &max77686_32KHz_CP_data },
파형 찍어보니 정상으로 출력되고, Earjack Detect도 정상으로 동작을 합니다.
그런데.. 이 클럭을 넣어 주고 난 후 부터 Deep sleep으로 들어가면.. 파워 키를 눌러도 깨어나지 못합니다.
여기저기 쑤셔 보아도.. 해결이 되지 않아... 문의 드립니다.
혹시 위에 제가 넣은 코드 말고 더 추가 해줘야 하는 부분이 있는지요.?
그리고 Sleep 또는 Deep Sleep에 들어갈 경우 클럭이 나오면 안되는 건가요?
아~~ 부디 답변 부탁드립니다..
고도리님..
안녕하세요..
PMIC는 MAX77686 을 사용중이고.. Audio codec은 YAMAHA YMU828 을 사용하고 있습니다.
회로도 상으로 말씀을 드리면, MAX77686 PMIC K4번 pin ( 32KHCP ) 에서 Audio 쪽으로 Clock을 넣어주게 되어 있습니다.
해서 제가 해본건, 파형 찍어봐서 Clock이 나오지 않아서 질문처럼 Clock을 넣어준것 밖에는 없습니다.
그리고 또 한가지 방법으로 MAX77686 Probe 진입시에 I2C로 해당 레지스터를 Write 해 봤는데..
증상은 똑같네요..
suspend 진입시에 위의 클럭을 넣어주게 되면, sleep 진입시 먹통이 되어 버리고, 해당 클럭을 넣어 주지 않으면,
정말 어쩌다... 아주아주 간혹.. 뻗는 증상이 나옵니다.
지금 말씀해주신 suspend부분을 보고 있는데... 첨 보는 부분이라... 쉽지가 않네요...
부디... 제발... 감이 오질 않습니다..
도움의 손길이 필요합니다... 부탁 드립니다.
혹시 4412 SCP를 쓰고 계신가요? 해외 솔루션 아닌가요?...^^
일단 이렇게 해 보시면 될 듯 하네요.
1. 32k clock만 살려서 sleep/suspend 테스트 결과는 어떤가요?
즉, sound쪽과의 연결을 끊어 놓고서 함 테스트 해 보세요.
이 상태에서 sleep/suspend에 문제가 생긴다면 pmic관련 문제일 듯 싶고,
아니다라고 한다면 audio codec의 driver issue일 수 있습니다.
ps> 해외 솔루션이라면 제가 잘 아는 업체입니다. 오늘도 Exynos5260 가지고 문자로
수다 떨었습니다....^^
보통 Exynos4412에는 두 개의 PMIC가 장착이 됩니다.
MAX77686은 잘 모르겠지만, S5M8767의 경우는 revision에 따라
suspend시 문제가 생기는 경우가 있습니다.
http://opensource.samsung.com 가셔서 Galaxy-S3 코드를 참고하시기 바랍니다.
MAXIM PMIC는 Galaxy-S3 혹은 Note2에 쓰였던 것으로 알고 있습니다.
저도 가끔 버그를 삼성 무선사 코드를 가지고 잡는 경우가 있습니다.