summaryrefslogtreecommitdiff
path: root/arch/sandbox
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2018-11-18 08:14:34 -0700
committerSimon Glass <sjg@chromium.org>2018-11-29 09:30:05 -0700
commit031a650e1309a086f6794cde35b1b1b851a9e926 (patch)
treea2b6743e36597b2aec9411144028943b254e85ac /arch/sandbox
parentb7c25b11b6a1e3f840464224309b72a91b65bc56 (diff)
dm: sandbox: i2c: Use new emulator parent uclass
Update the device tree, sandbox i2c driver and tests to use the new emulation parent to hold emulators. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/sandbox')
-rw-r--r--arch/sandbox/dts/sandbox.dts25
-rw-r--r--arch/sandbox/dts/sandbox64.dts21
-rw-r--r--arch/sandbox/dts/sandbox_pmic.dtsi71
-rw-r--r--arch/sandbox/dts/test.dts28
4 files changed, 85 insertions, 60 deletions
diff --git a/arch/sandbox/dts/sandbox.dts b/arch/sandbox/dts/sandbox.dts
index 1cda911d1f..ce3c88c221 100644
--- a/arch/sandbox/dts/sandbox.dts
+++ b/arch/sandbox/dts/sandbox.dts
@@ -95,19 +95,11 @@
eeprom@2c {
reg = <0x2c>;
compatible = "i2c-eeprom";
- emul {
- compatible = "sandbox,i2c-eeprom";
- sandbox,filename = "i2c.bin";
- sandbox,size = <128>;
- };
};
rtc_0: rtc@43 {
reg = <0x43>;
compatible = "sandbox-rtc";
- emul {
- compatible = "sandbox,i2c-rtc";
- };
};
sandbox_pmic: sandbox_pmic {
reg = <0x40>;
@@ -116,6 +108,23 @@
mc34708: pmic@41 {
reg = <0x41>;
};
+
+ i2c_emul: emul {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xff>;
+ compatible = "sandbox,i2c-emul-parent";
+ emul-eeprom {
+ reg = <0x2c>;
+ compatible = "sandbox,i2c-eeprom";
+ sandbox,filename = "i2c.bin";
+ sandbox,size = <256>;
+ };
+ emul0 {
+ reg = <0x43>;
+ compatible = "sandbox,i2c-rtc";
+ };
+ };
};
lcd {
diff --git a/arch/sandbox/dts/sandbox64.dts b/arch/sandbox/dts/sandbox64.dts
index 2c6d351381..d30fd62a2a 100644
--- a/arch/sandbox/dts/sandbox64.dts
+++ b/arch/sandbox/dts/sandbox64.dts
@@ -90,19 +90,11 @@
eeprom@2c {
reg = <0x2c>;
compatible = "i2c-eeprom";
- emul {
- compatible = "sandbox,i2c-eeprom";
- sandbox,filename = "i2c.bin";
- sandbox,size = <128>;
- };
};
rtc_0: rtc@43 {
reg = <0x43>;
compatible = "sandbox-rtc";
- emul {
- compatible = "sandbox,i2c-rtc";
- };
};
sandbox_pmic: sandbox_pmic {
reg = <0x40>;
@@ -111,6 +103,19 @@
mc34708: pmic@41 {
reg = <0x41>;
};
+
+ i2c_emul: emul {
+ reg = <0xff>;
+ compatible = "sandbox,i2c-emul-parent";
+ emul-eeprom {
+ compatible = "sandbox,i2c-eeprom";
+ sandbox,filename = "i2c.bin";
+ sandbox,size = <256>;
+ };
+ emul0 {
+ compatible = "sandbox,i2c-rtc";
+ };
+ };
};
lcd {
diff --git a/arch/sandbox/dts/sandbox_pmic.dtsi b/arch/sandbox/dts/sandbox_pmic.dtsi
index 5ecafaab36..565c382ed4 100644
--- a/arch/sandbox/dts/sandbox_pmic.dtsi
+++ b/arch/sandbox/dts/sandbox_pmic.dtsi
@@ -11,40 +11,6 @@
&sandbox_pmic {
compatible = "sandbox,pmic";
- pmic_emul {
- compatible = "sandbox,i2c-pmic";
-
- /*
- * Default PMICs register values are set by macro
- * VAL2REG(min, step, value) [uV/uA]
- * VAL2OMREG(mode id)
- * reg-defaults - byte array
- */
- reg-defaults = /bits/ 8 <
- /* BUCK1 */
- VAL2REG(800000, 25000, 1000000)
- VAL2REG(150000, 25000, 150000)
- VAL2OMREG(BUCK_OM_OFF)
- /* BUCK2 */
- VAL2REG(750000, 50000, 3000000)
- VAL2REG(150000, 25000, 150000)
- VAL2OMREG(0)
- /* LDO1 */
- VAL2REG(800000, 25000, 1600000)
- VAL2REG(100000, 50000, 150000)
- VAL2OMREG(LDO_OM_OFF)
- /* LDO2 */
- VAL2REG(750000, 50000, 3000000)
- VAL2REG(150000, 25000, 150000)
- VAL2OMREG(0)
- /* reg[12:15] - not used */
- 0x00
- 0x00
- 0x00
- 0x00
- >;
- };
-
buck1 {
regulator-name = "SUPPLY_1.2V";
regulator-min-microvolt = <1200000>;
@@ -84,10 +50,45 @@
&mc34708 {
compatible = "fsl,mc34708";
+};
- pmic_emul {
+&i2c_emul {
+ emul_pmic0: pmic-emul0 {
compatible = "sandbox,i2c-pmic";
+ /*
+ * Default PMICs register values are set by macro
+ * VAL2REG(min, step, value) [uV/uA]
+ * VAL2OMREG(mode id)
+ * reg-defaults - byte array
+ */
+ reg-defaults = /bits/ 8 <
+ /* BUCK1 */
+ VAL2REG(800000, 25000, 1000000)
+ VAL2REG(150000, 25000, 150000)
+ VAL2OMREG(BUCK_OM_OFF)
+ /* BUCK2 */
+ VAL2REG(750000, 50000, 3000000)
+ VAL2REG(150000, 25000, 150000)
+ VAL2OMREG(0)
+ /* LDO1 */
+ VAL2REG(800000, 25000, 1600000)
+ VAL2REG(100000, 50000, 150000)
+ VAL2OMREG(LDO_OM_OFF)
+ /* LDO2 */
+ VAL2REG(750000, 50000, 3000000)
+ VAL2REG(150000, 25000, 150000)
+ VAL2OMREG(0)
+ /* reg[12:15] - not used */
+ 0x00
+ 0x00
+ 0x00
+ 0x00
+ >;
+ };
+
+ emul_pmic1: pmic-emul1 {
+ compatible = "sandbox,i2c-pmic";
reg-defaults = /bits/ 8 <
0x00 0x80 0x08 0xff 0xff 0xff 0x2e 0x01 0x08
0x40 0x80 0x81 0x5f 0xff 0xfb 0x1e 0x80 0x18
diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index 2c6b422312..252aa7b6b6 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -266,35 +266,45 @@
eeprom@2c {
reg = <0x2c>;
compatible = "i2c-eeprom";
- emul {
- compatible = "sandbox,i2c-eeprom";
- sandbox,filename = "i2c.bin";
- sandbox,size = <256>;
- };
+ sandbox,emul = <&emul_eeprom>;
};
rtc_0: rtc@43 {
reg = <0x43>;
compatible = "sandbox-rtc";
- emul {
- compatible = "sandbox,i2c-rtc";
- };
+ sandbox,emul = <&emul0>;
};
rtc_1: rtc@61 {
reg = <0x61>;
compatible = "sandbox-rtc";
- emul {
+ sandbox,emul = <&emul1>;
+ };
+
+ i2c_emul: emul {
+ reg = <0xff>;
+ compatible = "sandbox,i2c-emul-parent";
+ emul_eeprom: emul-eeprom {
+ compatible = "sandbox,i2c-eeprom";
+ sandbox,filename = "i2c.bin";
+ sandbox,size = <256>;
+ };
+ emul0: emul0 {
+ compatible = "sandbox,i2c-rtc";
+ };
+ emul1: emull {
compatible = "sandbox,i2c-rtc";
};
};
sandbox_pmic: sandbox_pmic {
reg = <0x40>;
+ sandbox,emul = <&emul_pmic0>;
};
mc34708: pmic@41 {
reg = <0x41>;
+ sandbox,emul = <&emul_pmic1>;
};
};