Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
U
uboot-imx
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
8
Issues
8
List
Boards
Labels
Milestones
Merge Requests
7
Merge Requests
7
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Librem5
uboot-imx
Commits
0683e7e0
Commit
0683e7e0
authored
Dec 23, 2016
by
Tom Rini
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
git://git.denx.de/u-boot-samsung
parents
9c4132b5
9e26834f
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
237 additions
and
0 deletions
+237
-0
arch/arm/dts/s5pc1xx-goni.dts
arch/arm/dts/s5pc1xx-goni.dts
+165
-0
configs/s5p_goni_defconfig
configs/s5p_goni_defconfig
+3
-0
drivers/power/pmic/Kconfig
drivers/power/pmic/Kconfig
+7
-0
drivers/power/pmic/Makefile
drivers/power/pmic/Makefile
+1
-0
drivers/power/pmic/max8998.c
drivers/power/pmic/max8998.c
+61
-0
No files found.
arch/arm/dts/s5pc1xx-goni.dts
View file @
0683e7e0
...
...
@@ -19,6 +19,7 @@
serial2 = "/serial@e2900800";
console = "/serial@e2900800";
pinctrl0 = &pinctrl0;
i2c3 = &i2c_pmic;
};
pinctrl0: pinctrl@e0200000 {
...
...
@@ -32,4 +33,168 @@
id = <2>;
};
i2c_pmic: i2c-pmic {
compatible = "i2c-gpio";
gpios = <&gpj4 0 0>, /* sda */
<&gpj4 3 0>; /* scl */
i2c-gpio,delay-us = <2>; /* ~100 kHz */
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pmic@66 {
compatible = "maxim,max8998";
reg = <0x66 0 0>;
voltage-regulators {
ldo2_reg: LDO2 {
regulator-compatible = "LDO2";
regulator-name = "VALIVE_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
ldo3_reg: LDO3 {
regulator-compatible = "LDO3";
regulator-name = "VUSB+MIPI_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
ldo4_reg: LDO4 {
regulator-compatible = "LDO4";
regulator-name = "VADC_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo5_reg: LDO5 {
regulator-compatible = "LDO5";
regulator-name = "VTF_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo6_reg: LDO6 {
regulator-compatible = "LDO6";
regulator-name = "VCC_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo7_reg: LDO7 {
regulator-compatible = "LDO7";
regulator-name = "VLCD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo8_reg: LDO8 {
regulator-compatible = "LDO8";
regulator-name = "VUSB+VDAC_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo9_reg: LDO9 {
regulator-compatible = "LDO9";
regulator-name = "VCC+VCAM_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo10_reg: LDO10 {
regulator-compatible = "LDO10";
regulator-name = "VPLL_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-boot-on;
};
ldo11_reg: LDO11 {
regulator-compatible = "LDO11";
regulator-name = "CAM_IO_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo12_reg: LDO12 {
regulator-compatible = "LDO12";
regulator-name = "CAM_ISP_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ldo13_reg: LDO13 {
regulator-compatible = "LDO13";
regulator-name = "CAM_A_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo14_reg: LDO14 {
regulator-compatible = "LDO14";
regulator-name = "CAM_CIF_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo15_reg: LDO15 {
regulator-compatible = "LDO15";
regulator-name = "CAM_AF_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo16_reg: LDO16 {
regulator-compatible = "LDO16";
regulator-name = "VMIPI_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo17_reg: LDO17 {
regulator-compatible = "LDO17";
regulator-name = "CAM_8M_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
buck1_reg: BUCK1 {
regulator-compatible = "BUCK1";
regulator-name = "VARM_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
buck2_reg: BUCK2 {
regulator-compatible = "BUCK2";
regulator-name = "VINT_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
buck3_reg: BUCK3 {
regulator-compatible = "BUCK3";
regulator-name = "VCC_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
buck4_reg: BUCK4 {
regulator-compatible = "BUCK4";
regulator-name = "CAM_CORE_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
};
};
};
};
configs/s5p_goni_defconfig
View file @
0683e7e0
...
...
@@ -29,3 +29,6 @@ CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_G_DNL_MANUFACTURER="Samsung"
CONFIG_G_DNL_VENDOR_NUM=0x04e8
CONFIG_G_DNL_PRODUCT_NUM=0x6601
CONFIG_DM_PMIC=y
CONFIG_DM_PMIC_MAX8998=y
CONFIG_DM_I2C_GPIO=y
drivers/power/pmic/Kconfig
View file @
0683e7e0
...
...
@@ -54,6 +54,13 @@ config DM_PMIC_MAX77686
This config enables implementation of driver-model pmic uclass features
for PMIC MAX77686. The driver implements read/write operations.
config DM_PMIC_MAX8998
bool "Enable Driver Model for PMIC MAX8998"
depends on DM_PMIC
---help---
This config enables implementation of driver-model pmic uclass features
for PMIC MAX8998. The driver implements read/write operations.
config PMIC_PM8916
bool "Enable Driver Model for Qualcomm PM8916 PMIC"
depends on DM_PMIC
...
...
drivers/power/pmic/Makefile
View file @
0683e7e0
...
...
@@ -7,6 +7,7 @@
obj-$(CONFIG_DM_PMIC)
+=
pmic-uclass.o
obj-$(CONFIG_DM_PMIC_MAX77686)
+=
max77686.o
obj-$(CONFIG_DM_PMIC_MAX8998)
+=
max8998.o
obj-$(CONFIG_DM_PMIC_PFUZE100)
+=
pfuze100.o
obj-$(CONFIG_PMIC_S2MPS11)
+=
s2mps11.o
obj-$(CONFIG_DM_PMIC_SANDBOX)
+=
sandbox.o i2c_pmic_emul.o
...
...
drivers/power/pmic/max8998.c
0 → 100644
View file @
0683e7e0
/*
* Copyright (C) 2016 Samsung Electronics
* Jaehoon Chung <jh80.chung@samsung.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <dm.h>
#include <i2c.h>
#include <power/pmic.h>
#include <power/max8998_pmic.h>
#include <errno.h>
DECLARE_GLOBAL_DATA_PTR
;
static
int
max8998_reg_count
(
struct
udevice
*
dev
)
{
return
PMIC_NUM_OF_REGS
;
}
static
int
max8998_write
(
struct
udevice
*
dev
,
uint
reg
,
const
uint8_t
*
buff
,
int
len
)
{
int
ret
;
ret
=
dm_i2c_write
(
dev
,
reg
,
buff
,
len
);
if
(
ret
)
error
(
"write error to device: %p register: %#x!"
,
dev
,
reg
);
return
ret
;
}
static
int
max8998_read
(
struct
udevice
*
dev
,
uint
reg
,
uint8_t
*
buff
,
int
len
)
{
int
ret
;
ret
=
dm_i2c_read
(
dev
,
reg
,
buff
,
len
);
if
(
ret
)
error
(
"read error from device: %p register: %#x!"
,
dev
,
reg
);
return
ret
;
}
static
struct
dm_pmic_ops
max8998_ops
=
{
.
reg_count
=
max8998_reg_count
,
.
read
=
max8998_read
,
.
write
=
max8998_write
,
};
static
const
struct
udevice_id
max8998_ids
[]
=
{
{
.
compatible
=
"maxim,max8998"
},
{
}
};
U_BOOT_DRIVER
(
pmic_max8998
)
=
{
.
name
=
"max8998_pmic"
,
.
id
=
UCLASS_PMIC
,
.
of_match
=
max8998_ids
,
.
ops
=
&
max8998_ops
,
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment