<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/drivers/pinctrl/aspeed, branch dev-5.3</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-5.3</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-5.3'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2019-10-22T22:58:23+00:00</updated>
<entry>
<title>pinctrl: aspeed: Improve debug output</title>
<updated>2019-10-22T22:58:23+00:00</updated>
<author>
<name>Andrew Jeffery</name>
<email>andrew@aj.id.au</email>
</author>
<published>2019-10-22T04:47:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=b172fa10db70d01b3f9626209decd8b10e6aafd0'/>
<id>urn:sha1:b172fa10db70d01b3f9626209decd8b10e6aafd0</id>
<content type='text'>
We need to iterate over each pin in a group for a function and
disable higher priority mux configurations on the pin before finally
muxing the relevant function's signal. With the current debug output it
is hard to track what register output is relevant to which operation, so
break up the actions in the debug output by providing some more context.

Before:

    [    5.446656] aspeed-g6-pinctrl 1e6e2000.syscon:pinctrl: request pin 37 (B26) for 1e780000.gpio:341
    [    5.447377] Want SCU414[0x00000020]=0x1, got 0x0 from 0x00000000
    [    5.447854] Want SCU4B4[0x00000020]=0x1, got 0x0 from 0x00000000
    [    5.448340] Want SCU4B4[0x00000020]=0x1, got 0x0 from 0x00000000

After:

    [    5.298053] Muxing pin 37 for GPIO
    [    5.298294] Disabling signal NRI4 for NRI4
    [    5.298593] Want SCU414[0x00000020]=0x1, got 0x0 from 0x00000000
    [    5.298983] Disabling signal RGMII4RXD1 for RGMII4
    [    5.299309] Want SCU4B4[0x00000020]=0x1, got 0x0 from 0x00000000
    [    5.299694] Disabling signal RMII4RXD1 for RMII4
    [    5.300014] Want SCU4B4[0x00000020]=0x1, got 0x0 from 0x00000000
    [    5.300396] Enabling signal GPIOE5 for GPIOE5
    [    5.300687] Muxed pin 37 as GPIOE5

OpenBMC-Staging-Count: 1
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>pinctrl: aspeed-g6: Fix LPC/eSPI mux configuration</title>
<updated>2019-10-22T22:58:23+00:00</updated>
<author>
<name>Andrew Jeffery</name>
<email>andrew@aj.id.au</email>
</author>
<published>2019-10-22T04:47:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=f5ee50fea8531bf3d9c73a40af101b949326c7c9'/>
<id>urn:sha1:f5ee50fea8531bf3d9c73a40af101b949326c7c9</id>
<content type='text'>
Early revisions of the AST2600 datasheet are conflicted about the state
of the LPC/eSPI strapping bit (SCU510[6]). Conversations with ASPEED
determined that the reference pinmux configuration tables were in error
and the SCU documentation contained the correct configuration. Update
the driver to reflect the state described in the SCU documentation.

OpenBMC-Staging-Count: 1
Fixes: 2eda1cdec49f ("pinctrl: aspeed: Add AST2600 pinmux support")
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>pinctrl: aspeed-g6: Make SIG_DESC_CLEAR() behave intuitively</title>
<updated>2019-10-22T22:58:22+00:00</updated>
<author>
<name>Andrew Jeffery</name>
<email>andrew@aj.id.au</email>
</author>
<published>2019-10-22T04:47:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=e243ae4df0d07625e11d4a586dadc4cda875243f'/>
<id>urn:sha1:e243ae4df0d07625e11d4a586dadc4cda875243f</id>
<content type='text'>
Signal descriptors can represent multi-bit bitfields and so have
explicit "enable" and "disable" states. However many descriptor
instances only describe a single bit, and so the SIG_DESC_SET() macro is
provides an abstraction for the single-bit cases: Its expansion
configures the "enable" state to set the bit and "disable" to clear.

SIG_DESC_CLEAR() was introduced to provide a similar single-bit
abstraction for for descriptors to clear the bit of interest. However
its behaviour was defined as the literal inverse of SIG_DESC_SET() - the
impact is the bit of interest is set in the disable path. This behaviour
isn't intuitive and doesn't align with how we want to use the macro in
practice, so make it clear the bit for both the enable and disable
paths.

OpenBMC-Staging-Count: 1
(cherry-picked from commit c136d4c71f755a189fe13a0cd4f3e8f538dda567)
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>pinctrl: aspeed-g6: Add AST2600 pinconf support</title>
<updated>2019-09-26T14:20:33+00:00</updated>
<author>
<name>Johnny Huang</name>
<email>johnny_huang@aspeedtech.com</email>
</author>
<published>2019-09-26T13:36:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=39eb014ca9c6cb7a7e8d9b62ae8065b80debe5de'/>
<id>urn:sha1:39eb014ca9c6cb7a7e8d9b62ae8065b80debe5de</id>
<content type='text'>
The AST2600 pinconf is a little different from previous generations of
ASPEED BMC SoCs in terms of architecture. The pull-down setting is
per-pin setting now, and drive-strength support 4 kind of value (e.g.
4ma, 8ma, 12ma, 16ma).

