[PATCH linux] added i2c busses and devices
OpenBMC Patches
patches at stwcx.xyz
Sat Oct 31 05:52:25 AEDT 2015
From: Norman James <njames at us.ibm.com>
---
arch/arm/boot/dts/aspeed-bmc-opp-barreleye.dts | 333 +++++++++++++++++++++++++
arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts | 28 ++-
2 files changed, 354 insertions(+), 7 deletions(-)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-opp-barreleye.dts
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-barreleye.dts b/arch/arm/boot/dts/aspeed-bmc-opp-barreleye.dts
new file mode 100644
index 0000000..c4f4076
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-barreleye.dts
@@ -0,0 +1,333 @@
+/dts-v1/;
+
+#include "skeleton.dtsi"
+
+/ {
+ model = "Barrelye BMC";
+ compatible = "rackspace,barreleye-bmc", "aspeed,ast2400";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ interrupt-parent = <&vic>;
+
+ aliases {
+ serial0 = &uart5;
+ };
+
+ chosen {
+ stdout-path = &uart5;
+ bootargs = "console=ttyS4,38400";
+ };
+
+ memory {
+ reg = < 0x40000000 0x10000000 >;
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu at 0 {
+ compatible = "arm,arm926ej-s";
+ device_type = "cpu";
+ reg = <0>;
+ };
+ };
+
+ // FIXME
+ clocks {
+ // Do a proper driver... for now, we know the straps
+ // and uboot config on palmetto are:
+ // - CLKIN is 48Mhz
+ // - HPLL is 384Mhz
+ // - CPU:AHB is strapped 2:1
+ // - PCLK is HPLL/8 = 48Mhz
+ clk_apb: clk_apb {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <48000000>;
+ };
+ clk_hpll: clk_hpll {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <384000000>;
+ };
+ };
+
+ ahb {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ vic: interrupt-controller at 1e6c0080 {
+ compatible = "aspeed,new-vic";
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ valid-sources = < 0xffffffff 0x0007ffff>;
+ reg = <0x1e6c0080 0x80>;
+ };
+
+ mac0: ethernet at 1e660000 {
+ compatible = "faraday,ftgmac100", "aspeed,ast2400-mac";
+ reg = <0x1e660000 0x180>;
+ interrupts = <2>;
+ use-nc-si;
+ no-hw-checksum;
+ };
+
+ apb {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ sram at 1e72000 {
+ compatible = "mmio-sram";
+ reg = <0x1e72000 0x8000>; // 32K
+ };
+
+ ibt at 1e789140 {
+ compatible = "aspeed,bt-host";
+ reg = <0x1e789140 0x18>;
+ };
+
+ i2c: i2c at 1e78a040 {
+ compatible = "aspeed,ast2400-i2c-common";
+ reg = <0x1e78a000 0x40>;
+ ranges = <0 0x1e78a000 0x1000>;
+ interrupts = <12>;
+ clocks = <&clk_apb>;
+
+ i2c0: i2c-bus at 0x40 {
+ reg = <0x40 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <0>;
+ clock-frequency = <100000>;
+ status = "okay";
+ eeprom at 50 {
+ compatible = "atmel,24c256";
+ reg = <0x50>;
+ pagesize = <64>;
+ };
+ rtc at 68 {
+ compatible = "dallas,ds3231";
+ reg = <0x68>;
+ // interrupts = <GPIOF0>
+ };
+ lm75 at 4a {
+ compatible = "national,lm75";
+ reg = <0x4a>;
+ };
+ };
+
+ i2c1: i2c-bus at 0x80 {
+ reg = <0x80 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <1>;
+ clock-frequency = <100000>;
+ status = "okay";
+ };
+
+ i2c2: i2c-bus at 0xC0 {
+ reg = <0xC0 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <2>;
+ clock-frequency = <100000>;
+ status = "okay";
+ };
+
+ i2c3: i2c-bus at 0x100 {
+ reg = <0x100 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <3>;
+ clock-frequency = <100000>;
+ status = "okay";
+ };
+
+ i2c4: i2c-bus at 0x140 {
+ reg = <0x140 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <4>;
+ clock-frequency = <100000>;
+ status = "okay";
+ };
+
+ i2c5: i2c-bus at 0x180 {
+ reg = <0x180 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <5>;
+ clock-frequency = <100000>;
+ status = "okay";
+ };
+
+ i2c6: i2c-bus at 0x1C0 {
+ reg = <0x1C0 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <6>;
+ clock-frequency = <100000>;
+ status = "okay";
+ nct7904 at 2d {
+ compatible = "nuvoton,nct7904";
+ reg = <0x2d>;
+ };
+ nct7904 at 2e {
+ compatible = "nuvoton,nct7904";
+ reg = <0x2e>;
+ };
+ };
+
+ i2c7: i2c-bus at 0x300 {
+ reg = <0x300 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <7>;
+ clock-frequency = <100000>;
+ status = "okay";
+ };
+
+ i2c8: i2c-bus at 0x340 {
+ reg = <0x340 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <8>;
+ clock-frequency = <100000>;
+ status = "okay";
+ };
+
+ i2c9: i2c-bus at 0x380 {
+ reg = <0x380 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <9>;
+ clock-frequency = <100000>;
+ status = "disabled";
+ };
+
+ i2c10: i2c-bus at 0x3C0 {
+ reg = <0x380 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <10>;
+ clock-frequency = <100000>;
+ status = "disabled";
+ };
+
+ i2c11: i2c-bus at 0x400 {
+ reg = <0x400 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <11>;
+ clock-frequency = <100000>;
+ status = "disabled";
+ };
+
+ i2c12: i2c-bus at 0x440 {
+ reg = <0x400 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <12>;
+ clock-frequency = <100000>;
+ status = "disabled";
+ };
+
+ i2c13: i2c-bus at 0x480 {
+ reg = <0x480 0x40>;
+ compatible = "aspeed,ast2400-i2c-bus";
+ bus = <13>;
+ clock-frequency = <100000>;
+ status = "disabled";
+ };
+
+ };
+
+ syscon: syscon at 1e6e2000 {
+ compatible = "aspeed,syscon", "syscon";
+ reg = <0x1e6e2000 0x1a8>;
+ interrupts = <19>;
+ clocks = <&clk_apb>;
+ status = "okay";
+ };
+
+ wdt: wdt at 1e785000 {
+ compatible = "aspeed,wdt", "wdt";
+ reg = <0x1e785000 0x1c4>;
+ interrupts = <27>;
+ clocks = <&clk_apb>;
+ };
+
+ rtc: rtc at 1e781000 {
+ compatible = "aspeed,rtc";
+ reg = <0x1e781000 0x18>;
+ };
+
+ timer: timer at 98400000 {
+ compatible = "aspeed,timer";
+ reg = <0x1e782000 0x90>;
+ // The moxart_timer driver registers only one interrupt
+ // and assumes it's for timer 1
+ //interrupts = <16 17 18 35 36 37 38 39>;
+ interrupts = <16>;
+ clocks = <&clk_apb>;
+ };
+
+ gpio: gpio at 1e780000 {
+ compatible = "aspeed,ast2400-gpio";
+ reg = <0x1e780000 0x1000>;
+ interrupts = <20>;
+ };
+
+ uart1: serial at 1e783000 {
+ compatible = "ns16550a";
+ reg = <0x1e783000 0x1000>;
+ reg-shift = <2>;
+ interrupts = <9>;
+ clock-frequency = < 1843200 >;
+ no-loopback-test;
+ };
+ uart2: serial at 1e78d000 {
+ compatible = "ns16550a";
+ reg = <0x1e78d000 0x1000>;
+ reg-shift = <2>;
+ interrupts = <32>;
+ clock-frequency = < 1843200 >;
+ no-loopback-test;
+ };
+ /* APSS UART */
+ uart3: serial at 1e78e000 {
+ compatible = "ns16550a";
+ reg = <0x1e78e000 0x1000>;
+ reg-shift = <2>;
+ interrupts = <33>;
+ clock-frequency = < 1843200 >;
+ no-loopback-test;
+ };
+
+ /* Host UART */
+ uart4: serial at 1e78f000 {
+ compatible = "ns16550a";
+ reg = <0x1e78f000 0x1000>;
+ reg-shift = <2>;
+ interrupts = <34>;
+ clock-frequency = < 1843200 >;
+ current-speed = < 115200 >;
+ no-loopback-test;
+ };
+#if 1
+ /* BMC UART */
+ uart5: serial at 1e784000 {
+ compatible = "ns16550a";
+ reg = <0x1e784000 0x1000>;
+ reg-shift = <2>;
+ interrupts = <10>;
+ clock-frequency = < 1843200 >;
+ current-speed = < 38400 >;
+ no-loopback-test;
+ };
+#endif
+
+ uart6: serial at 1e787000 {
+ compatible = "ns16550a";
+ reg = <0x1e787000 0x1000>;
+ reg-shift = <2>;
+ interrupts = <10>;
+ clock-frequency = < 1843200 >;
+ current-speed = < 38400 >;
+ no-loopback-test;
+ };
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts b/arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts
index b14b246..d55096b 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts
@@ -104,6 +104,16 @@
bus = <0>;
clock-frequency = <100000>;
status = "okay";
+ eeprom at 50 {
+ compatible = "atmel,24c256";
+ reg = <0x50>;
+ pagesize = <64>;
+ };
+ rtc at 68 {
+ compatible = "dallas,ds3231";
+ reg = <0x68>;
+ // interrupts = <GPIOF0>
+ };
};
i2c1: i2c-bus at 0x80 {
@@ -119,7 +129,11 @@
compatible = "aspeed,ast2400-i2c-bus";
bus = <2>;
clock-frequency = <100000>;
- status = "disabled";
+ status = "okay";
+ tmp423 at 4c {
+ compatible = "ti,tmp423";
+ reg = <0x4c>;
+ };
};
i2c3: i2c-bus at 0x100 {
@@ -127,7 +141,7 @@
compatible = "aspeed,ast2400-i2c-bus";
bus = <3>;
clock-frequency = <100000>;
- status = "disabled";
+ status = "okay";
};
i2c4: i2c-bus at 0x140 {
@@ -135,7 +149,7 @@
compatible = "aspeed,ast2400-i2c-bus";
bus = <4>;
clock-frequency = <100000>;
- status = "disabled";
+ status = "okay";
};
i2c5: i2c-bus at 0x180 {
@@ -143,7 +157,7 @@
compatible = "aspeed,ast2400-i2c-bus";
bus = <5>;
clock-frequency = <100000>;
- status = "disabled";
+ status = "okay";
};
i2c6: i2c-bus at 0x1C0 {
@@ -151,7 +165,7 @@
compatible = "aspeed,ast2400-i2c-bus";
bus = <6>;
clock-frequency = <100000>;
- status = "disabled";
+ status = "okay";
};
i2c7: i2c-bus at 0x300 {
@@ -159,7 +173,7 @@
compatible = "aspeed,ast2400-i2c-bus";
bus = <7>;
clock-frequency = <100000>;
- status = "disabled";
+ status = "okay";
};
i2c8: i2c-bus at 0x340 {
@@ -167,7 +181,7 @@
compatible = "aspeed,ast2400-i2c-bus";
bus = <8>;
clock-frequency = <100000>;
- status = "disabled";
+ status = "okay";
};
i2c9: i2c-bus at 0x380 {
--
2.6.0
More information about the openbmc
mailing list