[U-Boot] [PATCH 0/3] power: s2mps11: Support the DM regulator

Anand Moon linux.amoon at gmail.com
Tue Jan 16 17:18:41 UTC 2018


Hi Jaehoon

On 16 January 2018 at 12:03, Jaehoon Chung <jh80.chung at samsung.com> wrote:
> S2MPS11 has the 10-bucks and 38-ldos regulators.
> To control the each power, add the s2mps11 regulator driver.
> Tested with Odroid-xu3 board (Exynos5422)
>
> ODROID-XU3 # regulator list
> | Device              | regulator-name                  | Parent
> | LDO1                | vdd_ldo1                        | s2mps11_pmic at 66
> | LDO3                | vddq_mmc0                       | s2mps11_pmic at 66
> | LDO4                | vdd_adc                         | s2mps11_pmic at 66
> | LDO5                | vdd_ldo5                        | s2mps11_pmic at 66
> | LDO6                | vdd_ldo6                        | s2mps11_pmic at 66
> | LDO7                | vdd_ldo7                        | s2mps11_pmic at 66
> | LDO8                | vdd_ldo8                        | s2mps11_pmic at 66
> | LDO9                | vdd_ldo9                        | s2mps11_pmic at 66
> | LDO10               | vdd_ldo10                       | s2mps11_pmic at 66
> | LDO11               | vdd_ldo11                       | s2mps11_pmic at 66
> | LDO12               | vdd_ldo12                       | s2mps11_pmic at 66
> | LDO13               | vddq_mmc2                       | s2mps11_pmic at 66
> | LDO15               | vdd_ldo15                       | s2mps11_pmic at 66
> | LDO16               | vdd_ldo16                       | s2mps11_pmic at 66
> | LDO17               | vdd_ldo17                       | s2mps11_pmic at 66
> | LDO18               | vdd_emmc_1V8                    | s2mps11_pmic at 66
> | LDO19               | vdd_sd                          | s2mps11_pmic at 66
> | LDO24               | tsp_io                          | s2mps11_pmic at 66
> | LDO26               | vdd_ldo26                       | s2mps11_pmic at 66
> | BUCK1               | vdd_mif                         | s2mps11_pmic at 66
> | BUCK2               | vdd_arm                         | s2mps11_pmic at 66
> | BUCK3               | vdd_int                         | s2mps11_pmic at 66
> | BUCK4               | vdd_g3d                         | s2mps11_pmic at 66
> | BUCK5               | vdd_mem                         | s2mps11_pmic at 66
> | BUCK6               | vdd_kfc                         | s2mps11_pmic at 66
> | BUCK7               | vdd_1.0v_ldo                    | s2mps11_pmic at 66
> | BUCK8               | vdd_1.8v_ldo                    | s2mps11_pmic at 66
> | BUCK9               | vdd_2.8v_ldo                    | s2mps11_pmic at 66
> | BUCK10              | vdd_vmem                        | s2mps11_pmic at 66
>
> ODROID-XU3 # regulator status
> Name                 Enabled            uV         mA Mode
> vdd_ldo1             enabled       1000000          - ON
> vddq_mmc0            enabled       1800000          - ON
> vdd_adc              enabled       1800000          - ON
> vdd_ldo5             enabled       1800000          - ON
> vdd_ldo6             enabled       1000000          - ON
> vdd_ldo7             enabled       1800000          - ON
> vdd_ldo8             enabled       1800000          - ON
> vdd_ldo9             enabled       3300000          - ON
> vdd_ldo10            enabled       1800000          - ON
> vdd_ldo11            enabled       1000000          - ON
> vdd_ldo12            enabled       1800000          - ON
> vddq_mmc2            enabled       3300000          - ON
> vdd_ldo15            enabled       3300000          - ON
> vdd_ldo16            disabled      2200000          - OFF
> vdd_ldo17            enabled       3300000          - ON
> vdd_emmc_1V8         disabled      1800000          - OFF
> vdd_sd               enabled       3300000          - ON
> tsp_io               disabled      2800000          - OFF
> vdd_ldo26            enabled       3000000          - ON
> vdd_mif              enabled       1100000          - ON
> vdd_arm              enabled       1000000          - ON
> vdd_int              enabled       1000000          - ON
> vdd_g3d              enabled       1000000          - ON
> vdd_mem              enabled       1200000          - ON
> vdd_kfc              enabled       1025000          - ON
> vdd_1.0v_ldo         enabled       1350000          - ON
> vdd_1.8v_ldo         enabled       2000000          - ON
> vdd_2.8v_ldo         enabled       2200000          - ON
> vdd_vmem             disabled      2850000          - OFF
>
> Jaehoon Chung (3):
>   power: regulator: s2mps11: add a regulator driver for s2mps11
>   power: pmic: s2mps11: probe the regulator driver
>   configs: odroid-xu3: enable the configs relevant to regulator
>
>  configs/odroid-xu3_defconfig                |   2 +
>  drivers/power/pmic/s2mps11.c                |  28 ++
>  drivers/power/regulator/Kconfig             |   8 +
>  drivers/power/regulator/Makefile            |   1 +
>  drivers/power/regulator/s2mps11_regulator.c | 597 ++++++++++++++++++++++++++++
>  include/power/s2mps11.h                     |  55 +++
>  6 files changed, 691 insertions(+)
>  create mode 100644 drivers/power/regulator/s2mps11_regulator.c
>
> --
> 2.15.1
>