OpenBMC-Staging-Count: 1
Signed-off-by: Johnny Huang &lt;johnny_huang@aspeedtech.com&gt;
[AJ: Trim unused pinctrl register macros]
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>pinctrl: aspeed: Use masks to describe pinconf bitfields</title>
<updated>2019-09-26T14:20:30+00:00</updated>
<author>
<name>Johnny Huang</name>
<email>johnny_huang@aspeedtech.com</email>
</author>
<published>2019-09-26T13:36:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=31548a75cbc3f9a8f5f0ecfacb1bdc0ea147fdb4'/>
<id>urn:sha1:31548a75cbc3f9a8f5f0ecfacb1bdc0ea147fdb4</id>
<content type='text'>
Since some of the AST2600 pinconf setting are not just single bit, modified
aspeed_pin_config @bit to @mask and add @mask to aspeed_pin_config_map to
support configuring multiple bits.

OpenBMC-Staging-Count: 1
Signed-off-by: Johnny Huang &lt;johnny_huang@aspeedtech.com&gt;
[AJ: Tweak commit message]
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>pinctrl: aspeed: Move aspeed_pin_config_map to separate source file</title>
<updated>2019-09-26T14:20:27+00:00</updated>
<author>
<name>Johnny Huang</name>
<email>johnny_huang@aspeedtech.com</email>
</author>
<published>2019-09-26T13:36:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=6470c40b0228591d6e936ac0491eda84d1f1abd5'/>
<id>urn:sha1:6470c40b0228591d6e936ac0491eda84d1f1abd5</id>
<content type='text'>
The AST2600 pinconf differs from the 2400 and 2500, aspeed_pin_config_map
should define separately, and add @confmaps and @nconfmaps to
aspeed_pinctrl_data structure for that change.

OpenBMC-Staging-Count: 1
Signed-off-by: Johnny Huang &lt;johnny_huang@aspeedtech.com&gt;
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>pinctrl: aspeed: Add ASPEED_SB_PINCONF() helper</title>
<updated>2019-09-26T14:20:24+00:00</updated>
<author>
<name>Johnny Huang</name>
<email>johnny_huang@aspeedtech.com</email>
</author>
<published>2019-09-26T13:36:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=bd01fa53cbf4822b3f468f50f8f2342558dcdaad'/>
<id>urn:sha1:bd01fa53cbf4822b3f468f50f8f2342558dcdaad</id>
<content type='text'>
This helper macro is for declaring single bit (SB) mask pinconf,
and is used to prepare for modifying aspeed_pin_config
structure, the aspeed_pin_config structure @bit variable will be
modified to @mask.

This case is common in the AST2400/AST2500 which the mask is a single bit.

OpenBMC-Staging-Count: 1
Signed-off-by: Johnny Huang &lt;johnny_huang@aspeedtech.com&gt;
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>pinctrl: aspeed-g6: Add support for the AST2600 USB pinmux</title>
<updated>2019-09-26T14:20:20+00:00</updated>
<author>
<name>Johnny Huang</name>
<email>johnny_huang@aspeedtech.com</email>
</author>
<published>2019-09-26T13:36:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=a69216bf2878c33e50abb906aec662e11c283dbc'/>
<id>urn:sha1:a69216bf2878c33e50abb906aec662e11c283dbc</id>
<content type='text'>
AST2600 has two USB ports, A, B:

Port A supports 4 distinct modes:
	1. PCIe EHCI to Hub
	2. Hub to PHY
	3. BMC EHCI to PHY
	4. PCIe EHCI to PHY

Port B support 3 modes:
	1. USB1.1 HID controller
	2. USB2.0 Device controller
	3. BMC EHCI port2

Implement pinmux support by mapping each ports' functions onto a single
pin group for each port.

OpenBMC-Staging-Count: 1
Signed-off-by: Johnny Huang &lt;johnny_huang@aspeedtech.com&gt;
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>pinctrl: aspeed-g6: Add AST2600 I3C1 and I3C2 pinmux config</title>
<updated>2019-09-26T14:20:18+00:00</updated>
<author>
<name>Johnny Huang</name>
<email>johnny_huang@aspeedtech.com</email>
</author>
<published>2019-09-26T13:35:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=8ddc037ae720a554978d5f8cfbe664a7fcdf3109'/>
<id>urn:sha1:8ddc037ae720a554978d5f8cfbe664a7fcdf3109</id>
<content type='text'>
These pins only expose a single function but are not fixed-function as
their I3C capability can be disabled.

OpenBMC-Staging-Count: 1
Signed-off-by: Johnny Huang &lt;johnny_huang@aspeedtech.com&gt;
[AJ: Tweak commit message, sort pins list]
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>pinctrl: aspeed-g6: Rename SD3 to EMMC and rework pin groups</title>
<updated>2019-09-26T14:20:15+00:00</updated>
<author>
<name>Johnny Huang</name>
<email>johnny_huang@aspeedtech.com</email>
</author>
<published>2019-09-26T13:35:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=cb893c2988cb17a9c7f1fdd20a08015b027536c9'/>
<id>urn:sha1:cb893c2988cb17a9c7f1fdd20a08015b027536c9</id>
<content type='text'>
AST2600 EMMC support 3 types DAT bus sizes (1, 4 and 8-bit),
corresponding to 3 groups: EMMCG1, EMMCG4 and EMMCG8

OpenBMC-Staging-Count: 1
Signed-off-by: Johnny Huang &lt;johnny_huang@aspeedtech.com&gt;
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
</feed>
