[U-Boot] [U-boot] Odroidxu3/4 -s2mps11 bind pmic failed

Hi All,
I would like to get the s2mps11 regulator binding for u-boot to work on Odroid XU3/XU4 as in case of Odroid U3 we have max77686_bind function which dose the job.
what will be the correct way to reset s2mps11 control register to the default values in-order to support reset of some regulators.
Below is the command I tried to gather some information but it failed.
Best Regards -Anand Moon ----------------------------------------------------------------------------------------------------------------------------------------- U-Boot 2018.01-rc3-00060-g1314bd1 (Jan 02 2018 - 17:56:26 +0000) for ODROID-XU3/XU4/HC1
CPU: Exynos5422 @ 800 MHz Model: Odroid XU3 based on EXYNOS5422 Board: Odroid XU3 based on EXYNOS5422 Type: xu4 DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! mmc_init: -95, time 11 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... reading /exynos5422-odroidxu4.dtb 62815 bytes read in 9 ms (6.7 MiB/s) starting USB... USB0: USB EHCI 1.00 USB1: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 USB2: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 3 USB Device(s) found scanning bus 2 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found Waiting for Ethernet connection... done. BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1200 ms) *** Warning: no boot file name; using '0A000090.img' Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename '0A000090.img'. Load address: 0x43e00000 Loading: * TFTP error: 'File not found' (1) Not retrying... missing environment variable: pxeuuid missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000090 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00009 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-exynos *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default *** ERROR: `serverip' not set Config file not found BOOTP broadcast 1 DHCP client bound to address 10.0.0.144 (644 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x50000000 Loading: * TFTP error: 'File not found' (1) Not retrying... BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1257 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x42000000 Loading: * TFTP error: 'File not found' (1) Not retrying... ODROID-XU3 # ODROID-XU3 # ODROID-XU3 # pmic s2mps11 dump pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 # pmic list | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic s2mps11_pmic dump pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 # pmic dump First, set the PMIC device! pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 # pmic s2mps11_pmic pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 # pmic read First, set the PMIC device! pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 # pmic read 12CA0000 First, set the PMIC device! pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 #

On Wed, 3 Jan 2018 01:54:57 +0530 Anand Moon linux.amoon@gmail.com wrote:
Hi All,
I would like to get the s2mps11 regulator binding for u-boot to work on Odroid XU3/XU4 as in case of Odroid U3 we have max77686_bind function which dose the job.
what will be the correct way to reset s2mps11 control register to the default values in-order to support reset of some regulators.
Below is the command I tried to gather some information but it failed.
Best Regards
-Anand Moon
U-Boot 2018.01-rc3-00060-g1314bd1 (Jan 02 2018 - 17:56:26 +0000) for ODROID-XU3/XU4/HC1
CPU: Exynos5422 @ 800 MHz Model: Odroid XU3 based on EXYNOS5422 Board: Odroid XU3 based on EXYNOS5422 Type: xu4 DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! mmc_init: -95, time 11 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... reading /exynos5422-odroidxu4.dtb 62815 bytes read in 9 ms (6.7 MiB/s) starting USB... USB0: USB EHCI 1.00 USB1: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 USB2: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 3 USB Device(s) found scanning bus 2 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found Waiting for Ethernet connection... done. BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1200 ms) *** Warning: no boot file name; using '0A000090.img' Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename '0A000090.img'. Load address: 0x43e00000 Loading: * TFTP error: 'File not found' (1) Not retrying... missing environment variable: pxeuuid missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000090 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00009 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-exynos *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default *** ERROR: `serverip' not set Config file not found BOOTP broadcast 1 DHCP client bound to address 10.0.0.144 (644 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x50000000 Loading: * TFTP error: 'File not found' (1) Not retrying... BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1257 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x42000000 Loading: * TFTP error: 'File not found' (1) Not retrying... ODROID-XU3 # ODROID-XU3 # ODROID-XU3 # pmic s2mps11 dump pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
First try to:
pmic list pmic dev s2mps11_pmic@66
pmic dump pmic write 0xXX for your device
ODROID-XU3 # pmic list | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic s2mps11_pmic dump pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 # pmic dump First, set the PMIC device! pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 # pmic s2mps11_pmic pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 # pmic read First, set the PMIC device! pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 # pmic read 12CA0000 First, set the PMIC device! pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
ODROID-XU3 #
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de