Thanks for you patches it seem to initialize the s2mps11 pmic and regulator.

After applying you patches on latest u-boot
It fails to boot up on my Odroid-XU3 and Odroid-XU4.
I have verified twice with two different sdcard.

It looks like mmc failed to initialize

Here is the boot log at my end,
----------------------------------------------------
ODROID-XU3 # reset
resetting ...

U-Boot 2018.01-00333-gfdb6c32-dirty (Jan 16 2018 - 15:50: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
mmc_init: -110, time 82
*** Warning - MMC init failed, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0
mmc_init: -110, time 83
mmc_init: -110, time 80
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
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
DHCP client bound to address 10.0.0.144 (25642 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 (645 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
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: 0x42000000
Loading: *
TFTP error: 'File not found' (1)
Not retrying...
ODROID-XU3 #
ODROID-XU3 #
ODROID-XU3 #
ODROID-XU3 #
ODROID-XU3 #
ODROID-XU3 # pmic dev s2mps11_pmic at 66
dev: 0 @ s2mps11_pmic at 66
ODROID-XU3 #  regulator list
| Device              | regulator-name                  | Parent
| LDO1                | vdd_ldo1                        | s2mps11_pmic at 66
| LDO3                | vddq_mmc0                       | s2mps11_pmic at 66
| LDO4                | vdd_adc                         | s2mps11_pmic at 66
| LDO5                | vdd_ldo5                        | s2mps11_pmic at 66
| LDO6                | vdd_ldo6                        | s2mps11_pmic at 66
| LDO7                | vdd_ldo7                        | s2mps11_pmic at 66
| LDO8                | vdd_ldo8                        | s2mps11_pmic at 66
| LDO9                | vdd_ldo9                        | s2mps11_pmic at 66
| LDO10               | vdd_ldo10                       | s2mps11_pmic at 66
| LDO11               | vdd_ldo11                       | s2mps11_pmic at 66
| LDO12               | vdd_ldo12                       | s2mps11_pmic at 66
| LDO13               | vddq_mmc2                       | s2mps11_pmic at 66
| LDO15               | vdd_ldo15                       | s2mps11_pmic at 66
| LDO16               | vdd_ldo16                       | s2mps11_pmic at 66
| LDO17               | vdd_ldo17                       | s2mps11_pmic at 66
| LDO18               | vdd_emmc_1V8                    | s2mps11_pmic at 66
| LDO19               | vdd_sd                          | s2mps11_pmic at 66
| LDO24               | tsp_io                          | s2mps11_pmic at 66
| LDO26               | vdd_ldo26                       | s2mps11_pmic at 66
| BUCK1               | vdd_mif                         | s2mps11_pmic at 66
| BUCK2               | vdd_arm                         | s2mps11_pmic at 66
| BUCK3               | vdd_int                         | s2mps11_pmic at 66
| BUCK4               | vdd_g3d                         | s2mps11_pmic at 66
| BUCK5               | vdd_mem                         | s2mps11_pmic at 66
| BUCK6               | vdd_kfc                         | s2mps11_pmic at 66
| BUCK7               | vdd_1.0v_ldo                    | s2mps11_pmic at 66
| BUCK8               | vdd_1.8v_ldo                    | s2mps11_pmic at 66
| BUCK9               | vdd_2.8v_ldo                    | s2mps11_pmic at 66
| BUCK10              | vdd_vmem                        | s2mps11_pmic at 66
ODROID-XU3 #
| Device              | regulator-name                  | Parent
| LDO1                | vdd_ldo1                        | s2mps11_pmic at 66
| LDO3                | vddq_mmc0                       | s2mps11_pmic at 66
| LDO4                | vdd_adc                         | s2mps11_pmic at 66
| LDO5                | vdd_ldo5                        | s2mps11_pmic at 66
| LDO6                | vdd_ldo6                        | s2mps11_pmic at 66
| LDO7                | vdd_ldo7                        | s2mps11_pmic at 66
| LDO8                | vdd_ldo8                        | s2mps11_pmic at 66
| LDO9                | vdd_ldo9                        | s2mps11_pmic at 66
| LDO10               | vdd_ldo10                       | s2mps11_pmic at 66
| LDO11               | vdd_ldo11                       | s2mps11_pmic at 66
| LDO12               | vdd_ldo12                       | s2mps11_pmic at 66
| LDO13               | vddq_mmc2                       | s2mps11_pmic at 66
| LDO15               | vdd_ldo15                       | s2mps11_pmic at 66
| LDO16               | vdd_ldo16                       | s2mps11_pmic at 66
| LDO17               | vdd_ldo17                       | s2mps11_pmic at 66
| LDO18               | vdd_emmc_1V8                    | s2mps11_pmic at 66
| LDO19               | vdd_sd                          | s2mps11_pmic at 66
| LDO24               | tsp_io                          | s2mps11_pmic at 66
| LDO26               | vdd_ldo26                       | s2mps11_pmic at 66
| BUCK1               | vdd_mif                         | s2mps11_pmic at 66
| BUCK2               | vdd_arm                         | s2mps11_pmic at 66
| BUCK3               | vdd_int                         | s2mps11_pmic at 66
| BUCK4               | vdd_g3d                         | s2mps11_pmic at 66
| BUCK5               | vdd_mem                         | s2mps11_pmic at 66
| BUCK6               | vdd_kfc                         | s2mps11_pmic at 66
| BUCK7               | vdd_1.0v_ldo                    | s2mps11_pmic at 66
| BUCK8               | vdd_1.8v_ldo                    | s2mps11_pmic at 66
| BUCK9               | vdd_2.8v_ldo                    | s2mps11_pmic at 66
| BUCK10              | vdd_vmem                        | s2mps11_pmic at 66
ODROID-XU3 # regulator status
Name                 Enabled            uV         mA Mode
vdd_ldo1             enabled       1000000          - ON
vddq_mmc0            enabled       1800000          - ON
vdd_adc              enabled       1800000          - ON
vdd_ldo5             enabled       1800000          - ON
vdd_ldo6             enabled       1000000          - ON
vdd_ldo7             enabled       1800000          - ON
vdd_ldo8             enabled       1800000          - ON
vdd_ldo9             enabled       3300000          - ON
vdd_ldo10            enabled       1800000          - ON
vdd_ldo11            enabled       1000000          - ON
vdd_ldo12            enabled       1800000          - ON
vddq_mmc2            enabled       3300000          - ON
vdd_ldo15            enabled       3300000          - ON
vdd_ldo16            disabled      2200000          - OFF
vdd_ldo17            enabled       3300000          - ON
vdd_emmc_1V8         disabled      1800000          - OFF
vdd_sd               enabled       3300000          - ON
tsp_io               disabled      2800000          - OFF
vdd_ldo26            disabled      3000000          - OFF
vdd_mif              enabled       1100000          - ON
vdd_arm              enabled       1000000          - ON
vdd_int              enabled       1000000          - ON
vdd_g3d              enabled       1000000          - ON
vdd_mem              enabled       1200000          - ON
vdd_kfc              enabled       1025000          - ON
vdd_1.0v_ldo         enabled       1350000          - ON
vdd_1.8v_ldo         enabled       2000000          - ON
vdd_2.8v_ldo         enabled       2200000          - ON
vdd_vmem             disabled      2850000          - OFF
ODROID-XU3 # pmic dump
Dump pmic: s2mps11_pmic at 66 registers

0x00: 83 10 11 00 00 ff ff 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 d8 50 18 a8 c8 d4 d4
0x40: d4 d4 c8 d4 d4 f2 d4 c8 d4 f2 2c f2 1c f2 14 f2
0x50: 14 14 10 cc 28 14 2c c8 32 14 14 14 14 14 2c 10
0x60: 14 14 28
ODROID-XU3 #
ODROID-XU3 # mmc info
mmc_init: -110, time 81

Best Regards
-Anand


More information about the U-Boot mailing list