<1.2버전 보드>
이미지를 다운로드 받는다
$tar xf mango-imx6q-image-160216.tgz |
$ cd image $ cp imx6q-sabresd-tsc2007.dtb imx6q-sabresd.dtb |
<1.3 버전 보드>
커널 소스 수정
LCD Back Light GPIO : SD1_DAT2(GPIO1_19, PWM2)
LCD Power EN GPIO: ENET_TXD0 (GPIO1_30)
arch/arm/boot/dts/imx6qdl-sabresd.dtsi
lcd@0 { compatible = "fsl,lcd"; ipu_id = <0>; disp_id = <0>; default_ifmt = "BGR24"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ipu1_1>; power_en_gpio = <&gpio1 30 0>;
/* Power EN */ backlight_ctl_gpio
= <&gpio1 19 0>; /* Backlight
CTRL */ status = "okay"; };
pwm-backlight { compatible = "pwm-backlight"; pwms = <&pwm2 0 50000>; brightness-levels = < 0 /*1 2 3 4 5 6*/ 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 >; default-brightness-level = <94>; };
&pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm1_1>; status = "disabled"; };
&pwm2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm2_1>; status = "okay"; };
#if
0 mango-ts@38 { compatible = "mango,mango-ts"; reg = <0x38>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_mango_ts>; interrupt-parent = <&gpio3>; interrupts = <26 0>; resets = <&mango_ts_reset>; }; #else touchscreen: tsc2007@4a { compatible = "ti,tsc2007"; reg = <0x4a>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mango_ts>; interrupt-parent = <&gpio3>; interrupts = <26 0>; gpios = <&gpio3 26
GPIO_ACTIVE_LOW>; ti,x-plate-ohms = <660>; linux,wakeup; }; #endif |
arch/arm/boot/dts/imx6qdl.dtsi 파일 수정
pwm2 { pinctrl_pwm2_1: pwm2grp-1 { fsl,pins = < MX6QDL_PAD_SD1_DAT2__PWM2_OUT 0x1b0b1 >; }; }; |
수정을 합니다.
커널을 컴파일 합니다.
$ ./build_kernel |
SD card Linux PC에 삽입 후 Write를 합니다.
[icanjji@icanjji-Samsung-DeskTop-System image]$ dmesg | tail [9858808.684792] usb 2-1.4: new full-speed USB device number 7 using ehci_hcd [9858808.779530] cp210x 2-1.4:1.0: cp210x converter detected [9858808.852309] usb 2-1.4: reset full-speed USB device number 7 using ehci_hcd [9858808.945045] usb 2-1.4: cp210x converter now attached to ttyUSB0 [9906472.618868] sd 184:0:0:0: [sdg] 15628288 512-byte logical blocks: (8.00 GB/7.45 GiB) [9906472.620360] sd 184:0:0:0: [sdg] No Caching mode page present [9906472.620364] sd 184:0:0:0: [sdg] Assuming drive cache: write through [9906472.622477] sd 184:0:0:0: [sdg] No Caching mode page present [9906472.622481] sd 184:0:0:0: [sdg] Assuming drive cache: write through [9906472.623242] sdg: sdg1 |
u-boot, kernel, 파일 시스템 모두 Write 방법
$ sudo ./sdwriter sdg imx6q |
u-boot와 커널, dtb 파일만 Write 방법
$ sudo ./sdwriter sdg imx6q bin |
Micro SD Card를 보드에 삽입
부팅 스위치
SW1 : 2번 ON , 나머지 OFF
SW2: 3,4,5 ON , 나머지 OFF
전원을 인가 합니다.
Debug 터미널 창에서 아무키나 누른 후 설정을 합니다.
U-Boot 2014.04-08648-g9d7bf9b-dirty (Jan 20 2016 - 17:47:14)
CPU: Freescale i.MX6Q rev1.5 at 792 MHz CPU: Temperature 25 C, calibration data: 0x5484b969 Reset cause: POR Board: MX6-SabreSD I2C: ready DRAM: 2 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 *** Warning - bad CRC, using default environment
Display: Mango-AT070 (800x480) In: serial Out: serial Err: serial mmc2 is current device unsupported boot devices check_and_clean: reg 0, flag_set 0 Fastboot: Normal SATA isn't buildin Net: FEC [PRIME] Warning: failed to set MAC address
Normal Boot Hit any key to stop autoboot: 0 => => => => => setenv mmcargs 'setenv bootargs console=${console},${baudrate} ${smp} root=${mmcroot} video=mxcfb0:dev=lcd,MANGO-PRESS7,fbpix=BGR32,bpp=32' => save Saving Environment to MMC... Writing to MMC(2)... done => reset |
setenv mmcargs 'setenv bootargs console=${console},${baudrate} ${smp} root=${mmcroot} video=mxcfb0:dev=lcd,MANGO-PRESS7,fbpix=BGR32,bpp=32'
|
커널 부팅 메시지에 아래와 같이 출력이 되면 인식이 된 것입니다.
input: TSC2007 Touchscreen as /devices/soc0/soc.1/2100000.aips-bus/21a4000.i2c/i2c-1/1-004a/input/input0 i2c-core: driver [mango-ts] using legacy suspend method i2c-core: driver [mango-ts] using legacy resume method i2c-core: driver [isl29023] using legacy suspend method i2c-core: driver [isl29023] using legacy resume method |
테스트 명령
ts_calibrate ts_test |
내용