mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 09:54:35 +00:00
sandbox: Fix pinmux warnings with non-test devicetrees
The sandbox pinmux driver is used in the non-test devicetree as well as
the test one. I didn't realize this when I modified the driver for
tests, and so broke the regular use case (which only resulted in
warnings). First, making the pinmux and the UART group available
pre-relocation to avoid ENODEV errors. Then, convert the pin groups and
functions to the new style, adding onewire group as well.
Fixes: 7f0f1806e3
("test: pinmux: Add test for pin muxing")
Closes: https://source.denx.de/u-boot/u-boot/-/issues/2
Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
101d9a6a53
commit
274e0c7299
3 changed files with 12 additions and 7 deletions
|
@ -231,23 +231,25 @@
|
|||
};
|
||||
|
||||
pinctrl {
|
||||
bootph-some-ram;
|
||||
compatible = "sandbox,pinctrl";
|
||||
status = "okay";
|
||||
|
||||
pinctrl_i2c0: i2c0 {
|
||||
groups = "i2c";
|
||||
function = "i2c";
|
||||
groups = "I2C_UART";
|
||||
function = "I2C";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_serial0: uart0 {
|
||||
groups = "serial_a";
|
||||
function = "serial";
|
||||
bootph-some-ram;
|
||||
groups = "I2C_UART";
|
||||
function = "UART";
|
||||
};
|
||||
|
||||
pinctrl_onewire0: onewire0 {
|
||||
groups = "w1";
|
||||
function = "w1";
|
||||
pins = "P8";
|
||||
function = "ONEWIRE";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -42,7 +42,7 @@ static const char * const sandbox_pins_muxing[][2] = {
|
|||
{ "GPIO0", "SPI CS0" },
|
||||
{ "GPIO1", "SPI CS1" },
|
||||
{ "GPIO2", "PWM0" },
|
||||
{ "GPIO3", "PWM1" },
|
||||
{ "GPIO3", "ONEWIRE" },
|
||||
};
|
||||
|
||||
#define SANDBOX_GROUP_I2C_UART 0
|
||||
|
@ -63,6 +63,7 @@ static const char * const sandbox_functions[] = {
|
|||
FUNC(GPIO),
|
||||
FUNC(CS),
|
||||
FUNC(PWM),
|
||||
FUNC(ONEWIRE),
|
||||
#undef FUNC
|
||||
};
|
||||
|
||||
|
@ -166,6 +167,7 @@ static int sandbox_pinmux_set(struct udevice *dev, unsigned pin_selector,
|
|||
break;
|
||||
case SANDBOX_PINMUX_CS:
|
||||
case SANDBOX_PINMUX_PWM:
|
||||
case SANDBOX_PINMUX_ONEWIRE:
|
||||
mux = BIT(pin_selector);
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#define SANDBOX_PINMUX_GPIO 4
|
||||
#define SANDBOX_PINMUX_CS 5
|
||||
#define SANDBOX_PINMUX_PWM 6
|
||||
#define SANDBOX_PINMUX_ONEWIRE 7
|
||||
|
||||
#define SANDBOX_PINMUX(pin, func) ((func) << 16 | (pin))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue