<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/include, branch dev-4.7</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.7</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2017-05-24T05:06:26+00:00</updated>
<entry>
<title>drivers: fsi: Fix SBE/OCC for 2 socket properly.</title>
<updated>2017-05-24T05:06:26+00:00</updated>
<author>
<name>Edward A. James</name>
<email>eajames@us.ibm.com</email>
</author>
<published>2017-05-19T21:09:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=fb92f38f80699b2089c3467b1344ac107f797d3c'/>
<id>urn:sha1:fb92f38f80699b2089c3467b1344ac107f797d3c</id>
<content type='text'>
Also update dts.

Signed-off-by: Edward A. James &lt;eajames@us.ibm.com&gt;
Signed-off-by: Patrick Williams &lt;patrick@stwcx.xyz&gt;
Reviewed-by: Christopher Bostic &lt;cbostic@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>drivers: fsi: sbefifo: Add in-kernel API</title>
<updated>2017-05-02T15:06:34+00:00</updated>
<author>
<name>Edward A. James</name>
<email>eajames@us.ibm.com</email>
</author>
<published>2017-04-18T21:07:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=77e67dd62997bfa851a391060a56cd78bf8862d1'/>
<id>urn:sha1:77e67dd62997bfa851a391060a56cd78bf8862d1</id>
<content type='text'>
Add exported functions to the SBEFIFO driver to open/write/read/close
from within the kernel.

Signed-off-by: Edward A. James &lt;eajames@us.ibm.com&gt;
Signed-off-by: Patrick Williams &lt;patrick@stwcx.xyz&gt;
</content>
</entry>
<entry>
<title>serial: 8250: Add flag so drivers can avoid probe</title>
<updated>2017-03-27T22:51:02+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2017-03-24T03:20:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=e9ea27cca39262bebfbe207a345ed701a35b986b'/>
<id>urn:sha1:e9ea27cca39262bebfbe207a345ed701a35b986b</id>
<content type='text'>
The probing of THRE irq behaviour assumes the other end will be reading
bytes out of the buffer in order to probe the port at driver init. In
some cases the other end cannot be relied upon to read these bytes, so
provide a flag for them to skip this step.

Bit 16 was chosen as the flags are a int and the top bits are taken.

Acked-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>drivers: fsi: i2c: add driver file operations and bus locking</title>
<updated>2017-02-03T00:21:44+00:00</updated>
<author>
<name>Edward A. James</name>
<email>eajames@us.ibm.com</email>
</author>
<published>2017-02-02T23:26:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=2060a76b17832bbf15334c0092cb3345ce8574f5'/>
<id>urn:sha1:2060a76b17832bbf15334c0092cb3345ce8574f5</id>
<content type='text'>
Signed-off-by: Edward A. James &lt;eajames@us.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>drivers/fsi: Add slave interrupt polling</title>
<updated>2017-02-03T00:15:35+00:00</updated>
<author>
<name>Christopher Bostic</name>
<email>cbostic@linux.vnet.ibm.com</email>
</author>
<published>2017-02-02T23:26:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=3157fedd5acdf9ce9f44beb1e5dfbbef3cff9bf3'/>
<id>urn:sha1:3157fedd5acdf9ce9f44beb1e5dfbbef3cff9bf3</id>
<content type='text'>
Scan slaves present for asserting interrupt signals in the si1s
register and call a registered client's interrupt handler as
appropriate.