Hi Lukasz
On 3 January 2018 at 03:47, Lukasz Majewski lukma@denx.de wrote:
On Wed, 3 Jan 2018 01:54:57 +0530 Anand Moon linux.amoon@gmail.com wrote:
Hi All,
I would like to get the s2mps11 regulator binding for u-boot to work on Odroid XU3/XU4 as in case of Odroid U3 we have max77686_bind function which dose the job.
what will be the correct way to reset s2mps11 control register to the default values in-order to support reset of some regulators.
Below is the command I tried to gather some information but it failed.
Best Regards
-Anand Moon
U-Boot 2018.01-rc3-00060-g1314bd1 (Jan 02 2018 - 17:56:26 +0000) for ODROID-XU3/XU4/HC1
CPU: Exynos5422 @ 800 MHz Model: Odroid XU3 based on EXYNOS5422 Board: Odroid XU3 based on EXYNOS5422 Type: xu4 DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! mmc_init: -95, time 11 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... reading /exynos5422-odroidxu4.dtb 62815 bytes read in 9 ms (6.7 MiB/s) starting USB... USB0: USB EHCI 1.00 USB1: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 USB2: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 3 USB Device(s) found scanning bus 2 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found Waiting for Ethernet connection... done. BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1200 ms) *** Warning: no boot file name; using '0A000090.img' Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename '0A000090.img'. Load address: 0x43e00000 Loading: * TFTP error: 'File not found' (1) Not retrying... missing environment variable: pxeuuid missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000090 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00009 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-exynos *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default *** ERROR: `serverip' not set Config file not found BOOTP broadcast 1 DHCP client bound to address 10.0.0.144 (644 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x50000000 Loading: * TFTP error: 'File not found' (1) Not retrying... BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1257 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x42000000 Loading: * TFTP error: 'File not found' (1) Not retrying... ODROID-XU3 # ODROID-XU3 # ODROID-XU3 # pmic s2mps11 dump pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
First try to:
pmic list pmic dev s2mps11_pmic@66
pmic dump pmic write 0xXX for your device
[snip]
Thanks for your input.
ODROID-XU3 # | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
Actually, I am looking into setting some of the s2mps11 control register + reset clk values during board initialization.
Hardkernel Exynos5422 u-boot: [0] https://github.com/hardkernel/u-boot/blob/odroidxu3-v2012.07/board/samsung/s...
Cromebok2 u-boot: [1] https://github.com/archlinuxarm/u-boot-chromebook2/blob/chromebook2/board/sa...
Some of the feature dont work out on warm boot because of this missing feature.
Best Regards -Anand Moon

Hi Anand,
Hi Lukasz
On 3 January 2018 at 03:47, Lukasz Majewski lukma@denx.de wrote:
On Wed, 3 Jan 2018 01:54:57 +0530 Anand Moon linux.amoon@gmail.com wrote:
Hi All,
I would like to get the s2mps11 regulator binding for u-boot to work on Odroid XU3/XU4 as in case of Odroid U3 we have max77686_bind function which dose the job.
what will be the correct way to reset s2mps11 control register to the default values in-order to support reset of some regulators.
Below is the command I tried to gather some information but it failed.
Best Regards
-Anand Moon
U-Boot 2018.01-rc3-00060-g1314bd1 (Jan 02 2018 - 17:56:26 +0000) for ODROID-XU3/XU4/HC1
CPU: Exynos5422 @ 800 MHz Model: Odroid XU3 based on EXYNOS5422 Board: Odroid XU3 based on EXYNOS5422 Type: xu4 DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! mmc_init: -95, time 11 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... reading /exynos5422-odroidxu4.dtb 62815 bytes read in 9 ms (6.7 MiB/s) starting USB... USB0: USB EHCI 1.00 USB1: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 USB2: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 3 USB Device(s) found scanning bus 2 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found Waiting for Ethernet connection... done. BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1200 ms) *** Warning: no boot file name; using '0A000090.img' Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename '0A000090.img'. Load address: 0x43e00000 Loading: * TFTP error: 'File not found' (1) Not retrying... missing environment variable: pxeuuid missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000090 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00009 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-exynos *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default *** ERROR: `serverip' not set Config file not found BOOTP broadcast 1 DHCP client bound to address 10.0.0.144 (644 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x50000000 Loading: * TFTP error: 'File not found' (1) Not retrying... BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1257 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x42000000 Loading: * TFTP error: 'File not found' (1) Not retrying... ODROID-XU3 # ODROID-XU3 # ODROID-XU3 # pmic s2mps11 dump pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
First try to:
pmic list pmic dev s2mps11_pmic@66
pmic dump pmic write 0xXX for your device
[snip]
Thanks for your input.
ODROID-XU3 # | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
Actually, I am looking into setting some of the s2mps11 control register + reset clk values during board initialization.
You can try to set those values by writing some u-boot script or bring the below (needed) code upstream, so those could be reused by others.
Hardkernel Exynos5422 u-boot: [0] https://github.com/hardkernel/u-boot/blob/odroidxu3-v2012.07/board/samsung/s...
Cromebok2 u-boot: [1] https://github.com/archlinuxarm/u-boot-chromebook2/blob/chromebook2/board/sa...
Some of the feature dont work out on warm boot because of this missing feature.
Best Regards -Anand Moon
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de

