Hi, I am confused how can I set TAMPER pins as GPIO whose properties are equal to device tree.
I use imx6ull board.
I directly accessed register address with memtool and got following information.
SW_MUX_CTL_PAD_SNVS_TAMPER1: reg val 0x0
SW_PAD_CTL_PAD_SNVS_TAMPER1: reg val 0x0
other tamper pins are the same as above.
However I defined these pins for GPIO in device tree as follows.
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_1>;
imx6ul-evk {
pinctrl_hog_1: hoggrp-1 {
fsl,pins = <
MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x000110B0
MX6UL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x0000B0A0
MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x000110B0
MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x000110B0
MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x000110B0
MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x000110B0
The values of device tree do not set in the register.
The IMX6ULRM says that TAMPER_PIN_DISABLE in fuse has to be 11 to disable TAMPER0-9 and use as GPIO.
So I checked 0x430[21:20] and got 11. I think this means tamper pins are set as ALT5 GPIO mode.
I checked fuse in uboot too (refer to mx6ul tamper pin to gpio ). The result is following.
Hit any key to stop autoboot: 0
=> fuse read 0 3
Reading bank 0:
Word 0x00000003: 71300070
note that 0x71300070 = 1110001001100000000000001110000
From the beggining, TAMPER_PIN_DISABLE is 11. Can I set them in device tree? I could not find any definition of tamper pins.
I could export these tamper pins in sysfs, but the values cannot be written even if I set them as output direction.
The values are always HIGH.
Why can't I set register values as defined in device tree ?
Why can't I change H/L even if I set tamper pins as output direction?