Signed-off-by: Eddie James &lt;eajames@us.ibm.com&gt;
Signed-off-by: Christopher Bostic &lt;cbostic@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>uapi: aspeed-lpc-ctrl: Update userspace structure</title>
<updated>2017-01-16T23:46:29+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2017-01-16T23:38:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=26d51e63ed7433662b0137dff63b42d6969417d5'/>
<id>urn:sha1:26d51e63ed7433662b0137dff63b42d6969417d5</id>
<content type='text'>
Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt; wrote:
 &gt; The implicit padding is a matter of ABI more than C standard, we
 &gt; already rely on this in a bazillion of places but it *has* bitten us in
 &gt; a few corner cases (mostly when u64 is involved due to ABI differences
 &gt; between 32-bit and 64-bit), so explicit padding is indeed preferred.
 &gt;
 &gt; Cyril can you respin with:
 &gt;
 &gt;         struct aspeed_lpc_ctrl_mapping {
 &gt;                 __u8    window_type;
 &gt;                 __u8    window_id;
 &gt;                 __u16   pad;
 &gt;                 __u32   addr;
 &gt;                 __u32   offset;
 &gt;                 __u32   size;
 &gt;
 &gt; I prefer that, it makes more sense to keep the window type/id at the
 &gt; top. Alternatively call "pad", "flags", and describe that clients must
 &gt; zero it, that way we can use it for future extensions of we ever have
 &gt; to.

We have gone with the flags option.

Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>drivers/misc: Add Aspeed LPC control driver</title>
<updated>2017-01-16T00:19:03+00:00</updated>
<author>
<name>Cyril Bur</name>
<email>cyrilbur@gmail.com</email>
</author>
<published>2017-01-15T23:09:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5ff1583c7ca2b413689288ff56ad51ed03747b30'/>
<id>urn:sha1:5ff1583c7ca2b413689288ff56ad51ed03747b30</id>
<content type='text'>
In order to manage server systems, there is typically another processor
known as a BMC (Baseboard Management Controller) which is responsible
for powering the server and other various elements, sometimes fans,
often the system flash.

The Aspeed BMC family which is what is used on OpenPOWER machines and a
number of x86 as well is typically connected to the host via an LPC
(Low Pin Count) bus (among others).

The LPC bus is an ISA bus on steroids. It's generally used by the
BMC chip to provide the host with access to the system flash (via MEM/FW
cycles) that contains the BIOS or other host firmware along with a
number of SuperIO-style IOs (via IO space) such as UARTs, IPMI
controllers.

On the BMC chip side, this is all configured via a bunch of registers
whose content is related to a given policy of what devices are exposed
at a per system level, which is system/vendor specific, so we don't want
to bolt that into the BMC kernel. This started with a need to provide
something nicer than /dev/mem for user space to configure these things.

One important aspect of the configuration is how the MEM/FW space is
exposed to the host (ie, the x86 or POWER). Some registers in that
bridge can define a window remapping all or portion of the LPC MEM/FW
space to a portion of the BMC internal bus, with no specific limits
imposed in HW.

I think it makes sense to ensure that this window is configured by a
kernel driver that can apply some serious sanity checks on what it is
configured to map.

In practice, user space wants to control this by flipping the mapping
between essentially two types of portions of the BMC address space:

   - The flash space. This is a region of the BMC MMIO space that
more/less directly maps the system flash (at least for reads, writes
are somewhat more complicated).

   - One (or more) reserved area(s) of the BMC physical memory.

The latter is needed for a number of things, such as avoiding letting
the host manipulate the innards of the BMC flash controller via some
evil backdoor, we want to do flash updates by routing the window to a
portion of memory (under control of a mailbox protocol via some
separate set of registers) which the host can use to write new data in
bulk and then request the BMC to flash it. There are other uses, such
as allowing the host to boot from an in-memory flash image rather than
the one in flash (very handy for continuous integration and test, the
BMC can just download new images).

It is important to note that due to the way the ASpeed chip lets the
kernel configure the mapping between host LPC addresses and BMC ram
addresses the offset within the window must be a multiple of size.
Not doing so will fragment the accessible space rather than simply
moving 'zero' upwards. This is caused by the nature of HICR8 being a
mask and the way host LPC addresses are translated.

Signed-off-by: Cyril Bur &lt;cyrilbur@gmail.com&gt;
[joel: Apply v3 from http://patchwork.ozlabs.org/patch/715545/ with
small fixes]
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>gpio: dt-bindings: Fix typo in two-letter ports</title>
<updated>2017-01-13T08:44:55+00:00</updated>
<author>
<name>Xo Wang</name>
<email>xow@google.com</email>
</author>
<published>2017-01-11T00:48:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=a5dbf8a27bdcbda7af6b69cb080b904d92ead905'/>
<id>urn:sha1:a5dbf8a27bdcbda7af6b69cb080b904d92ead905</id>
<content type='text'>
Add missing port AC.

Signed-off-by: Xo Wang &lt;xow@google.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>drivers/fsi: Add client driver register utilities</title>
<updated>2016-12-08T10:41:36+00:00</updated>
<author>
<name>Chris Bostic</name>
<email>cbostic@us.ibm.com</email>
</author>
<published>2016-11-21T01:31:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=29554cb3056ffe92b8c1a4c8dc495fea653993b9'/>
<id>urn:sha1:29554cb3056ffe92b8c1a4c8dc495fea653993b9</id>
<content type='text'>
Add driver_register and driver_unregister wrappers for FSI.

Signed-off-by: Chris Bostic &lt;cbostic@us.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>drivers/fsi: Add master unscan</title>
<updated>2016-12-08T10:40:24+00:00</updated>
<author>
<name>Chris Bostic</name>
<email>cbostic@us.ibm.com</email>
</author>
<published>2016-12-07T00:14:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=802bdfdef47146ea489d5f58e373e6bb7a738857'/>
<id>urn:sha1:802bdfdef47146ea489d5f58e373e6bb7a738857</id>
<content type='text'>
Allow a master to undo a previous scan.  Should a master scan a bus
twice it will need to ensure it doesn't double register any
previously detected device.

Signed-off-by: Chris Bostic &lt;cbostic@us.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
</feed>