Hi Lukasz,
On 3 January 2018 at 14:08, Lukasz Majewski lukma@denx.de wrote:
Hi Anand,
Hi Lukasz
On 3 January 2018 at 03:47, Lukasz Majewski lukma@denx.de wrote:
On Wed, 3 Jan 2018 01:54:57 +0530 Anand Moon linux.amoon@gmail.com wrote:
Hi All,
I would like to get the s2mps11 regulator binding for u-boot to work on Odroid XU3/XU4 as in case of Odroid U3 we have max77686_bind function which dose the job.
what will be the correct way to reset s2mps11 control register to the default values in-order to support reset of some regulators.
Below is the command I tried to gather some information but it failed.
Best Regards
-Anand Moon
U-Boot 2018.01-rc3-00060-g1314bd1 (Jan 02 2018 - 17:56:26 +0000) for ODROID-XU3/XU4/HC1
CPU: Exynos5422 @ 800 MHz Model: Odroid XU3 based on EXYNOS5422 Board: Odroid XU3 based on EXYNOS5422 Type: xu4 DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! mmc_init: -95, time 11 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... reading /exynos5422-odroidxu4.dtb 62815 bytes read in 9 ms (6.7 MiB/s) starting USB... USB0: USB EHCI 1.00 USB1: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 USB2: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 3 USB Device(s) found scanning bus 2 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found Waiting for Ethernet connection... done. BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1200 ms) *** Warning: no boot file name; using '0A000090.img' Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename '0A000090.img'. Load address: 0x43e00000 Loading: * TFTP error: 'File not found' (1) Not retrying... missing environment variable: pxeuuid missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000090 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00009 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-exynos *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default *** ERROR: `serverip' not set Config file not found BOOTP broadcast 1 DHCP client bound to address 10.0.0.144 (644 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x50000000 Loading: * TFTP error: 'File not found' (1) Not retrying... BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1257 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x42000000 Loading: * TFTP error: 'File not found' (1) Not retrying... ODROID-XU3 # ODROID-XU3 # ODROID-XU3 # pmic s2mps11 dump pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
First try to:
pmic list pmic dev s2mps11_pmic@66
pmic dump pmic write 0xXX for your device
[snip]
Thanks for your input.
ODROID-XU3 # | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
Actually, I am looking into setting some of the s2mps11 control register + reset clk values during board initialization.
You can try to set those values by writing some u-boot script or bring the below (needed) code upstream, so those could be reused by others.
[snip]
I dont have s2mps11 datasheet with me. but I tried to write simple .probe function with debug message but print message did not invoke during the booting of the device.
neither did the debug print appeared during the pmci dump command.
ODROID-XU3 # ODROID-XU3 # pmic list | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
---- How can we invoke and verify the s2mps11 init function during board initialization ?
Best Regards -Anand

On 01/08/2018 12:34 AM, Anand Moon wrote:
Hi Lukasz,
On 3 January 2018 at 14:08, Lukasz Majewski lukma@denx.de wrote:
Hi Anand,
Hi Lukasz
On 3 January 2018 at 03:47, Lukasz Majewski lukma@denx.de wrote:
On Wed, 3 Jan 2018 01:54:57 +0530 Anand Moon linux.amoon@gmail.com wrote:
Hi All,
I would like to get the s2mps11 regulator binding for u-boot to work on Odroid XU3/XU4 as in case of Odroid U3 we have max77686_bind function which dose the job.
what will be the correct way to reset s2mps11 control register to the default values in-order to support reset of some regulators.
Below is the command I tried to gather some information but it failed.
Best Regards
-Anand Moon
U-Boot 2018.01-rc3-00060-g1314bd1 (Jan 02 2018 - 17:56:26 +0000) for ODROID-XU3/XU4/HC1
CPU: Exynos5422 @ 800 MHz Model: Odroid XU3 based on EXYNOS5422 Board: Odroid XU3 based on EXYNOS5422 Type: xu4 DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! mmc_init: -95, time 11 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... reading /exynos5422-odroidxu4.dtb 62815 bytes read in 9 ms (6.7 MiB/s) starting USB... USB0: USB EHCI 1.00 USB1: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 USB2: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 3 USB Device(s) found scanning bus 2 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found Waiting for Ethernet connection... done. BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1200 ms) *** Warning: no boot file name; using '0A000090.img' Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename '0A000090.img'. Load address: 0x43e00000 Loading: * TFTP error: 'File not found' (1) Not retrying... missing environment variable: pxeuuid missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000090 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00009 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-exynos *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default *** ERROR: `serverip' not set Config file not found BOOTP broadcast 1 DHCP client bound to address 10.0.0.144 (644 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x50000000 Loading: * TFTP error: 'File not found' (1) Not retrying... BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1257 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x42000000 Loading: * TFTP error: 'File not found' (1) Not retrying... ODROID-XU3 # ODROID-XU3 # ODROID-XU3 # pmic s2mps11 dump pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
First try to:
pmic list pmic dev s2mps11_pmic@66
pmic dump pmic write 0xXX for your device
[snip]
Thanks for your input.
ODROID-XU3 # | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
Actually, I am looking into setting some of the s2mps11 control register + reset clk values during board initialization.
You can try to set those values by writing some u-boot script or bring the below (needed) code upstream, so those could be reused by others.
[snip]
I dont have s2mps11 datasheet with me. but I tried to write simple .probe function with debug message but print message did not invoke during the booting of the device.
neither did the debug print appeared during the pmci dump command.
ODROID-XU3 # ODROID-XU3 # pmic list | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
How can we invoke and verify the s2mps11 init function during board initialization ?
When i have checked the above values, those are the reset value at each registers. but some registers are different with reset values.
do you want to change the pmic register value at init time?
Best Regards, Jaehoon Chung
Best Regards -Anand

