8250: fix reg-io-width/reg-shift for raspi4b
This commit is contained in:
@@ -135,12 +135,14 @@ impl Config for Fdt8250Config {
|
||||
|
||||
impl Fdt8250Config {
|
||||
fn from_device_tree(node: &Arc<Node>, context: &mut ProbeContext) -> Option<(Self, Vendor)> {
|
||||
let vendor = if node.is_compatible("snps,dw-apb-uart") {
|
||||
Vendor::DwApbUart
|
||||
let (vendor, reg_io_width, reg_shift) = if node.is_compatible("snps,dw-apb-uart") {
|
||||
(Vendor::DwApbUart, 1, 0)
|
||||
} else if node.is_compatible("ns16550a") {
|
||||
Vendor::Generic16550
|
||||
(Vendor::Generic16550, 1, 0)
|
||||
} else if node.is_compatible("brcm,bcm2835-aux-uart") {
|
||||
(Vendor::Generic8250, 4, 2)
|
||||
} else {
|
||||
Vendor::Generic8250
|
||||
(Vendor::Generic8250, 1, 0)
|
||||
};
|
||||
|
||||
let base = node.map_base(context, 0)?;
|
||||
@@ -155,9 +157,9 @@ impl Fdt8250Config {
|
||||
clk_baud = node.clock(0);
|
||||
}
|
||||
|
||||
let reg_io_width = node.prop_usize("reg-io-width").unwrap_or(4);
|
||||
let reg_io_width = node.prop_usize("reg-io-width").unwrap_or(reg_io_width);
|
||||
let reg_shift = node.prop_usize("reg-shift").unwrap_or(reg_shift);
|
||||
let reg_offset = node.prop_usize("reg-offset").unwrap_or(0);
|
||||
let reg_shift = node.prop_usize("reg-shift").unwrap_or(2);
|
||||
|
||||
Some((
|
||||
Self {
|
||||
|
||||
Reference in New Issue
Block a user