Hi Jaehoon,
On 8 January 2018 at 11:56, Jaehoon Chung jh80.chung@samsung.com wrote:
On 01/08/2018 12:34 AM, Anand Moon wrote:
Hi Lukasz,
On 3 January 2018 at 14:08, Lukasz Majewski lukma@denx.de wrote:
Hi Anand,
Hi Lukasz
On 3 January 2018 at 03:47, Lukasz Majewski lukma@denx.de wrote:
On Wed, 3 Jan 2018 01:54:57 +0530 Anand Moon linux.amoon@gmail.com wrote:
Hi All,
I would like to get the s2mps11 regulator binding for u-boot to work on Odroid XU3/XU4 as in case of Odroid U3 we have max77686_bind function which dose the job.
what will be the correct way to reset s2mps11 control register to the default values in-order to support reset of some regulators.
Below is the command I tried to gather some information but it failed.
Best Regards
-Anand Moon
U-Boot 2018.01-rc3-00060-g1314bd1 (Jan 02 2018 - 17:56:26 +0000) for ODROID-XU3/XU4/HC1
CPU: Exynos5422 @ 800 MHz Model: Odroid XU3 based on EXYNOS5422 Board: Odroid XU3 based on EXYNOS5422 Type: xu4 DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! mmc_init: -95, time 11 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... reading /exynos5422-odroidxu4.dtb 62815 bytes read in 9 ms (6.7 MiB/s) starting USB... USB0: USB EHCI 1.00 USB1: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 USB2: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 3 USB Device(s) found scanning bus 2 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found Waiting for Ethernet connection... done. BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1200 ms) *** Warning: no boot file name; using '0A000090.img' Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename '0A000090.img'. Load address: 0x43e00000 Loading: * TFTP error: 'File not found' (1) Not retrying... missing environment variable: pxeuuid missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000090 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00009 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A000 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A00 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0A *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0 *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-exynos *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default *** ERROR: `serverip' not set Config file not found BOOTP broadcast 1 DHCP client bound to address 10.0.0.144 (644 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x50000000 Loading: * TFTP error: 'File not found' (1) Not retrying... BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 10.0.0.144 (1257 ms) Using r8152#0 device TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending through gateway 10.0.0.1 Filename 'boot.scr.uimg'. Load address: 0x42000000 Loading: * TFTP error: 'File not found' (1) Not retrying... ODROID-XU3 # ODROID-XU3 # ODROID-XU3 # pmic s2mps11 dump pmic - operations
Usage: pmic list - list pmic devices pmic dev [name] - show or [set] operating PMIC device pmic dump - dump registers pmic read address - read byte of register at address pmic write address - write byte to register at address
First try to:
pmic list pmic dev s2mps11_pmic@66
pmic dump pmic write 0xXX for your device
[snip]
Thanks for your input.
ODROID-XU3 # | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
Actually, I am looking into setting some of the s2mps11 control register + reset clk values during board initialization.
You can try to set those values by writing some u-boot script or bring the below (needed) code upstream, so those could be reused by others.
[snip]
I dont have s2mps11 datasheet with me. but I tried to write simple .probe function with debug message but print message did not invoke during the booting of the device.
neither did the debug print appeared during the pmci dump command.
ODROID-XU3 # ODROID-XU3 # pmic list | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
How can we invoke and verify the s2mps11 init function during board initialization ?
When i have checked the above values, those are the reset value at each registers. but some registers are different with reset values.
do you want to change the pmic register value at init time?
[snip]
What I have debug at my end pmci is not getting invoke or initialize via u-boot. Yes default value for all the control registers would be fine.
I was looking into some missing feature like. s2mps11 regulator initialization via dts in u-boot. s2mps11_pmic .probe = s2mps11_probe .bind = s2mps11_bind
Can we enable CONFIG_SPL_BUILD for Odroid platform. much of the core initialization is blocked under this flag. Is their any plan to make this feature working.
Best Regards -Anand

On Mon, 8 Jan 2018 12:27:26 +0530 Anand Moon linux.amoon@gmail.com wrote:
Hi Jaehoon,
On 8 January 2018 at 11:56, Jaehoon Chung jh80.chung@samsung.com wrote:
On 01/08/2018 12:34 AM, Anand Moon wrote:
Hi Lukasz,
On 3 January 2018 at 14:08, Lukasz Majewski lukma@denx.de wrote:
Hi Anand,
Hi Lukasz
On 3 January 2018 at 03:47, Lukasz Majewski lukma@denx.de wrote:
On Wed, 3 Jan 2018 01:54:57 +0530 Anand Moon linux.amoon@gmail.com wrote:
> Hi All, > > I would like to get the s2mps11 regulator binding for u-boot to > work on Odroid XU3/XU4 > as in case of Odroid U3 we have max77686_bind function which > dose the job. > > what will be the correct way to reset s2mps11 control register > to the default values > in-order to support reset of some regulators. > > Below is the command I tried to gather some information but it > failed. > > Best Regards > -Anand Moon > ----------------------------------------------------------------------------------------------------------------------------------------- > U-Boot 2018.01-rc3-00060-g1314bd1 (Jan 02 2018 - 17:56:26 > +0000) for ODROID-XU3/XU4/HC1 > > CPU: Exynos5422 @ 800 MHz > Model: Odroid XU3 based on EXYNOS5422 > Board: Odroid XU3 based on EXYNOS5422 > Type: xu4 > DRAM: 2 GiB > MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 > *** Warning - bad CRC, using default environment > > In: serial > Out: serial > Err: serial > Net: No ethernet found. > Hit any key to stop autoboot: 0 > Card did not respond to voltage select! > mmc_init: -95, time 11 > switch to partitions #0, OK > mmc0 is current device > Scanning mmc 0:1... > reading /exynos5422-odroidxu4.dtb > 62815 bytes read in 9 ms (6.7 MiB/s) > starting USB... > USB0: USB EHCI 1.00 > USB1: Register 2000140 NbrPorts 2 > Starting the controller > USB XHCI 1.00 > USB2: Register 2000140 NbrPorts 2 > Starting the controller > USB XHCI 1.00 > scanning bus 0 for devices... 1 USB Device(s) found > scanning bus 1 for devices... 3 USB Device(s) found > scanning bus 2 for devices... 2 USB Device(s) found > scanning usb for storage devices... 0 Storage Device(s) > found scanning usb for ethernet devices... 1 Ethernet Device(s) > found Waiting for Ethernet connection... done. > BOOTP broadcast 1 > BOOTP broadcast 2 > DHCP client bound to address 10.0.0.144 (1200 ms) > *** Warning: no boot file name; using '0A000090.img' > Using r8152#0 device > TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending > through gateway 10.0.0.1 > Filename '0A000090.img'. > Load address: 0x43e00000 > Loading: * > TFTP error: 'File not found' (1) > Not retrying... > missing environment variable: pxeuuid > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/0A000090 > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/0A00009 > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/0A0000 > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/0A000 > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/0A00 > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/0A0 > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/0A > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/0 > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/default-arm-exynos > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/default-arm > *** ERROR: `serverip' not set > missing environment variable: bootfile > Retrieving file: pxelinux.cfg/default > *** ERROR: `serverip' not set > Config file not found > BOOTP broadcast 1 > DHCP client bound to address 10.0.0.144 (644 ms) > Using r8152#0 device > TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending > through gateway 10.0.0.1 > Filename 'boot.scr.uimg'. > Load address: 0x50000000 > Loading: * > TFTP error: 'File not found' (1) > Not retrying... > BOOTP broadcast 1 > BOOTP broadcast 2 > DHCP client bound to address 10.0.0.144 (1257 ms) > Using r8152#0 device > TFTP from server 0.0.0.0; our IP address is 10.0.0.144; sending > through gateway 10.0.0.1 > Filename 'boot.scr.uimg'. > Load address: 0x42000000 > Loading: * > TFTP error: 'File not found' (1) > Not retrying... > ODROID-XU3 # > ODROID-XU3 # > ODROID-XU3 # pmic s2mps11 dump > pmic - operations > > Usage: > pmic list - list pmic devices > pmic dev [name] - show or [set] operating PMIC device > pmic dump - dump registers > pmic read address - read byte of register at address > pmic write address - write byte to register at address
First try to:
pmic list pmic dev s2mps11_pmic@66
pmic dump pmic write 0xXX for your device
[snip]
Thanks for your input.
ODROID-XU3 # | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
Actually, I am looking into setting some of the s2mps11 control register + reset clk values during board initialization.
You can try to set those values by writing some u-boot script or bring the below (needed) code upstream, so those could be reused by others.
[snip]
I dont have s2mps11 datasheet with me. but I tried to write simple .probe function with debug message but print message did not invoke during the booting of the device.
neither did the debug print appeared during the pmci dump command.
ODROID-XU3 # ODROID-XU3 # pmic list | Name | Parent name | Parent uclass @ seq | s2mps11_pmic@66 | i2c@12CA0000 | i2c @ 4 ODROID-XU3 # pmic dev s2mps11_pmic@66 dev: 0 @ s2mps11_pmic@66 ODROID-XU3 # pmic dump Dump pmic: s2mps11_pmic@66 registers
0x00: 83 00 11 00 ff 3b 03 1a 00 00 04 01 10 00 00 57 0x10: 5f 55 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 0x20: 00 50 12 ca dc d8 50 f8 40 f9 40 f8 40 fe 3f 60 0x30: 78 90 c0 d8 44 d8 30 d8 64 d9 50 d8 a8 c8 d4 14 0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 dc f2 14 f2 0x50: 14 14 10 cc e8 14 ec c8 f2 14 f2 14 14 14 2c 10 0x60: 14 14 28
How can we invoke and verify the s2mps11 init function during board initialization ?
When i have checked the above values, those are the reset value at each registers. but some registers are different with reset values.
do you want to change the pmic register value at init time?
[snip]
What I have debug at my end pmci is not getting invoke or initialize via u-boot. Yes default value for all the control registers would be fine.
I was looking into some missing feature like. s2mps11 regulator initialization via dts in u-boot. s2mps11_pmic .probe = s2mps11_probe .bind = s2mps11_bind
Can we enable CONFIG_SPL_BUILD for Odroid platform.
There were some attempts in the past.
Unfortunately (as of XU3/4), the FBL (u-boot's SPL) must be signed to run on Exynos5. Hence we explicitly reuse the code from HardKernel and use u-boot only as a second stage bootloader.
Without the facility to sign FBL(SPL) it wouldn't be possible to use SPL from u-boot
much of the core initialization is blocked under this flag. Is their any plan to make this feature working.
You can ask the SoC vendor or/and Hardkernel if they have any plans for that.
Best Regards -Anand
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de

Hi,
On 01/08/2018 03:57 PM, Anand Moon wrote:
Hi Jaehoon,
This topic is on u-boot side. so Removed the linux-samsung-soc mailing.
[..snip..]
How can we invoke and verify the s2mps11 init function during board initialization ?
When i have checked the above values, those are the reset value at each registers. but some registers are different with reset values.
do you want to change the pmic register value at init time?
[snip]
What I have debug at my end pmci is not getting invoke or initialize via u-boot. Yes default value for all the control registers would be fine.
I was looking into some missing feature like. s2mps11 regulator initialization via dts in u-boot. s2mps11_pmic .probe = s2mps11_probe .bind = s2mps11_bind
It needs to implement the regulator driver. I will send the patch for s2mps11 regulator driver within this week. Then i think that it will be set to values from device-tree.
Can we enable CONFIG_SPL_BUILD for Odroid platform. much of the core initialization is blocked under this flag. Is their any plan to make this feature working.
Lukasz has already mentioned..
Best Regards -Anand

Hi Jaehoon/ Lukasz
On 9 January 2018 at 04:17, Jaehoon Chung jh80.chung@samsung.com wrote:
Hi,
On 01/08/2018 03:57 PM, Anand Moon wrote:
Hi Jaehoon,
This topic is on u-boot side. so Removed the linux-samsung-soc mailing.
[..snip..]
How can we invoke and verify the s2mps11 init function during board initialization ?
When i have checked the above values, those are the reset value at each registers. but some registers are different with reset values.
do you want to change the pmic register value at init time?
[snip]
What I have debug at my end pmci is not getting invoke or initialize via u-boot. Yes default value for all the control registers would be fine.
I was looking into some missing feature like. s2mps11 regulator initialization via dts in u-boot. s2mps11_pmic .probe = s2mps11_probe .bind = s2mps11_bind
It needs to implement the regulator driver. I will send the patch for s2mps11 regulator driver within this week. Then i think that it will be set to values from device-tree.
Thanks you very much.
Can we enable CONFIG_SPL_BUILD for Odroid platform. much of the core initialization is blocked under this flag. Is their any plan to make this feature working.
Lukasz has already mentioned..
My guess is the SOC (Samsung) should take initiative in enable CONFIG_SPL_BUILD option. since HardKernel is not complete open on sharing the singing utility as per NDA. but they have shared the following link to help on this.
https://forum.odroid.com/viewtopic.php?f=98&t=6147
As per my knowledge earlier Artik10 base on Exynos5422 was supported by Samsung developers. so it should be easily.
Best Regards -Anand
Best Regards -Anand

On 01/09/2018 03:16 PM, Anand Moon wrote:
Hi Jaehoon/ Lukasz
On 9 January 2018 at 04:17, Jaehoon Chung jh80.chung@samsung.com wrote:
Hi,
On 01/08/2018 03:57 PM, Anand Moon wrote:
Hi Jaehoon,
This topic is on u-boot side. so Removed the linux-samsung-soc mailing.
[..snip..]
How can we invoke and verify the s2mps11 init function during board initialization ?
When i have checked the above values, those are the reset value at each registers. but some registers are different with reset values.
do you want to change the pmic register value at init time?
[snip]
What I have debug at my end pmci is not getting invoke or initialize via u-boot. Yes default value for all the control registers would be fine.
I was looking into some missing feature like. s2mps11 regulator initialization via dts in u-boot. s2mps11_pmic .probe = s2mps11_probe .bind = s2mps11_bind
It needs to implement the regulator driver. I will send the patch for s2mps11 regulator driver within this week. Then i think that it will be set to values from device-tree.
Thanks you very much.
When i send the patch, i will add you account.
Can we enable CONFIG_SPL_BUILD for Odroid platform. much of the core initialization is blocked under this flag. Is their any plan to make this feature working.
Lukasz has already mentioned..
My guess is the SOC (Samsung) should take initiative in enable CONFIG_SPL_BUILD option. since HardKernel is not complete open on sharing the singing utility as per NDA. but they have shared the following link to help on this.
https://forum.odroid.com/viewtopic.php?f=98&t=6147
As per my knowledge earlier Artik10 base on Exynos5422 was supported by Samsung developers. so it should be easily.
Artik10 is also based on exynos5422. Yep, it can be used u-boot spl without signing. But hardkernel boards needs to use the signed bl2 image.
It doesn't belong to me to share the signing utility. (I don't have any permission about it..sorry.)
Best Regards, Jaehoon Chung
Best Regards -Anand
Best Regards -Anand
participants (3)
-
Anand Moon
-
Jaehoon Chung
-
Lukasz Majewski